我们已在网站上实施了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。
当我们测试此代码时,一切似乎都运行正常,并且创建了定期付款配置文件,但以下详细信息很有趣。当我进入我的沙盒帐户时,在我的定期付款配置文件中,我可以看到之前创建的配置文件。这是图片附件:
为什么下一次到期付款日期是今天的日期(我们在2014年10月13日进行了测试),为什么它未设置为2015年10月13日?这是否意味着用户将在2014年收取2次费用(一次在正常订阅结账期间,然后一次使用定期付款资料机制)。
提前谢谢。答案 0 :(得分:1)
如果您已使用“DoExpressCheckout”API向买方收取2014年的费用,则需要将“PROFILESTARTDATE”指定为“2015年10月13日”。 “PROFILESTARTDATE”指定何时收取个人资料,因此在您的情况下应再次收取费用,然后在“2015年10月13日”收费。