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

Jan*_*son 5 testing paypal recurring-billing

我目前正在尝试实施paypal定期付款,我想测试"整个周期".我发现这篇文章http://www.paypalobjects.com/en_US/ebook/PP_Sandbox_UserGuide/testing_recurringpayments.html以及stackoverfow中的一些引用它应该可以工作.但对我来说似乎没有用.也许我必须深入研究代码,但我想知道这实际上是否有效?

我正在使用https://github.com/thenbrent/paypal-digital-goods库,我的订阅详情如下:

$subscriptionDetails = array(
  'description'        => 'Subscription for $10/month for the next year.',
  'initial_amount'     => '10.00',
  'amount'             => '10.00',
  'period'             => 'Day',
  'frequency'          => '1',
  'total_cycles'       => '12',
);

$pay = new PayPal_Subscription( $subscriptionDetails );
Run Code Online (Sandbox Code Playgroud)

我已经记录了我的通知接收端,但只有在我创建新的个人资料时才会受到影响.

Sug*_*ime 3

在实际站点上,计费周期在实际指定时间过去后重复;例如,一个月的计费周期需要一个月的时间。测试定期付款资料时,您可以在沙盒中模拟计费周期的经过时间,在这种情况下,实际经过的时间会减少。当您想要模拟计费周期而不等待实际时间过去时,这非常有用。

要减少实际经过的时间,您可以指定Day作为时间段。当您指定 Day 时,计费周期在 Sandbox 中每 n 分钟发生一次,其中 n 代表频率;例如,如果执行CreateRecurringPaymentsProfile API时指定计费频率为1,周期为Day,则在沙盒中测试时,计费周期每分钟发生一次。

仅当时间段为日时,减少经过的时间才有效;其他值不会改变实际经过的时间。

考虑这样一种场景,您希望在三个月的试用后模拟一个月的计费周期,而不需要等待四个月。在沙盒中,您可以指定以下 NVP 参数:

...&TRIALBILLINGPERIOD=Day&TRIALBILLINGFREQUENCY=3
...&BILLINGPERIOD=Day&BILLINGFREQUENCY=1...
Run Code Online (Sandbox Code Playgroud)

在沙箱中,试用计费周期大约需要 3 分钟,常规计费周期大约每分钟发生一次。当您准备好上线时,您可以将试用计费周期和计费周期更改为“月”。

如果这不起作用,请发布您的 CreateRecurringBillingProfile 请求和响应,我们可以进一步调查。