Я использую подписки PayPal и уведомления о мгновенных платежах (IPN) для обработки подписчиков на моем сайте.
По большей части это работает хорошо, но есть одна случайная проблема, с которой я столкнулся.
Обычно, если пользователь отменяет свою подписку, я жду уведомления об окончании срока (subscr_eot), прежде чем отключить доступ к моему сайту.
Так что, если они предоплатят за весь месяц, а затем сразу же откажутся, у них останется доступ до конца месяца (как и должно быть).
Но у некоторых пользователей возникает эта проблема, когда они:
- Отменить подписку
- Прежде чем наступит "конец срока", они решают переподписаться
- Когда для первой подписки наступает «конец срока», мое приложение получает уведомление и отправляет пользователю электронное письмо с сообщением типа «Ваша учетная запись отключена. Если вы когда-нибудь захотите снова зарегистрироваться, вы можете повторно подписаться, нажав здесь ".
- Это смущает их, потому что они думают ... это странно, я думал, что подписался как неделю назад (и они сделали). Так что они идут подписаться снова. Теперь у них есть две одновременно работающих подписки на мой сайт, и я получаю письмо поддержки через месяц или два («если бы вы дважды выставили мне счет в этом месяце!»)
Так что я не нашел хорошего способа исправить это. Я думаю, что лучшим решением было бы сделать дополнительный вызов API, когда получено уведомление об окончании срока, которое спрашивает PayPal: «Эй, этот человек уже повторно подписался?». Если это так, то нет необходимости запускать эту электронную почту. Но я еще не видел способа сделать этот вызов API.
Другое решение состоит в том, чтобы немедленно отключить их учетную запись, когда они отменяют (уведомление «subscr_cancel»), но затем я получаю различные сердитые письма поддержки «Эй, я сделал предоплату за весь месяц, почему моя учетная запись уже отключена !!».
Кто-нибудь еще решил это?