Подписки с IPN Paypal
Я добавляю подписки на сайт с использованием PayPal IPN, который работает очень хорошо, я могу успешно создать новую подписку и проверить ее. Подписка имеет двухнедельную бесплатную пробную версию. К сожалению, руководство было немного расплывчато по статусу подписки.
На данный момент учетная запись пользователей получает статус подписки после получения subscr_signup или subscr_payment и удаляется при получении либо subscr_cancel, либо subscr_failed. Я считаю, что это правильно, но лучше всего убедиться.
И что такое subscr_eot? руководство по IPN описывает его как "подписок на конец срока". Это срабатывает после окончания пробного периода?
Ответы
Ответ 1
subscr_eot
отправляется, когда истек последний пользовательский интервал оплаты. subscr_cancel
отправляется, как только использование отменяет подписку - например:
Пользователь регистрируется в день 1 для подписки, которая выставляется один раз в месяц.
subscr_signup
отправляется немедленно, subscr_payment
отправляется, как только оплата проходит (как правило, сразу же).
В день 13 пользователь отменяет. subscr_cancel
немедленно отправляется, хотя пользователь имеет техническую оплату до 30 дней. Отмена на этом этапе зависит от вас.
В день 30 отправляется subscr_eot
- пользователь отменил, и это тот день, который был оплачен его последним платежом.
Не так много изменений в пробных подписках - если пользователь отменяет до начала пробной подписки, subscr_cancel
отправляется немедленно, а subscr_eot
отправляется в конце процесса.
Ответ 2
Кроме того, одна интересная деталь: subscr_eot
работает с subscr_failed
.
Похоже, subscr_eot
появляется после ЗАКЛЮЧИТЕЛЬНЫЙ subscr_failed
. Поэтому, если в вашей учетной записи вы настроили его автоматически повторять неудачные платежи 3 раза, тогда он должен выглядеть следующим образом:
первый сбой платежа = > subscr_failed
второй неудачный платеж = > subscr_failed
третий неудачный платеж = > subscr_failed и subscr_eot
так что в основном в вашем коде вы можете установить subscr_failed
для запуска электронной почты, например
Привет, пожалуйста, найдите момент, чтобы проверить вашей платежной информации, вам может потребоваться обновить срок действия кредитной карты дата и т.д. У вас все еще есть доступ, мы попробуем еще раз через несколько дней.
И настройте subscr_eot
, чтобы отключить свою подписку и вызвать электронную почту, например
Извините, мы все еще не получили оплату и сняли ваш профиль. Вы может снова активировать его, выполнив вход и обновив информацию о платеже
В основном это "хороший" способ сделать это, чтобы клиенты имели льготный период, и их учетная запись не была отключена неожиданно только из-за просроченной кредитной карты или чего-то в этом роде.
Ответ 3
Недавно была обновлена тема, опубликованная Chris.
Когда-то в 2010 году PayPal прекратил использование subscr_eot, когда пользователь отменил свою учетную запись. После ряда жалоб они восстановили это, но потребовались 6 месяцев для этого. Все это означает, что вы можете снова обрабатывать уведомления о подписке, как описано Петром в принятом ответе.
От представителя PayPal:
subscr_cancel означает, что профиль отменено, и не будет будущего платежи. Однако, если покупатель имеет уже оплачен за текущий биллинг так как они заряжаются спереди, то вы можете использовать subscr_eot для завершите работу профиля.
Однако неуверенность в том, что происходит в случае нескольких неудачных попыток платежа. Документация PayPal на данный момент ужасна.
Ответ 4
Это зависит от учетной записи, если она новая, или нет, отправляется ли subscr_eot
, что не за меня?
Я еще не нашел подходящего способа управления подписками. Вычисление дат на сервере может пойти не так быстро, если есть задержка в оплате.