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