Paypal IPN постоянно попадает на мою страницу IPN с одной и той же транзакцией - PullRequest
1 голос
/ 23 февраля 2012

Я только что переместил свой сервер на новый хост и, очевидно, изменил DNS для моей страницы PayPal IPN.

По какой-то причине PayPal продолжает появляться на моей странице каждые 30 секунд с одними и теми же транзакциями снова и снова.

Так что, конечно, он проверяется, а затем сохраняется в базе данных как дубликаты записей.

У кого-нибудь была эта проблема? Или знаете как исправить?

Ответы [ 2 ]

1 голос
/ 23 февраля 2012

Убедитесь, что ваш браузер возвращает статус 200 OK в PayPal.

В любом случае, вы должны хранить идентификаторы отслеживания IPN (ipn_track_id) в вашей базе данных и проверять наличие дубликатов. Это единственный гарантированный способ решить вашу проблему.

0 голосов
/ 23 февраля 2012

Согласно документации IPP PayPal:

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

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

ВАЖНО: PayPal ожидает получить ответ на сообщение IPN в течение 30 секунд.Ваш слушатель не должен выполнять трудоемкие операции, такие как создание процесса, прежде чем ответить на сообщение IPN.

Итак, а) ваш скрипт правильно отвечает, а б) параметр notify_url из вашей транзакцииотличается с вашим изменением DNS?

...