Вопрос

Я добавляю подписки на сайт, используя Paypal IPN, который работает очень хорошо, я могу успешно создать новую подписку и проверить ее.Подписка имеет двухнедельную бесплатную пробную версию.К сожалению, руководство было немного расплывчатым относительно статусов подписки.

На данный момент учетная запись пользователя получает статус подписки после получения subscr_signup или subscr_paying и удаляется, когда получено сообщение subscr_cancel или subscr_failed.Я считаю, что это правильно, но лучше убедиться.

И что такое subscr_eot?Руководство IPN описывает его как «подписку на конец срока». Это запускается после окончания пробного периода?

Это было полезно?

Решение

subscr_eot отправляется, когда истек последний оплаченный интервал пользователя. subscr_cancel отправляется, как только пользователь отменяет подписку — например:

Пользователь оформляет подписку в первый день, счет за которую взимается раз в месяц.subscr_signup отправляется немедленно, subscr_payment отправляется сразу после прохождения платежа (обычно тоже сразу).

На 13-й день пользователь отменяет подписку. subscr_cancel отправляется немедленно, хотя технически пользователь оплатил до 30-го дня.Отмена на этом этапе зависит от вас.

На 30 день, subscr_eot отправлено — пользователь отменил подписку, и это день, до которого был оплачен его последний платеж.

При использовании пробной подписки особых изменений не происходит: если пользователь отменяет ее до истечения срока действия пробной подписки, subscr_cancel отправляется немедленно и subscr_eot отправляется в конце судебного разбирательства.

Другие советы

Кроме того, есть одна интересная деталь: как subscr_eot работает с subscr_failed.

Это выглядит как subscr_eot приходит после того, как ФИНАЛ subscr_failed.Итак, если в вашей учетной записи вы установили автоматическую повторную попытку неудачного платежа 3 раза, то это должно выглядеть следующим образом:

первая неудачная оплата => subscr_failed второй неудачный платеж => subscr_failed третий неудачный платеж => subscr_failed и subscr_eot

так что в основном в вашем коде вы можете установить subscr_failed чтобы вызвать электронное письмо типа

Привет, пользователь, пожалуйста, рассмотрите возможность, чтобы проверить информацию о платеже, вам может потребоваться обновить дату истечения срока кредитной карты и т. Д.У вас все еще есть доступ, мы попробуем еще раз через несколько дней.

И настройка subscr_eot чтобы на самом деле отключить подписку и вызвать электронное письмо типа

Извините, мы все еще не получили оплату и сняли ваш профиль.Вы все еще можете переопределить его, входя в систему и обновив информацию о платеже

По сути, это «хороший» способ сделать это, чтобы у клиентов был льготный период, и их учетная запись не была неожиданно отключена только из-за истекшего срока действия кредитной карты или чего-то в этом роде.

Тема, опубликованная Крисом, недавно была обновлена.

Где-то в 2010 году PayPal прекратил использовать subscr_eot, когда пользователь закрыл свою учетную запись.После ряда жалоб они это восстановили, но на это ушло 6 месяцев.Все это означает, что вы снова можете обрабатывать уведомления о подписке, как описано Питером в принятом ответе.

От представителя PayPal:

subscr_cancel означает, что профиль отменено и будущего не будет платежи.Однако, если покупатель имеет уже оплачен текущий биллинг цикл по мере того как они заряжены вверх-фронт, затем вы можете использовать subscr_eot для завершить профиль.

Однако все еще неясно, что произойдет в случае нескольких неудачных попыток оплаты.Документация PayPal на данный момент ужасна.

От аккаунта зависит, новый он или нет. subscr_eot отправляется, что немного выше моего понимания?

Я еще не нашел подходящего способа управления подписками.Расчет дат на сервере может очень быстро пойти не так, если произойдет задержка платежа.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top