Как вы подключаете подтверждение IPN Paypal к пользователю?

StackOverflow https://stackoverflow.com/questions/567282

Вопрос

Я хотел использовать IPN-сервис Paypal для подтверждения платежей за периодическую подписку на мой веб-сайт.Как вы привязываете подтверждения IPN к пользователю вашего сайта?

Сообщение с подтверждением IPN содержит имя, адрес электронной почты, идентификатор paypal, идентификатор повторяющегося платежа, но, похоже, оно не дает уникального идентификатора, поскольку я не знаю, откуда берется идентификатор paypal или идентификатор повторяющегося платежа, и может оказаться нетривиальным однозначно сопоставить имя / адрес электронной почты, который есть у пользователя в его учетной записи paypal (или введен там), с именем / адресом электронной почты, которые у меня есть для него на моем сайте (может быть много имен Джона Смита, и человек может выбрать другой адрес электронной почты).)

1) Когда я отправляю запрос на первоначальный платеж в Paypal, я могу прикрепить уникальный UUID к URL-адресу, который я прошу их отправить мне обратно, поэтому, если я сохраню этот уникальный идентификатор для этого пользователя, я смогу сопоставить это подтверждение платежа с пользователем, который его инициировал.Делаю ли я это сложнее, чем есть на самом деле?Есть ли более простой способ?

2) Кроме того, для регулярной оплаты / подписки paypal всегда использует URL, который я указал при инициировании первоначального платежа?Есть ли у кого-нибудь практический опыт использования повторяющихся платежей Paypal с IPN, повторно ли используется этот уникальный URL?Или я должен связать идентификатор Paypal с пользователем после получения первого повторяющегося платежа?

Это было полезно?

Решение

Недавно я также настроил несколько повторяющихся платежей с помощью Paypal.

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

Что делает мой скрипт IPN, так это генерирует уникальный код активации, привязанный к идентификатору подписки Paypal в таблице Активаций, затем он отправляет этот код тому, кто оплатил подписку, с инструкциями о том, как активировать.

В момент активации вам необходимо зарегистрироваться или войти в систему.На этом этапе идентификатор пользователя добавляется в соответствующую строку в таблице Активаций.

Когда приходит уведомление об окончании срока действия IPN, скрипт IPN выполняет поиск идентификатора пользователя из таблицы Активаций на основе идентификатора подписчика, указанного в IPN.Затем я могу сделать все, что мне нужно, с этим пользователем, чтобы отключить его подписку.

В любое время URL-адрес скрипта IPN остается неизменным.

Другие советы

Прикрепление уникальных данных к платежному запросу - в значительной степени общепринятый способ сделать это.

У меня нет никакого опыта работы с повторяющимися обвинениями.

1) Вы можете отправить параметр 'item_number' с начальной настройкой подписки, который будет передан вам обратно.Я бы предложил встроить в него идентификационный токен.

2) Если вы имеете в виду параметр 'return', то нет, он предназначен для отправки пользователю по завершении настройки подписки.Обновление происходит автоматически и не "пингует" эту страницу.

1) Вы хотите использовать item_number параметр.Укажите это в вашей HTML-форме, показываемой клиенту, и она будет возвращена вам IPN PayPal, так что вы можете ввести здесь идентификатор строки базы данных и использовать его для сопоставления с нужным человеком позже.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top