Я использую PayPal для получения подписных платежей за доступ к службе веб-сайта.Использование полей IPN для подписки PayPal для управления учетными записями пользователей
Я использую IPN PayPal для управления платежами и учетными записями пользователей.
Я отправляю произвольный случайный ключ в PayPal, уникальный для каждого пользователя, когда подписка сначала создается, поэтому один и тот же ключ отправляется с каждым IPN. Это означает, что я могу очень хорошо связывать таблицу моих пользователей с моими уведомлениями PayPal.
Соответственно, теперь я могу сгенерировать из своей базы данных список user_id и информацию извещения.
Итак, теперь мне нужно выяснить, какая логика используется для расчета каждого текущего состояния платежей пользователей и, как следствие, что делать с их учетной записью - продолжать ли разрешать доступ, приостанавливать или даже удалять свою учетную запись пользователя. Это решение все сводится к тому, все еще идут или нет.
В IPN PayPal входит множество интересных разнообразных данных - большинство выглядит неактуальным с точки зрения управления учетными записями пользователей, но несколько столбцов выглядят весьма полезными. В частности ...
поле
outstanding_balance
кажется, содержит именно это - значение, которое должно 2DP денег до сих пор из-за. До сих пор во время моего тестирования эта цифра только когда-либо был 0,00поле
txn_type
показывает мне любой из выбора различных кодов: subscr_signup (когда пользователь первоначально устанавливает подписку), subscr_payment (когда платеж появляется, чтобы быть успешным), subscr_cancel (кажется, кажется, что клиент или поставщик отменяет подписку), а subscr_eot (конец срока - это один появляется вскоре после отмены подписки).
Мой импульс искать таблицу для последнего txn_type="subscr_payment"
записи для каждой учетной записи пользователя, а также проверить дату этого последнего уведомления прибывшего. Если дата датирована, скажем, 28 дней назад, учетная запись может быть приостановлена ... если через 56 дней учетная запись может быть удалена.
Это хорошая идея? Или есть лучшая логика, которую я могу использовать?
Мое положение немного отличается, но я думаю, что логика будет очень похожей. В моем случае пользователь настраивает учетную запись и использует ее для бесплатного пробного периода. Они могут сделать это, не разглашая никаких платежных реквизитов ... для пользователей кусочек ума и доброй воли. Затем, в конце их бесплатного испытания, им предлагается подписаться. Когда уведомление приходит к успешному платежу, их счет выходит из режима «бесплатной пробной версии» и переходит в «живой» режим. – Doug
Одним из потенциальных препятствий при проверке самого последнего статуса txn_type является то, что в начале подписки вступают два IPN - 'subscr_signup' и' subscr_payment'. Вот почему я подумал о том, что нужно искать именно для самого последнего 'txn_type = subscr_payment' и посмотреть, как давно это было – Doug
Можете ли вы подробно остановиться на статусе« reverse »и« cancel reverse »? В каких обстоятельствах это происходит, как мне создавать эти статусы с помощью моих тестовых учетных записей и каков точный текст? – Doug