Как обрабатывать отмененные регулярные платежи

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

Допустим, клиент отменяет свое членство через несколько месяцев. Они делают это, входя в Paypal и отменяя будущие автоматические платежи. Как мне обновить свой веб-сайт, чтобы отразить эту отмену?

Первое решение, о котором я думаю, — это запланировать cronjob, который будет запускать сценарий каждую полночь, чтобы обновлять мою базу данных информацией из Paypal.

Второе решение — в день рассылки информационного бюллетеня. Я выполняю сценарий для обновления моей базы данных информацией из Paypal. Веб-сайт также будет выполнять скрипт каждый раз, когда пользователь «входит» на мой веб-сайт.

Есть ли лучшие способы сделать это?


person John    schedule 15.01.2009    source источник


Ответы (1)


Если я правильно понимаю, серверы Paypal будут автоматически обновлять ваши при изменении статуса подписки, если вы это настроили. Это называется IPN (Instant Payment Notification) и действительно включает уведомление об отмене. Вот документация PayPal по регулярным (подписным) платежам. . Кроме того, вы можете опросить их серверы, используя их API, для получения этой информации, поэтому, если вы предпочитаете получать ее самостоятельно, вы можете это сделать.

person Erik Forbes    schedule 15.01.2009
comment
ах хорошо, позвольте мне исследовать это тогда! - person John; 16.01.2009
comment
Просто добавил ссылку на документацию PayPal. знак равно - person Erik Forbes; 16.01.2009
comment
Я не совсем понимаю. Уведомление об отмене передается в строке запроса. Откуда вы знаете, что платежное уведомление относится к отмене регулярного платежа? - person JohnMerlino; 16.05.2013
comment
@JohnMerlino для вашего лучшего понимания, вы можете определить, относится ли уведомление к отмене, созданию профиля или регулярному регулярному платежу по параметрам, отправленным в IPN. Если $_REQUEST['txn_type'] == 'recurring_payment_profile_cancel', то для профиля отменено, а если $_POST['txn_type'] == 'recurring_payment_profile_created', то для созданного профиля, если $_POST['period_type']) == ' Regular' && $_POST['payment_status'] == 'Completed' означает, что вы получили регулярный регулярный платеж. - person Tarun Upadhyay; 13.08.2013