2015-03-01 2 views
0

Я создаю сайт, на котором вам нужно заплатить 1 доллар в месяц за использование учетной записи. Хорошо, он работает, но человек, который его использует, может получить доступ к веб-сайту PayPal и отменить повторяющийся платеж, но все равно использовать учетную запись. Как я могу это решить? Коды, которые я использую: https://github.com/hrendoh/PayPal-Recurring-Payment-exampleОтмена платежей в PayPal с помощью ExpressCheckout

ответ

2

Для этого вам необходимо установить Instant Payment Notification (IPN).

В любой момент, когда любая транзакция попадает на вашу учетную запись PayPal (будь то платеж, новая подписка, неудачный платеж, приостановленный профиль, возмещение, спор о клиенте и т. Д.), Сервер PayPal будет отправлять данные POST об этой транзакции сценарий, который вы сидите на своем сервере.

Ваш скрипт может получать эти данные и обрабатывать их, как вам нужно, поэтому в этом случае вы получите IPN с помощью txn_type = recurring_payment_profile_cancel. Исходя из этого, вы можете обновить свою собственную базу данных, чтобы показать, что их учетная запись отменена, а затем не позволяет им войти в систему.

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

+0

Должен ли я создать столбец PayerIdPaypal для всех пользователей? – leonero

+0

Другой способ (например, с помощью песочницы): я могу видеть, когда кто-то отменяет повторяющийся платеж. Затем, если у меня есть идентификатор payerID в моей базе данных, я могу посмотреть, как называется имя пользователя, который отменил и удалил свою учетную запись. Правильно? – leonero

+0

О нет, плательщик (пример: YYYYYYYYYYYYY) не равен Идентификатор профиля (пример: I-XXXXXXXXXXXX) – leonero