测试循环付款(PayPal IPN)

7
我正在尝试使用Paypal设置一个定期付款服务,但我无法找到测试的方法。我已经将周期设置为每天并将频率设置为1,但账户似乎需要一个月才能进行下一笔付款。Paypal表示如果你将其设置为“日”,付款只需几分钟,但它甚至没有设置为一天,下一个付款日期被设置为一个月。有人遇到了相同的问题或者更好的解决方案来进行测试吗?谢谢。
这是我发送的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

以下是PayPal返回的内容:

(
    [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
)

除了PayPal想要在一个月后收取下一次支付之外,一切都看起来没有问题。

3个回答

3
你发送
PROFILESTARTDATE=2012-05-30+T9:0:0

下一个付款日期(这里是第一笔付款)是在这一天。
[next_payment_date] => 03:00:00 May 30, 2012 PDT

看起来是正确的。我认为你应该更改你的个人资料开始日期。


1
Paypal有一个内置的IPN测试工具,可帮助调试您的IPN监听器并确保正确记录所有内容。它将向您的端点发送与真实IPN通知帖子相同的查询变量,因此您可以模拟在真实付款情况下发生的情况。

https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_admin_IPNTesting#id089BD0L50PF

如果您在处理定期付款频率方面遇到问题,那么需要在首次订阅PayPal时的变量中进行配置。您能否分享您在订阅请求中使用的字段?(当然要删除敏感数据)

8
IPN模拟器不涵盖定期付款(遗憾地)。 - Eran Galperin
对于任何感兴趣的人,我找到了一种方法来修改IPN模拟器以支持循环付款... https://dev59.com/13PYa4cB1Zd3GeqPkIke#17995018 当然,无法在API范围之外编辑配置文件的状态或变量(例如将未结金额设置为测试失败的付款)仍然是一个问题。 - Relequestual

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接