Подписка на Paypal - Количество несостоявшихся платежей
Я использую следующий html-код для создания подписки PayPal:
<form action="http://paypal/url/..." ...>
<input type="hidden" name="cmd" value="_xclick-subscriptions">
<input type="hidden" name="business" value="[email protected]">
<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 допустимый уровень неудачных платежей.
Я могу отключить его вручную, как описано в документации , но как настроить его на этапе создания подписки? И стоит ли его отключать или лучше установить некоторое количество сбоев?
3 answers
Ответ от человека в сети разработчиков PayPal:
В настоящее время нет переменной, которую вы можете ввести в код кнопки подписки, чтобы изменить количество неудачных платежей, разрешенных до приостановки профиля. Значение по умолчанию на данный момент равно единице, и вы можете изменить его вручную в учетной записи, как вы упомянули выше. Запрос на функцию был отправлен для добавления этой функции , но нет никаких временных рамок, когда это может быть сделано. Однако, если использовать API экспресс-проверки для создания повторяющихся профилей вы можете указать значение для MAXFAILEDPAYMENTS.
Добавьте это в свою форму:
<input type="hidden" name="reattempt" value="1">
Это приводит к повторным неудачным платежам (до 3 раз, я думаю, с 1 днем между попытками). Что касается того, лучше ли его включать или выключать, я действительно не могу придумать сценарий, в котором повторные попытки вредны для вас: это дает клиентам дополнительные шансы дать вам деньги. Если вы считаете, что люди, использующие сервис бесплатно в течение нескольких дней после сбоя оплаты, действительно являются проблемой, приостановите действие учетной записи, когда получите сообщение subscr_failed IPN до тех пор, пока не будет произведена успешная оплата.
Отмена платежа в случае сбоя не производится. После первоначального сбоя PayPal попытается снова принять платеж через 5 дней . Если это также не удастся, PayPal попробует в третий и последний раз через следующие 5 дней.
Когда вы можете настроить исходный профиль PayPal, у вас есть два варианта решения проблемы с неудачными сборами. Это можно найти в разделе Периодические платежи для подписки в профиле.
Условия, которые вы получите здесь например:
recurring_payment_suspended_due_to_max_failed_payment
И это также даст вам срок для даты повторной попытки, когда будет выполнена следующая попытка.
'retry_at' => '02:00:00 Feb 08, 2017 PST',