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

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

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

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

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

4 ответов


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

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

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

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

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

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


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

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


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

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


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