测试定期付款(贝宝 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)的主要内容,如果未能解决你的问题,请参考以下文章

Paypal IPN 未发送定期付款信息

通过即时付款通知取消贝宝定期付款

如何在 PHP 中使用 IPN(即时付款通知)在 Paypal 中配置定期付款

贝宝 IPN 订阅

贝宝定期付款负面测试

在沙盒中测试贝宝定期付款的整个周期