定期付款结算期问题

时间:2014-10-13 10:21:45

标签: php paypal paypal-ipn

我们已在网站上实施了PayPal定期付款功能。在订阅结账期间,用户可以选择自动付款,每1年收取一次费用。

调用DoExpressCheckoutPayment API方法并完成后,我们使用以下详细信息调用CreateRecurringPaymentsProfile API方法:

$requestParams=array(
                    "TOKEN"=>$token,
                    "PROFILESTARTDATE"=>date("Y-m-d\TH:i:s\Z"),
                    "DESC"=>"Mimi subscription",
                    "BILLINGPERIOD"=>"Year",
                    "BILLINGFREQUENCY"=>"1",
                    "AMT"=>$subscriptionType->price,
                    "CURRENCYCODE"=>"GBP",
                    "PROFILEREFERENCE"=>$transactionId

                );

其中TOKEN是从SetExpressCheckout API metod调用返回的值。我们将PROFILESTARTDATE设置为今天的日期(2014年10月13日),将BILLINGPERIOD设置为年份,将BILLINGFREQUENCY设置为1。

当我们测试此代码时,一切似乎都运行正常,并且创建了定期付款配置文件,但以下详细信息很有趣。当我进入我的沙盒帐户时,在我的定期付款配置文件中,我可以看到之前创建的配置文件。这是图片附件:

enter image description here

为什么下一次到期付款日期是今天的日期(我们在2014年10月13日进行了测试),为什么它未设置为2015年10月13日?这是否意味着用户将在2014年收取2次费用(一次在正常订阅结账期间,然后一次使用定期付款资料机制)。

提前谢谢。

1 个答案:

答案 0 :(得分:1)

如果您已使用“DoExpressCheckout”API向买方收取2014年的费用,则需要将“PROFILESTARTDATE”指定为“2015年10月13日”。 “PROFILESTARTDATE”指定何时收取个人资料,因此在您的情况下应再次收取费用,然后在“2015年10月13日”收费。