Express Checkout 或 Basic HTML 代码中的 Paypal 订阅 MAXFAILEDPAYMENTS 设置

Paypal's Subscription MAXFAILEDPAYMENTS setting in Express Checkout or Basic HTML Code

我们正在尝试使用 Paypal 的订阅功能在我们的网站上实施订阅。我们想要的是让 Paypal 执行重复过程,即使第一次付款失败,直到我们或订阅用户手动取消订阅配置文件。

根据我在这里阅读的内容 https://developer.paypal.com/docs/classic/express-checkout/digital-goods/ECDGRecurringPayments/#id086520F027U

如果我们将 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--}}

我在这里找不到选项 https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/Appx_websitestandard_htmlvariables/

不幸的是,没有,更糟糕的是你为 NVP/SOAP API 提到的参数被忽略了。

不管你给PayPal设置什么参数都遵循相同的套路,就是这个...

如果预定付款失败,它将在 5 天内重试。如果有 3 次重新尝试,每次都失败了,配置文件将为 "suspended due to max failed payments."

IPN 会针对每次失败的尝试以及配置文件的暂停而触发,因此建议您设置并运行 IPN 解决方案,如果您真的这样做的话。

同样奇怪的是,有时如解释的那样,在 3 次重新尝试失败后,配置文件将被暂停,但是如果您 "collect outstanding balance" 使用为订阅提供的相同账单详细信息,它将成功处理,然后您可以重新激活订阅配置文件。

老实说,如果让我用自己的系统重做一遍,我可能不会使用 PayPal 的定期付款 API。相反,我会使用计费协议和参考交易,这样我就可以建立自己的经常性系统并在需要时处理任何金额的付款。如果你刚刚开始,我会为你推荐同样的东西。