2011-10-06 9 views
5

Tôi đã gặp sự cố với thanh toán định kỳ Paypal. CreateRecurringPaymentsProfile() trả về ID của hồ sơ được tạo (ProfileID). Đồng thời, tôi nhận được xác nhận sau về địa chỉ IPN:Thanh toán định kỳ Paypal Xác nhận IPN

payment_cycle - Daily 
txn_type - recurring_payment_profile_ 
created 
last_name - User 
next_payment_date - 03:00:00 Oct 06, 2011 PDT 
residence_country - US 
initial_payment_amount - 0.00 
currency_code - USD 
time_created - 23:21:02 Oct 05, 2011 PDT 
verify_sign - ... 
period_type - Regular 
payer_status - verified 
test_ipn - 1 
tax - 0.00 
payer_email - ... 
first_name - Test 
receiver_email - ... 
payer_id - ... 
product_type - 1 
shipping - 0.00 
amount_per_cycle - 20.00 
profile_status - Active 
charset - windows-1252 
notify_version - 3.4 
amount - 20.00 
outstanding_balance - 0.00 
---------->recurring_payment_id - I-6EFKVB5FXRGH 
product_name - Ultimate Account 
ipn_track_id - ... 

Rõ ràng, ProfileID và recurring_payment_id đều bằng nhau. Sau này, xác nhận về thanh toán được nhận:

mc_gross - 20.00 
outstanding_balance - 0.00 
period_type - Regular 
next_payment_date - 03:00:00 Oct 07, 2011 PDT 
protection_eligibility - Ineligible 
payment_cycle - Daily 
tax - 0.00 
payer_id - WR942TMLKNKZE 
payment_date - 04:38:37 Oct 06, 2011 PDT 
payment_status - Completed 
product_name - Ultimate Account 
charset - windows-1252 
---------->recurring_payment_id - I-5S42CVRD6HPC 
first_name - Test 
mc_fee - 0.88 
notify_version - 3.4 
amount_per_cycle - 20.00 
payer_status - verified 
currency_code - USD 
business - ... 
verify_sign - ... 
payer_email - ... 
initial_payment_amount - 0.00 
profile_status - Active 
amount - 20.00 
txn_id - 2XB154738E303273C 
payment_type - instant 
last_name - User 
receiver_email - ... 
payment_fee - 0.88 
receiver_id - ... 
txn_type - recurring_payment 
mc_currency - USD 
residence_country - US 
test_ipn - 1 
transaction_subject - 
payment_gross - 20.00 
shipping - 0.00 
product_type - 1 
time_created - 03:32:45 Sep 29, 2011 PDT 
ipn_track_id - ... 

3 giá trị sau: ProfileID trả về CreateRecurringPaymentsProfile(); recurring_payment_id trong recurring_payment_profile_created; recurring_payment_id trong recurring_payment - phải giống nhau. (có vẻ như không có cách nào khác để xác định đúng thanh toán cho đăng ký cụ thể này) Ngoài ra, recurring_payment (trên IPN) đang được gửi qua Paypal nhiều lần và mỗi lần recurring_payment_id khác nhau.

Tôi có nên sử dụng recurring_payment_id để xác định thanh toán cho đăng ký cụ thể hoặc có cách nào khác để xác định nó đúng không?

Trả lời

8

ID hồ sơ = recurring_payment_id. Nếu recurring_payment_id khác nhau, chúng tôi đang nói về một ProfileID khác (nói cách khác: một hồ sơ thanh toán định kỳ khác).

+0

Xin cảm ơn, nhưng đây chính là vấn đề tôi nói đến. Tôi đã làm sạch tất cả các giao dịch/hồ sơ trước đó và chỉ với một hồ sơ (trong sandbox của paypal) - Tôi vẫn nhận được ProfileID khác và recurring_payment_id. –

+0

Tôi biết đây là một chủ đề cũ nhưng tôi chỉ hỏi bản thân mình cùng một câu hỏi vì vậy tôi vừa thử nghiệm nó và tôi nhận được cùng một ID hai lần. Tôi cũng đã làm sạch tất cả hồ sơ trước khi thử. Cuộc gọi API CreateRecurringPaymentsProfile trả về tôi bằng [PROFILEID] => I-L9VFD2G8KW5L và thông báo IPN của txn_type "recurring_payment_profile_created" hiển thị "recurring_payment_id": "I-L9VFD2G8KW5L" và do đó, IP "recurring_payment" nên tôi nghĩ bạn nên ổn những gì có trong tin nhắn IPN. Có thể đây là vấn đề với các phiên bản API cũ hơn. – MrUpsidown

+0

Cũng đang xử lý vấn đề tương tự vì vậy tôi nghĩ rằng tôi sẽ thêm: Rất có thể lý do bạn nhận được các giá trị khác nhau cho các khoản thanh toán khác nhau là do bạn thiết lập nhiều đăng ký trong hộp cát của mình. Mỗi lần thanh toán định kỳ riêng biệt mà bạn bắt đầu trong sandbox sẽ mang theo một khoản thanh toán định kỳ khác nhau (và ProfileID), vì vậy, hãy đảm bảo rằng bạn đang ghi nhớ điều đó :) – jball037