简体   繁体   English

如何配置贝宝定期付款IPN网址

[英]How to configure paypal recurring payment IPN url

I am using Paypal express checkout for recurring payments and have successfully integrated it with my website using PHP. 我正在使用Paypal Express结帐进行定期付款,并已使用PHP成功将其与我的网站集成。 However i have few questions 但是我有几个问题

  1. how can i set IPN listener url when creating recurring profile? 创建重复配置文件时如何设置IPN侦听器URL?
  2. What data will be posted back to me when paypal server hits my IPN listener? 当贝宝服务器命中我的IPN侦听器时,哪些数据将回发给我?
  3. How can i simulate or test recurring payment IPNs? 如何模拟或测试定期付款IPN?

I will appreciate any help regarding this. 我将不胜感激。

IPN URL can be set from your PayPal account/profile. 可以从您的PayPal帐户/配置文件中设置IPN URL。

here is the step-by-step guide :-- http://net.tutsplus.com/tutorials/php/how-to-setup-recurring-payments/ 这是分步指南: http://net.tutsplus.com/tutorials/php/how-to-setup-recurring-payments/ : http://net.tutsplus.com/tutorials/php/how-to-setup-recurring-payments/

1) You can set your IPN URL within the PayPal account profile. 1)您可以在PayPal帐户资料中设置IPN URL。 Unfortunately, NotifyURL within API requests doesn't work with recurring payments. 不幸的是,API请求中的NotifyURL不适用于定期付款。

2) Here's a sample of an IPN you'd get when a new profile is created. 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

Here's a sample of an IPN you'd get for a completed payment from that a profile. 这是您可以从该配置文件中完成付款的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

To test recurring payments IPN's you'll need to either run them for real in the sandbox, or you can create a basic HTML form with a bunch of hidden fields that match what you'd expect to get in an actual IPN. 要测试IPN的定期付款,您需要在沙盒中真正运行它们,或者您可以创建一个基本的HTML表单,其中包含一堆与您期望在实际IPN中获得的匹配的隐藏字段。 Set the action of this form to your IPN URL and then you can submit this in the browser to see the result on screen. 将此表单的操作设置为IPN URL,然后可以在浏览器中提交此表单以在屏幕上查看结果。 This will help you weed out any problems with the script and allow you to run tests without waiting on the PayPal system to send the notifications. 这将帮助您清除脚本的任何问题,并使您无需等待PayPal系统发送通知即可运行测试。

Just keep in mind if you test that way the data isn't actually coming from PayPal so it will be UNVERIFIED. 请记住,如果您以这种方式进行测试,则数据实际上并非来自PayPal,因此它将被取消验证。 You'll need to make sure to handle that accordingly within your code during testing. 您需要确保在测试期间在代码中进行相应的处理。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM