2

我正在使用 Paypal 快速结帐进行定期付款,并已使用 PHP 成功地将其与我的网站集成。但是我有几个问题

  1. 创建重复配置文件时如何设置 IPN 侦听器 url?
  2. 当贝宝服务器访问我的 IPN 侦听器时,哪些数据会发回给我?
  3. 如何模拟或测试定期付款 IPN?

我将不胜感激有关此的任何帮助。

4

2 回答 2

3

IPN URL 可以从您的 PayPal 帐户/个人资料中设置。

这是分步指南:-http://net.tutsplus.com/tutorials/php/how-to-setup-recurring-payments/

于 2013-07-02T20:10:15.377 回答
2

1) 您可以在 PayPal 账户资料中设置您的 IPN URL。不幸的是,API 请求中的 NotifyURL 不适用于定期付款。

2) 这是创建新配置文件时获得的 IPN 示例。

payment_cycle = Monthly
txn_type = recurring_payment_profile_created
last_name = Testerson
next_payment_date = 03:00:00 Jul 01, 2013 PDT

residence_country = US
initial_payment_amount = 0.00
rp_invoice_id = 5053
currency_code = USD
time_created = 11:39:03 Jul 01, 2013 PDT
verify_sign = AxuyKPFTDVhGvGlmhi1Hmnox3YnSAxMg2orZ0pTTDYZq.xNVLeRhMlVb

period_type = Regular
payer_status = unverified
tax = 0.00
payer_email = tester@testerson.com
first_name = Tester
receiver_email = payments@domain.com
payer_id = R2UKKKKXGXE

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

product_name = USBSwiper Monthly Subscription
ipn_track_id = 5263496da8a39

这是您从该配置文件完成付款后获得的 IPN 示例。

mc_gross = 1.95
period_type = Regular
outstanding_balance = 0.00
next_payment_date = 03:00:00 Aug 01, 2013 PDT
protection_eligibility = Ineligible
payment_cycle = Monthly
tax = 0.00
payer_id = RLKKKKKFFFGMAJ
payment_date = 03:18:43 Jul 01, 2013 PDT
payment_status = Completed
product_name = USBSwiper Monthly Subscription
charset = windows-1252
rp_invoice_id = 3420
recurring_payment_id = I-W0HKYYYIIIKN
first_name = Tester
mc_fee = 0.39
notify_version = 3.7
amount_per_cycle = 1.95
payer_status = unverified
currency_code = USD
business = payments@domain.com
verify_sign = AX9DPPxdksE8vxjYRM3zoykf7dT4APAKCGYTvrJ1cP7slIeYHUE9eqDh
payer_email = tester@testerson.com
initial_payment_amount = 29.95
profile_status = Active
amount = 1.95
txn_id = 33S38844SG269083S
payment_type = instant
last_name = Testerson
receiver_email = payments@domain.com
payment_fee = 0.39
receiver_id = M5VRAQYEFCSK6
txn_type = recurring_payment

mc_currency = USD
residence_country = US
receipt_id = 4101-1432-9533-3734
transaction_subject = 
payment_gross = 1.95
shipping = 0.00
product_type = 1
time_created = 08:50:12 Mar 01, 2012 PST
ipn_track_id = b9df4ac317b53

要测试定期付款 IPN,您需要在沙盒中真实运行它们,或者您可以创建一个基本的 HTML 表单,其中包含一堆与您期望在实际 IPN 中获得的内容相匹配的隐藏字段。将此表单的操作设置为您的 IPN URL,然后您可以在浏览器中提交它以在屏幕上查看结果。这将帮助您清除脚本的任何问题,并允许您运行测试而无需等待 PayPal 系统发送通知。

请记住,如果您以这种方式测试数据实际上并非来自 PayPal,因此它将未被验证。您需要确保在测试期间在代码中相应地处理它。

于 2013-07-03T04:22:34.203 回答