paypal - 使用 IPN 模拟器发送 Paypal 定期付款命令

标签 paypal paypal-sandbox paypal-ipn recurring-billing

我正在处理定期付款(快速结帐)并且我有一个 IPN 监听器接收消息。

一切正常,我检查了几个命令、响应和验证。

但我无法使用定期付款测试 IPN,因为我在 IPN 模拟器的“交易类型”选择器中没有该选项:

IPN Simulator

如何接收 Recurring Payments IPN 命令?

最佳答案

不幸的是,IPN 模拟器不包括您所显示的定期付款。您需要设置真实的配置文件并在沙盒中测试它们,或者您可以设置自己的模拟器。

只需制作一个基本的 HTML 表单,并将操作设置为您的 IPN URL,然后将隐藏字段添加到表单中,其中包含您希望从任何给定 IPN 获得的名称/值。通过这种方式,您可以在浏览器中加载页面,直接发布并在屏幕上查看结果。这也可以帮助您解决错误。

请记住,以这种方式进行测试时,原始数据并非来自 PayPal,因此不会对其进行验证。您需要确保您的代码逻辑能够相应地处理该问题。

以下是来自定期付款的 IPN 的一些示例。

配置文件已创建

Array
(
    [payment_cycle] => Monthly
    [txn_type] => recurring_payment_profile_created
    [last_name] => Angell
    [next_payment_date] => 03:00:00 Sep 12, 2013 PDT
    [residence_country] => US
    [initial_payment_amount] => 0.00
    [currency_code] => USD
    [time_created] => 20:17:10 Sep 12, 2013 PDT
    [verify_sign] => ASsJ54wcfEJZVuwOMU8vBNHZb1TpAf7F4PMLvKL2uni1hb11jdOgdd2V
    [period_type] =>  Regular
    [payer_status] => verified
    [test_ipn] => 1
    [tax] => 0.00
    [payer_email] => sandbo_1204199080_biz@angelleye.com
    [first_name] => Drew
    [receiver_email] => sandbo_1215254764_biz@angelleye.com
    [payer_id] => E7BTGVXBFSUAU
    [product_type] => 1
    [payer_business_name] => Drew Angell's Test Store
    [shipping] => 0.00
    [amount_per_cycle] => 30.00
    [profile_status] => Active
    [charset] => windows-1252
    [notify_version] => 3.7
    [amount] => 30.00
    [outstanding_balance] => 0.00
    [recurring_payment_id] => I-VYR2VN3XPVW4
    [product_name] => The HALO Foundation Donation
    [ipn_track_id] => 348867a2b7815
)

已付款

Array
(
    [mc_gross] => 10.00
    [period_type] =>  Regular
    [outstanding_balance] => 0.00
    [next_payment_date] => 02:00:00 Dec 16, 2013 PST
    [protection_eligibility] => Ineligible
    [payment_cycle] => every 3 Months
    [tax] => 0.00
    [payer_id] => 3HMDJA96TEQN4
    [payment_date] => 05:19:33 Sep 16, 2013 PDT
    [payment_status] => Completed
    [product_name] => platypu subscription
    [charset] => windows-1252
    [recurring_payment_id] => I-R52C41AGNEAP
    [first_name] => test
    [mc_fee] => 0.64
    [notify_version] => 3.7
    [amount_per_cycle] => 10.00
    [payer_status] => unverified
    [currency_code] => USD
    [business] => sandbo_1215254764_biz@angelleye.com
    [verify_sign] => A4QWarlQUU0cupDGeAi-McuvfslGA7lrbrWV735PGPsr3OKdTRFyJtOq
    [payer_email] => test@domain.example
    [initial_payment_amount] => 0.00
    [profile_status] => Active
    [amount] => 10.00
    [txn_id] => 34Y69196BK064583G
    [payment_type] => instant
    [last_name] => test
    [receiver_email] => sandbo_1215254764_biz@angelleye.com
    [payment_fee] => 0.64
    [receiver_id] => ATSCG2QMC9KAU
    [txn_type] => recurring_payment
    [mc_currency] => USD
    [residence_country] => US
    [test_ipn] => 1
    [receipt_id] => 1660-1430-7506-9911
    [transaction_subject] =>
    [payment_gross] => 10.00
    [shipping] => 0.00
    [product_type] => 1
    [time_created] => 07:54:24 Sep 05, 2013 PDT
    [ipn_track_id] => efd4ee6ea4474
)

付款已跳过

Array
(
    [payment_cycle] => Monthly
    [txn_type] => recurring_payment_skipped
    [last_name] => bitch
    [next_payment_date] => 03:00:00 Sep 21, 2013 PDT
    [residence_country] => US
    [initial_payment_amount] => 0.00
    [currency_code] => USD
    [time_created] => 19:42:33 Jan 11, 2013 PST
    [verify_sign] => AcyQRlWufyrh0B6-n5swEgNB9oNJAkMm65cAu2bQLTevdnT2JnuIyDQO
    [period_type] =>  Regular
    [payer_status] => unverified
    [test_ipn] => 1
    [tax] => 0.00
    [payer_email] => tester@hey.com
    [first_name] => working
    [receiver_email] => sandbo_1215254764_biz@angelleye.com
    [payer_id] => 4ATNY663RDKJA
    [product_type] => 1
    [shipping] => 0.00
    [amount_per_cycle] => 10.00
    [profile_status] => Active
    [charset] => windows-1252
    [notify_version] => 3.7
    [amount] => 10.00
    [outstanding_balance] => 60.00
    [recurring_payment_id] => I-LH2MJXG27TR6
    [product_name] => Angell EYE Web Hosting
    [ipn_track_id] => e3a52d6772d28
)

