2012-05-08 35 views
5

Am gặp rất nhiều khó khăn khi nhận quanh đầu tôi thứ thanh toán paypal này ...PayPal đăng ký PDT/IPN - XIN

Làm thế nào tôi có thể xác nhận rằng người dùng đã thành công đăng ký thuê bao của tôi?

Tôi biết 0 về IPN nhưng ví dụ: Nếu người dùng đăng nhập vào trang web của tôi bằng [email protected] nhưng sử dụng tài khoản paypal [email protected] để thanh toán thì cách tôi kết hợp với người dùng.

Tôi đọc rằng PDT không gửi ID giao dịch (tx) cho các khoản thanh toán định kỳ (đăng ký) là đúng?

Chỉ cần trợ giúp với tất cả ... trung thực và dễ dàng :)

Cảm ơn.

Trả lời

3

Đôi khi rất khó hiểu Paypal và tất cả tài liệu của họ nhưng đối với bất kỳ loại đăng ký nào tôi sẽ giới thiệu Paypal IPN. Bạn đặt URL IPN trong tài khoản paypal của mình, ví dụ: http://www.domain.com/ipn.php. Sau đó, bạn tạo ra một nút thuê bao trong tài khoản paypal, nơi bạn có thể thiết lập giá cả, giá định kỳ, vv

Thông tin thêm về Paypal IPN bạn có thể đọc ở đây: https://www.paypal.com/ipn

Khi tạo nút Paypal bạn cũng có thể thêm một số lĩnh vực tùy chỉnh có thể giúp bạn xác định khách hàng thực sự thanh toán. Vì vậy, ví dụ bạn có một cơ sở dữ liệu của người dùng và có người dùng với userid = 100, username = Nickname và [email protected] Bây giờ bạn có thể quyết định thêm userid = 100 làm trường tùy chỉnh và thêm nút này vào nút paypal. Ví dụ CUSTOM = 100.

ipn.php trong trường hợp này là tập lệnh xử lý tất cả logic. Khi người dùng thanh toán, Paypal sẽ gửi bất kỳ trạng thái nào đến http://www.domain.com/ipn.php (bạn đặt tài khoản này trong tài khoản paypal của mình là URL IPN). Vì vậy, ipn.php trong trường hợp này cần phải kiểm tra xem thanh toán đã hoàn tất chưa và trạng thái là ok. Sau đó lấy một trường CUSTOM ($ _POST ['custom']) trong trường hợp này là 100 (userid). Và sau đó cập nhật cơ sở dữ liệu của bạn với người dùng và bằng cách nào đó đánh dấu rằng người dùng này đã trả tiền tất nhiên nếu trạng thái là Đã hoàn tất.

Hy vọng điều này sẽ giúp ích một chút. Nhưng trong trường hợp này nó không thực sự quan trọng mà từ đó người dùng tài khoản paypal trả tiền và được đăng ký trong cơ sở dữ liệu của bạn. Tất cả những gì bạn cần là bạn bằng cách nào đó liên kết nó với nhau. Trong trường hợp này với userid hoặc một cái gì đó như thế.

+0

trong trường hợp kiểm tra khi sử dụng hộp cát, trả về URL và tài khoản chúng tôi nên sử dụng? thanks –

+0

Yeah thats một nỗi đau :) Bạn đăng ký một tài khoản sandbox mới bằng cách sử dụng địa chỉ email REAL của bạn (https://developer.paypal.com/).Sau đó bạn đăng nhập bằng email và mật khẩu của bạn vào tài khoản SANDBOX paypal và sau đó bạn có thể tạo các tài khoản TEST khác nhau ở đó. Bạn có thể tạo một tài khoản doanh nghiệp ví dụ và 1 hoặc nhiều tài khoản cá nhân. Hãy nhớ rằng đây là tài khoản TEST chỉ nhưng hoạt động như tài khoản REAL thực sự. Khi bạn đã đăng nhập vào hộp cát paypal, hãy nhấp vào tài khoản doanh nghiệp mới được tạo và đặt URL IPN như trong tài khoản Paypal thực. Bạn cũng có thể tạo các nút thanh toán ở đó. – StudioArena

+0

Sau đó, tạo ít nhất một tài khoản người dùng TEST để bạn có thể thử nếu thanh toán thực sự hoạt động. Khi thử nghiệm, bạn chỉ cần thay đổi mã nguồn HTML của nút từ business = YOUR_REAL_EMAIL_or_YOUR_REAL_BUSINESS_CODE thành địa chỉ email hoặc mã doanh nghiệp của tài khoản TEST doanh nghiệp của bạn (từ hộp cát paypal). Cũng trong tập tin IPN của bạn (ipn.php - mà bạn đặt nó là URL IPN), bạn cần phải thay đổi URL nơi bạn đăng dữ liệu trở lại paypal. Vì vậy, thay vì URL Paypal thực bạn sử dụng url hộp cát. Kiểm tra ở đây cho PHP mẫu: https://cms.paypal.com/cms_content/US/en_US/files/developer/IPN_PHP_41.txt – StudioArena

2

Nếu bạn muốn thực hiện Paypal IPN và khách hàng của bạn không sử dụng cùng một email từ kinh nghiệm của tôi, bạn có thể sử dụng một hình thức để xác thực người dùng

  • người dùng đăng nhập vào trang web của bạn với [email protected]
  • dùng nhấp vào mục bạn và trả tiền với [email protected]
  • sau khi ông trả tiền cho bạn có thể chuyển hướng anh đến một hình thức mà họ có thể hợp nhất tài khoản Paypal với tài khoản trang web
  • mỗi khi người dùng trả tiền sau đó IPN của bạn sẽ được được bao gồm bởi thông tin ông đã cung cấp
  • bạn nên lưu thông tin thanh toán của mình để sử dụng sau này.