Медленный Paypal IPN на 3 секунды

0

У меня есть система PayPal IPN. Платежная система работает очень хорошо, требуется хорошая сумма денег, однако IPN просто немного выключен.

Я сделал несколько временных меток во время подключения IPN к моему сайту и времени загрузки страницы /shop/thanks - и вот данные:

IPN: [1416406186//14:09:46 19-11-14] papypal.php runtime: 1 seconds. (start time: 1416406185/end time: 1416406186) [1416406186//14:09:46 19-11-14] papypal.php runtime: 1 seconds. (start time: 1416406185/end time: 1416406186)

/shop/thanks error: [1416406183//14:09:43 19-11-14]/shop/thanks error - could not display thank you message.

ТРИ СЕКУНДА. Если я пойду прямо через процесс PayPal, я доберусь до своего веб-сайта за 3 секунды до того, как PayPal обновит меня через IPN. Если я пройду через это медленно, то, скорее всего, я получу правильную thank you страницу.

Раньше я не сталкивался с этой проблемой. Что я могу сделать, чтобы разобраться? Время выполнения сценария paypal.php составляет 1 секунду, поэтому мне не нравится, что я слишком долго обновляю базу данных.

  • 1
    Вам нужно переключиться на другой метод API. IPN предназначен для отчетности и управления бэк-офисом. Попробуйте вместо этого использовать метод Express Checkout .
Теги:
paypal-ipn

1 ответ

3
Лучший ответ

Вы не можете. Предполагается, что IPN будет асинхронным. Вы должны сказать "спасибо за ваш платеж, мы уведомим вас, когда ваш платеж будет завершен".

Но почему?

Потому что позвольте сказать, что я решу оплатить вам eCheque, т.е. прямо с моего банковского счета через PayPal. eCheques может занять от шести до десяти Дней, чтобы очистить.

IPN может выступать за "Уведомление о немедленном платеже", но "Мгновенная" часть относится к тому, когда вы действительно получаете платеж, а не когда пользователь отправляет его вам.

Теперь, при этом, вы можете настроить свой IPN-скрипт для принятия платежей "Ожидание" статуса и действовать соответствующим образом. Однако это не обязательно хорошая идея, поскольку она может ввести пользователя в заблуждение, считая, что их платеж завершен, когда на самом деле он может быть отменен или признан недействительным позже. Но это вопрос для UX. Даже тогда у вас все еще будет какая-то задержка, в то время как система IPN обрабатывает ваше уведомление.

  • 0
    Golly. У меня есть функционал IPN на других сайтах, и он там не работает медленно. Я проверю это все же. Спасибо за понимание.
  • 0
    @ Chud37 Одна вещь, на которую следует обратить внимание, это то, что PayPal обычно будет иметь страницу «Возврат вас к X» после завершения платежа, которая будет ждать около 10 секунд, прежде чем перенаправить вас - это означает, что большинство дел IPN обрабатывается перед отправкой сообщения. Пользователь вернулся. Конечно, это не гарантия того, что IPN будет работать в это время, и в любом случае есть ручная ссылка, по которой пользователь может нажать, чтобы вернуться без ожидания, но обычно это помогает.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню