2011-10-06 194 views
5

我遇到了贝​​宝定期付款的问题。 CreateRecurringPaymentsProfile()返回创建的配置文件(ProfileID)的ID。同时,我在IPN网址上收到以下确认:贝宝定期付款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 - ... 

很明显,ProfileID和recurring_payment_id是相等的。在此之后,一个关于支付确认被接收:

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个值:简档在CreateRecurringPaymentsProfile的回报(); recurring_payment_profile_created中的recurring_payment_id; recurring_payment中的recurring_payment_id - 应该相同。 (因为似乎没有其他方法可以正确识别此特定订阅的付款) 此外,recurring_payment(在IPN上)由Paypal多次发送,每次recurring_payment_id都不同。

我应该使用recurring_payment_id来确定特定订阅的付款还是有另一种正确的方法来识别它?

回答

8

配置文件ID = recurring_payment_id。如果recurring_payment_id不同,我们正在讨论不同的ProfileID(换句话说:不同的定期付款配置文件)。

+0

谢谢,但这正是我谈论的问题。我已经清理了所有以前的交易/配置文件,并且只有一个配置文件(在PayPal的沙箱中) - 我仍然得到不同的ProfileID和recurring_payment_id。 –

+0

我知道这是一个旧的线程,但我只是问自己同样的问题,所以我刚刚测试了它,并且我得到了两次相同的ID。在尝试之前,我还清理了所有配置文件。 CreateRecurringPaymentsProfile API调用返回给我[PROFILEID] => I-L9VFD2G8KW5L,并且txn_type“recurring_payment_profile_created”的IPN消息显示“recurring_payment_id”:“I-L9VFD2G8KW5L”,“recurring_payment”IPN也是如此,所以我认为您应该很好IPN消息中的内容。也许这是旧API版本的问题。 – MrUpsidown

+0

也处理相同的问题,所以我想我会补充:机会是你获得不同价值的原因recurring_payment_id的是因为你在沙箱中设置了多个订阅。您在沙箱中开始的每个单独的定期付款都将携带一个不同的recurring_payment_id(和ProfileID),因此请确保您牢记在心:) – jball037