2011-10-06 25 views
5

Ben Paypal tekrarlayan ödemeleri ile ilgili bir sorun karşılaştı. CreateRecurringPaymentsProfile(), oluşturulan profilin kimliğini döndürür (ProfileID). Paypal yinelenen ödemeler IPN onay

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 - ... 

Açıkçası, ProfileID ve recurring_payment_id eşittir: Aynı zamanda, ben IPN url aşağıdaki onay alırsınız. Bundan sonra, ödeme ile ilgili bir onay alınır:

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 - ... 

Bu 3 değerleri: ProfileID CreateRecurringPaymentsProfile karşılığında(); recurring_payment_profile_created içinde recurring_payment_id; yinelenen_payment içinde recurring_payment_id - aynı olmalıdır. (Bu özel abonelik için ödemenin doğru bir şekilde tanımlanmasının başka bir yolu olmadığı anlaşılıyor) Ayrıca, tekrarlayan paypal (IPN'de) Paypal tarafından çok kez gönderiliyor ve her seferinde tekrarlanan_payment_id farklı.

ben yolu onu tanımlamak için belirli abonelik ödemenizi tespit etmek recurring_payment_id kullanmak veya düzgün birer tane var mıdır?

cevap

8

Profili kimlik = recurring_payment_id. Yinelenen_payment_id farklıysa, farklı bir ProfileID'den bahsediyoruz (başka bir deyişle: farklı bir yinelenen ödeme profili).

+0

Sağol ama bu tam Bahsetmek konudur. Önceki tüm işlemleri/profilleri ve tek bir profille (paypalın sandbox'ında) temizledim - hala farklı ProfileID ve recurring_payment_id olsun. –

+0

Bunun eski bir iş parçacığı olduğunu biliyorum ama sadece kendime aynı soruyu sordum, bu yüzden test ettim ve aynı kimliği iki kez aldım. Ayrıca denemeden önce tüm profilleri temizledim. CreateRecurringPaymentsProfile API çağrısı beni [PROFILEID] => I-L9VFD2G8KW5L ile döndürür ve txn_type "recurring_payment_profile_created" IPN iletisi "recurring_payment_id" gösterir: "I-L9VFD2G8KW5L" ve böylelikle "recurring_payment" IPN yapar. IPN mesajında ​​ne var. Belki bu eski API sürümleriyle ilgili bir sorundu. – MrUpsidown

+0

Aynı konuyla da ilgileniyordum, bu yüzden ekleyeceğimi düşündüm: Değişiklikler farklı recurring_payment_id'ler için farklı değerler almanızın nedenidir çünkü sandbox'unuzda çoklu abonelikler kuruyorsunuz. Kum havuzunda başlattığınız her bir ayrı ödeme, farklı bir recurring_payment_id (ve ProfileID) taşıyacak, bu yüzden aklınızda bulundurduğunuzdan emin olun :) – jball037

İlgili konular