测试定期付款(贝宝 IPN)
Posted
技术标签:
【中文标题】测试定期付款(贝宝 IPN)【英文标题】:Testing recurring payments (paypal IPN) 【发布时间】:2012-05-10 12:15:33 【问题描述】:我正在尝试使用 paypal 设置定期支付服务,我的问题是我似乎无法找到测试它的方法,我已经设置了 Daily period 和 1 作为频率,但帐户似乎仍然需要一个月进行下一次付款,
Paypal 说如果您将其设置为 Day 则需要几分钟,但下一个付款日期设置为一个月甚至不需要一天,有没有人遇到过同样的问题或更好的解决方案来测试它?
谢谢
这是我发送的 NVP:
&AMT=19.95
&CURRENCYCODE=USD
&PROFILESTARTDATE=2012-05-30+T9%3A0%3A0
&TOKEN=XX-xxXxxxxxXXxxxxxxX
&BILLINGPERIOD=Day
&BILLINGFREQUENCY=1
&BILLINGTYPE=RecurringPayments
&DESC=\Subscription
&AUTOBILLOUTAMT=AddToNextBilling
&EMAIL=asfjasd@asdfasd.com
&FIRSTNAME=juanito
&LASTNAME=escarcha
&STREET=manzanares
&CITY=gdl
&STATE=jal
&COUNTRYCODE=MX
&ZIP=12345
以下是贝宝返回的内容:
(
[payment_cycle] => Daily
[txn_type] => recurring_payment_profile_created
[last_name] => perez
[next_payment_date] => 03:00:00 May 30, 2012 PDT
[residence_country] => MX
[initial_payment_amount] => 0.00
[currency_code] => USD
[time_created] => 12:24:08 Apr 30, 2012 PDT
[verify_sign] => XXXXXXXXXxxxxxxx
[period_type] => Regular
[payer_status] => unverified
[test_ipn] => 1
[tax] => 0.00
[payer_email] => juan@paypal.com
[first_name] => juan
[receiver_email] => test@testcompany.com
[payer_id] => XXXXXXxxxxxXXX
[product_type] => 1
[shipping] => 0.00
[amount_per_cycle] => 19.95
[profile_status] => Active
[charset] => windows-1252
[notify_version] => 3.4
[amount] => 19.95
[outstanding_balance] => 0.00
[recurring_payment_id] => I-8JXMN6XXXXX
[product_name] => Subscription
[ipn_track_id] => 57fbxxXXXXXxx
)
一切似乎都很好,除了贝宝想从今天起每月收取下一笔付款
【问题讨论】:
【参考方案1】:你发送
PROFILESTARTDATE=2012-05-30+T9:0:0
下一个付款日期(这里是第一次付款)在这一天。
[next_payment_date] => 03:00:00 May 30, 2012 PDT
看来,是对的。我认为您应该更改您的个人资料开始日期。
【讨论】:
【参考方案2】:Paypal 有一个内置的 IPN 测试工具,可帮助调试您的 IPN 侦听器并确保它正确记录所有内容。它会将相同的查询变量作为真实的 IPN 通知帖子发送到您的端点,以便您可以模拟真实付款情况下发生的情况。
https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_admin_IPNTesting#id089BD0L50PF
如果您对定期付款的频率有疑问,则需要在变量中为您第一次订阅贝宝的帖子进行配置。您可以分享您在订阅请求中使用的字段吗? (当然是编辑敏感数据)
【讨论】:
IPN 模拟器不包括定期付款(很遗憾) 对于任何感兴趣的人,我想出了一种方法来更改 IPN 模拟器以支持定期付款...***.com/a/17995018/89211 当然,问题是您无法在外部编辑配置文件的状态或变量API 的覆盖范围(例如设置未结金额以测试失败的付款)仍然是一个问题。【参考方案3】:CreateRecurringPaymentsProfile 不接受 NOTIFYURL 参数;相反,您需要在您的 PayPal 帐户的个人资料中设置一个 IPN URL。这是将用于定期付款 IPN 消息的 IPN URL。
请访问:https://www.paypal-community.com/t5/Merchant-services-Archive/Recurring-payments-IPN/td-p/350104
【讨论】:
以上是关于测试定期付款(贝宝 IPN)的主要内容,如果未能解决你的问题,请参考以下文章