PayPal IPN уведомление дважды - PullRequest
       7

PayPal IPN уведомление дважды

2 голосов
/ 21 сентября 2010

Мой скрипт уведомлений запускается дважды, первый проверяется, а второй - НЕВЕРНЫЙ.

Я пробовал разные сценарии проверки ipn и всегда получаю его дважды.

Я использую песочницу, возможно, аккаунт продавцанастройки не верны?Я установил IPN с уведомлением и автоматическим возвратом.Также в форме есть return и notify_url set

Ответы [ 2 ]

3 голосов
/ 21 сентября 2010

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

Возможно, лучше задать вопрос: почему он говорит «Проверено», а затем «Недействительно»?Или это нормально?

РЕДАКТИРОВАТЬ

Документы говорят "PayPal отправляет обратно одно слово, которое либо ПРОВЕРЯЕТСЯ, если сообщение отправлено с PayPal, либо НЕДОПУСТИМО, если естьлюбое несоответствие с тем, что было первоначально отправлено ".Я собираюсь догадаться, что ВАШ код случайно отправляет «эхо» обратно в PayPak дважды, и один из них искажен.Возможно, они оба идентичны, но PayPal отвечает INVALID, если получает его дважды.Но неважно, для определенного идентификатора транзакции, как только вы получите ПРОВЕРКУ, все будет в порядке.Просто игнорируйте все последующие ответы.

РЕДАКТИРОВАТЬ 2

Обратный URL просто используется PayPal для перенаправления пользователя обратно на ваш сайт.Используйте эту страницу, чтобы поблагодарить их за покупку и сообщить им, что они будут уведомлены после завершения обработки.Вы даже можете установить это в пустую строку, если вы не хотите эту функцию.Когда Платеж фактически завершен (или обнаружена какая-либо проблема), PayPal вызовет скрипт, на который ссылается URL-адрес уведомления.Здесь вы убедитесь, что все выглядит правильно, обрабатываете дубликаты уведомлений, обновляете базу данных, отправляете электронное письмо пользователю, в котором говорится, что его платеж был обработан и т. Д.

0 голосов
/ 16 января 2019

перед вставкой или обновлением запроса MySQL Проверьте, существует ли уже возвращенный идентификатор транзакции '$ _POST [' txn_id ']' в вашей таблице базы данных, если его нет, поэтому вставьте его с другими данными $ _POST, потому что paypal вызывает notifyURL много раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...