Как вы подключаете подтверждение PayPal IPN для пользователя? - PullRequest
9 голосов
/ 20 февраля 2009

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

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

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

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

Ответы [ 4 ]

3 голосов
/ 20 февраля 2009

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

У меня нет опыта с повторяющимися платежами.

2 голосов
/ 20 февраля 2009

Недавно я также настроил некоторые повторяющиеся платежи через Paypal.

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

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

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

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

URL-адрес сценария IPN всегда остается неизменным.

0 голосов
/ 11 февраля 2010

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

0 голосов
/ 20 февраля 2009

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

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

...