我使用以下html创建paypal订阅:
<form action="http://paypal/url/..." ...>
<input type="hidden" name="cmd" value="_xclick-subscriptions">
<input type="hidden" name="business" value="selleremail@somedomain.com">
<input type="hidden" name="item_name" value="My Subscription">
<input type="hidden" name="currency_code" value="GBP">
<input type="hidden" name="p3" value="1">
<input type="hidden" name="t3" value="M">
<input type="hidden" name="tax" value="0.00">
<input type="hidden" name="no_shipping" value="1">
<input type="hidden" name="shipping" value="0.00">
<input type="hidden" name="no_note" value="1">
<input type="hidden" name="src" value="1">
<input type="hidden" name="cancel_return" value="http://mysite/paypal/cancel.page">
<input type="hidden" name="return" value="http://mysite/paypal/success.page">
<input type="hidden" name="notify_url" value="http://mysite/paypal/ipn.page">
</form>
一切运作良好,创建新订阅,我的场景获取IPN通知。有一件事让我烦恼。如果某些付款失败,则会暂停相应的订阅。它是由于订阅的默认设置而发生的。在暂停订阅配置文件之前,允许设置1次付款失败。
我可以按documentation中的说明手动将其关闭,但如何在订阅创建阶段设置它?是否值得关闭或更好地设置一定数量的失败?
答案 0 :(得分:1)
来自Paypal开发者网络的a person的回答:
目前,您无法在订阅中传递变量 按钮代码,用于更改之前允许的失败付款次数 个人资料暂停。此时的默认值是1和您 如上所述,可以在帐户中手动更改它。一个 已提交有关添加此功能的功能请求 但是没有时间表可以做到这一点。但是,如果使用 Express Checkout API可以创建重复的配置文件,您可以指定 MAXFAILEDPAYMENTS的值。
答案 1 :(得分:0)
将此添加到您的表单:
<input type="hidden" name="reattempt" value="1">
这导致付款失败为reattempted(我认为最多3次,尝试间隔1天)。至于打开或关闭它是否更好,我真的不能想到重新尝试对你不利的情况:它给了客户额外的机会给你钱。如果您认为在付款失败后几天免费使用该服务的人确实存在问题,请在获得subcr_failed IPN之前暂停该帐户,直到付款成功为止。
答案 2 :(得分:0)
付款失败没有取消。在最初的失败后,PayPal将尝试在5天后再次付款 。如果这也失败了,那么PayPal将在进一步 5天后尝试第三次也是最后一次。
当您可以设置原始PayPal配置文件时,您有两种处理失败费用的选项。这可以在个人资料订阅的“重复收费”部分找到。
您将在此处获得的条款如下:
recurring_payment_suspended_due_to_max_failed_payment
这也将为您提供下次尝试执行时的重试日期。
'retry_at' => '02:00:00 Feb 08, 2017 PST',