支付失败

Array
(
    [payment_cycle] => every 4 Weeks
    [txn_type] => recurring_payment_failed
    [last_name] => Tester
    [next_payment_date] => 03:00:00 Oct 03, 2013 PDT
    [residence_country] => US
    [initial_payment_amount] => 0
    [currency_code] => JPY
    [time_created] => 05:14:37 Aug 01, 2012 PDT
    [verify_sign] => AOTn5qT2D05NGLBeQowuGwhI5kTFAIPV01VWay1FayueRmXhAYd2KLZp
    [period_type] =>  Regular
    [payer_status] => unverified
    [test_ipn] => 1
    [tax] => 0
    [payer_email] => prachi@signyit.com
    [first_name] => Ecaf
    [receiver_email] => sandbo_1215254764_biz@angelleye.com
    [payer_id] => VCLJR9E79V4KJ
    [product_type] => 1
    [shipping] => 0
    [amount_per_cycle] => 1
    [profile_status] => Active
    [charset] => windows-1252
    [notify_version] => 3.7
    [amount] => 1
    [outstanding_balance] => 1
    [recurring_payment_id] => I-P90BX92X15DR
    [product_name] => Welcome to the world of shopping where you get everything
    [ipn_track_id] => ab99ea6823e24
)

个人资料已暂停

Array
(
    [payment_cycle] => Monthly
    [txn_type] => recurring_payment_suspended_due_to_max_failed_payment
    [last_name] => Lang
    [next_payment_date] => N/A
    [residence_country] => US
    [initial_payment_amount] => 4.90
    [currency_code] => USD
    [time_created] => 13:45:44 Nov 04, 2010 PDT
    [verify_sign] => A65EYvoNuupMDbNU-2RPi609XJ7LAQ8CzxOV03bR4.O-nKSYG9LjBf10
    [period_type] =>  Regular
    [payer_status] => unverified
    [test_ipn] => 1
    [tax] => 0.00
    [payer_email] => corey@angelleye.com
    [first_name] => Corey
    [receiver_email] => sandbo_1215254764_biz@angelleye.com
    [payer_id] => HKHX3D32P9DXG
    [product_type] => 1
    [shipping] => 0.00
    [amount_per_cycle] => 29.95
    [profile_status] => Suspended
    [charset] => windows-1252
    [notify_version] => 3.7
    [amount] => 29.95
    [outstanding_balance] => 149.75
    [recurring_payment_id] => I-Y0E6UC684RS4
    [product_name] => Achieve Formulas 30 day supply, monthly.
    [ipn_track_id] => 95c39c8a4b39d
)

配置文件已取消

Array
(
    [payment_cycle] => Monthly
    [txn_type] => recurring_payment_profile_cancel
    [last_name] => Testerson
    [next_payment_date] => N/A
    [residence_country] => US
    [initial_payment_amount] => 69.90
    [rp_invoice_id] => 4603
    [currency_code] => USD
    [time_created] => 09:40:52 Feb 11, 2013 PST
    [verify_sign] => AGiC06LknLf7LnPNSt03A0q0ajKiAZt35jsIvkcPn5dU7GtRl-ITAf5Q
    [period_type] =>  Regular
    [payer_status] => verified
    [tax] => 0.00
    [payer_email] => payer@email.example
    [first_name] => Tester
    [receiver_email] => sandbox@domain.example
    [payer_id] => Q28888N
    [product_type] => 1
    [shipping] => 0.00
    [amount_per_cycle] => 1.95
    [profile_status] => Cancelled
    [charset] => windows-1252
    [notify_version] => 3.7
    [amount] => 1.95
    [outstanding_balance] => 0.00
    [recurring_payment_id] => I-553Y5PRWJ29F
    [product_name] => USBSwiper Monthly Subscription
    [ipn_track_id] => 5ecdc90112398
)

定期付款已过期

Array
(
    [payment_cycle] => Monthly
    [txn_type] => recurring_payment_expired
    [last_name] => Testerson
    [next_payment_date] => N/A
    [residence_country] => US
    [initial_payment_amount] => 0.00
    [rp_invoice_id] => 1580
    [currency_code] => USD
    [time_created] => 09:42:46 Jan 12, 2011 PST
    [verify_sign] => AbBIww12EQnvrHwYmd1wb98zYz53APIJHOa.GTV4C9Ef0HVE1FWBtxMP
    [period_type] =>  Regular
    [payer_status] => unverified
    [tax] => 0.00
    [first_name] => Tester
    [receiver_email] => payments@domain.example
    [payer_id] => R7J55555MN
    [product_type] => 1
    [shipping] => 0.00
    [amount_per_cycle] => 1.00
    [profile_status] => Cancelled
    [charset] => windows-1252
    [notify_version] => 3.0
    [amount] => 1.00
    [outstanding_balance] => 0.00
    [recurring_payment_id] => I-M0555555RY
    [product_name] => USBSwiper Rental Program
)

关于paypal - 使用 IPN 模拟器发送 Paypal 定期付款命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18823527/

相关文章:

paypal - 无法使用 GetExpressCheckoutDetails 获取完整的购物车详细信息

ruby - 从另一个调用一个 Ruby 脚本

Paypal CreateRecurringPaymentsProfile 10002 错误

php - Paypal响应码——如何正确处理

flutter - 适用于 Flutter 的 PayPal SDK?

python - 请求 JSON 格式不正确

android - Paypal 支付: How to get success request when loading the paypal in webview

java - 将购买的商品详细信息发送至 PayPal?

paypal - 在 PayPal IPN 模拟器中测试 HTTPS 响应服务器时出错

asp.net - PayPal IPN 和 PDT 混合