首页 文章

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

提问于
浏览
5

我目前正在尝试实施paypal定期付款,我想测试"whole cycle" . 我发现这篇文章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 );

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

1 回答

  • 3

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

    要减少实际经过的时间,请将 Day 指定为句点 . 当您指定日时,结算周期发生 every n minutes in the Sandbox ,其中n代表 frequency ;例如,如果您在执行CreateRecurringPaymentsProfile API时为结算频率和日期指定1,则在沙盒中进行测试时,每分钟都会进行结算周期 .

    Reducing the elapsed time only works if the period is Day; other values do not change the actual elapsed time.

    考虑一种情况,您希望在三个月的试用期后模拟一个月的结算周期,而无需等待四个月 . 在沙盒中,您可以指定以下NVP参数:

    ...&TRIALBILLINGPERIOD=Day&TRIALBILLINGFREQUENCY=3
    ...&BILLINGPERIOD=Day&BILLINGFREQUENCY=1...
    

    在沙盒中,试用结算周期大约需要3分钟,而常规结算周期大约每分钟发生一次 . 当您准备好上线时,您可以将试用结算周期和结算周期更改为月 .

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

相关问题