我们正尝试使用Paypal的订阅功能在我们的网站上实现订阅。我们想要的是让Paypal执行定期流程,即使第一笔付款失败,直到我们或订阅用户手动取消订阅资料。
如果我们将MAXFAILEDPAYMENTS变量设置为零,则意味着即使付款失败,Paypal仍将继续继续重复流程。 但是要指定变量,我们必须使用NVP / SOAP API。
我们可以使用付款表单中指定的基本HTML代码实现相同的目标吗?
<input type="hidden" name="a3" value="1">
<input type="hidden" name="t3" value="M"> <!-- billing cycle unit=month -->
<input type="hidden" name="p3" value="1"> <!-- billing cycle length -->
<input type="hidden" name="src" value="1"> <!-- recurring=yes -->
<input type="hidden" name="sra" value="0"> <!-- reattempt=no -->
{{--End of recurring variables--}}
答案 0 :(得分:3)
不幸的是,没有,甚至更糟的是您提到的NVP / SOAP API参数会被忽略。
无论你设置什么,PayPal的参数遵循相同的例程,这就是......
如果预定付款失败,它将在5天内重新尝试。如果有三次重新尝试,每次失败,配置文件将因最大付款失败而被暂停。&#34;
每次失败的尝试以及暂停配置文件都会触发IPN,因此建议您先设置IPN解决方案,然后再开始工作。
奇怪的是,有些情况下,如果没有按照说明进行三次重新尝试,个人资料将被暂停,但如果你&#34;收集未结余额&#34;使用为订阅提供的相同计费详细信息,它将成功处理,然后您可以重新激活订阅配置文件。
老实说,如果我用自己的系统重新做一遍,我可能不会使用PayPal的定期付款API。相反,我会使用结算协议和参考交易,以便我可以建立自己的定期系统,并在需要任何我需要的金额时处理付款。如果您刚开始使用,我会为您推荐相同的内容。