我正在使用Paypal Pro实施定期付款API。我的问题是,当付款失败,我收到IPN时,它的txn_type是什么?我所期待的所有IPN都是什么?所以我可以在我的IPNhandler课程中处理。
答案 0 :(得分:9)
使用定期付款时,您可以获得txn_type:
recurring_payment_profile_created
recurring_payment_profile_cancel
recurring_payment_profile_modify
recurring_payment
recurring_payment_skipped
recurring_payment_failed
recurring_payment_suspended_due_to_max_failed_payment
在大多数情况下,如果付款失败,您将收到跳过的通知。我很少看到实际失败的通知。我从来没有得到任何答案,为什么会这样。
以下是一些样本。
Array
(
[payment_cycle] => Monthly
[txn_type] => recurring_payment_skipped
[last_name] => Testerson
[next_payment_date] => 03:00:00 Oct 24, 2012 PDT
[residence_country] => US
[initial_payment_amount] => 0.00
[rp_invoice_id] => 3250
[currency_code] => USD
[time_created] => 15:42:49 Sep 19, 2012 PDT
[verify_sign] => AH1WkYze3JQ1xNtDm31SsDJxLeGrAxPpeVKBrMHLFmRVOWXnZep95xOm
[period_type] => Regular
[payer_status] => unverified
[test_ipn] => 1
[tax] => 0.00
[payer_email] => test@hey.com
[first_name] => Tester
[receiver_email] => usb_1329725429_biz@angelleye.com
[payer_id] => TP7CXHP6TVNSS
[product_type] => 1
[shipping] => 0.00
[amount_per_cycle] => 1.95
[profile_status] => Active
[charset] => windows-1252
[notify_version] => 3.7
[amount] => 1.95
[outstanding_balance] => 0.00
[recurring_payment_id] => I-0SAH6FDN3JJA
[product_name] => USBSwiper Monthly Subscription
[ipn_track_id] => f2380796ce7c
)
Array
(
[payment_cycle] => Monthly
[txn_type] => recurring_payment_failed
[last_name] => Garcia
[next_payment_date] => 02:00:00 Feb 12, 2012 PST
[residence_country] => US
[initial_payment_amount] => 0.00
[rp_invoice_id] => 939
[currency_code] => USD
[time_created] => 16:29:33 Jan 29, 2010 PST
[verify_sign] => A5rGTRcXhg6p48uIMYaPQKo7dsKqAO89FRXvCmuAfV5EYGWkAAD0vbPc
[period_type] => Regular
[payer_status] => unverified
[tax] => 0.00
[payer_email] => testpayer@hey.com
[first_name] => Maria
[receiver_email] => testreceiver@hey.com
[payer_id] => EJ8JBQ63VHECL
[product_type] => 1
[shipping] => 0.00
[amount_per_cycle] => 4.95
[profile_status] => Active
[charset] => windows-1252
[notify_version] => 3.4
[amount] => 4.95
[outstanding_balance] => 14.85
[recurring_payment_id] => I-S3APFHH0KFJ2
[product_name] => USBSwiper Monthly Subscription
[ipn_track_id] => Gi2zp.DfhsYitm8Kd0Dn3g
)
Array
(
[payment_cycle] => Monthly
[txn_type] => recurring_payment_suspended_due_to_max_failed_payment
[last_name] => Nom_3
[next_payment_date] => N/A
[residence_country] => CA
[initial_payment_amount] => 0.00
[rp_invoice_id] => 3245
[currency_code] => USD
[time_created] => 10:53:25 Mar 14, 2012 PDT
[verify_sign] => AptDZCkTZINE6OhArrkjyIYauY8GAGO.XoBdyMW5t7SoHPSC8DOFS9kB
[period_type] => Regular
[payer_status] => unverified
[test_ipn] => 1
[tax] => 0.00
[payer_email] => sandbox@hey.com
[first_name] => Prenom_3
[receiver_email] => usb_1329725429_biz@angelleye.com
[payer_id] => TP7CXHP6TVNSS
[product_type] => 1
[shipping] => 0.00
[amount_per_cycle] => 1.95
[profile_status] => Suspended
[charset] => windows-1252
[notify_version] => 3.4
[amount] => 1.95
[outstanding_balance] => 1.95
[recurring_payment_id] => I-CEBHH0K0V7T1
[product_name] => USBSwiper Monthly Subscription
[ipn_track_id] => d09d07fdd833
)
Array
(
[mc_gross] => 1.95
[period_type] => Regular
[outstanding_balance] => 0.00
[next_payment_date] => 03:00:00 Aug 18, 2013 PDT
[protection_eligibility] => Ineligible
[payment_cycle] => Monthly
[address_status] => confirmed
[tax] => 0.00
[payer_id] => E7BTGVXBFSUAU
[address_street] => 1 Main St
[payment_date] => 05:00:34 Jul 18, 2013 PDT
[payment_status] => Completed
[product_name] => USBSwiper Monthly Subscription
[charset] => windows-1252
[rp_invoice_id] => 3275
[recurring_payment_id] => I-R0KGNCTUYAVW
[address_zip] => 95131
[first_name] => Drew
[mc_fee] => 0.15
[address_country_code] => US
[address_name] => Drew Angell's Test Store
[notify_version] => 3.7
[amount_per_cycle] => 1.95
[payer_status] => verified
[currency_code] => USD
[business] => usb_1329725429_biz@angelleye.com
[address_country] => United States
[address_city] => San Jose
[verify_sign] => AOX9jItnq2qBtXeyCB5nhWVdWyqEAScu5FToCodROuhjlKYjtDeAdlmL
[payer_email] => sandbo_1204199080_biz@angelleye.com
[initial_payment_amount] => 0.00
[profile_status] => Active
[amount] => 1.95
[txn_id] => 9PD943662S291292G
[payment_type] => instant
[payer_business_name] => Drew Angell's Test Store
[last_name] => Angell
[address_state] => CA
[receiver_email] => usb_1329725429_biz@angelleye.com
[payment_fee] => 0.15
[receiver_id] => C9TAVNJFATXCS
[txn_type] => recurring_payment
[mc_currency] => USD
[residence_country] => US
[test_ipn] => 1
[transaction_subject] => USBSwiper Monthly Subscription
[payment_gross] => 1.95
[shipping] => 0.00
[product_type] => 1
[time_created] => 15:10:22 Jun 18, 2013 PDT
[ipn_track_id] => 28067cf6ae8f
)
Array
(
[payment_cycle] => Monthly
[txn_type] => recurring_payment_profile_created
[last_name] => Angell
[next_payment_date] => 03:00:00 Jun 18, 2013 PDT
[residence_country] => US
[initial_payment_amount] => 0.00
[rp_invoice_id] => 3275
[currency_code] => USD
[time_created] => 15:10:22 Jun 18, 2013 PDT
[verify_sign] => ANrMRzzgbWP1I9ntjeVxAzQDTVjbATTckkxc4RtXKTYHoCoFDbklKPpd
[period_type] => Regular
[payer_status] => verified
[test_ipn] => 1
[tax] => 0.00
[payer_email] => sandbo_1204199080_biz@angelleye.com
[first_name] => Drew
[receiver_email] => usb_1329725429_biz@angelleye.com
[payer_id] => E7BTGVXBFSUAU
[product_type] => 1
[payer_business_name] => Drew Angell's Test Store
[shipping] => 0.00
[amount_per_cycle] => 1.95
[profile_status] => Active
[charset] => windows-1252
[notify_version] => 3.7
[amount] => 1.95
[outstanding_balance] => 0.00
[recurring_payment_id] => I-R0KGNCTUYAVW
[product_name] => USBSwiper Monthly Subscription
[ipn_track_id] => 1bf251e429b9c
)
答案 1 :(得分:0)
与Andrew相同,但扩展了跳过和失败的方式(来自我所见过的)。
recurring_payment_profile_created - 创建个人资料时。重要的是要注意recurring_payment_id,这是您取消/暂停/修改个人资料所需要的。
recurring_payment_profile_cancel - 取消个人资料时。
recurring_payment_profile_modify - 修改个人资料时。
recurring_payment - 当您收到定期付款时。
recurring_payment_skipped - 当PayPal未能收取付款时,将在5天后重试。
recurring_payment_failed - 当未设置MAXFAILEDPAYMENTS时,PayPal将尝试3次,如果全部三次失败,则这将是第3次IPN。
recurring_payment_suspended_due_to_max_failed_payment - 当设置了MAXFAILEDPAYMENTS时,当达到最大值时,这将是IPN而不是recurring_payment_failed。