2014-11-13 5 views
0

Я работаю в новом магазине на своем веб-сайте. Я бы хотел использовать Paypal IPN, чтобы мой магазин мог обрабатывать заказ автоматически.Когда PayPal отправляет уведомление об оплате (IPN)

Я использую песочницу, чтобы выполнить те же тесты моего кода, однако у меня есть некоторые проблемы (я думаю). Когда пользователь нажимает кнопку покупки в моем магазине, он перенаправляется на сайт paypal (в данном случае на странице песочницы). Затем пользователь произведет платеж (нажмите «купить сейчас»), а PayPal покажет страницу с обзором платежей, на этой странице есть ссылка, чтобы вернуться на мою веб-страницу магазина.

Из моих тестов я понимаю, что только когда пользователь нажимает на эту ссылку, чтобы вернуться в мой магазин, IPN - это вызов. В альтернативном IPN не вызывается, даже если платеж завершен. На самом деле, если я не нажимаю ссылку retutn, заказ не обрабатывается из моего магазина, но если я нажму на него, все будет работать.

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

Возможно ли это? Как?

Примечание: в моем магазине я использую HTML-формы и получаю оплату через PayPal.

ответ

0

Похоже, вы сбиваете с толку Instant Payment Notification (IPN) и Payment Data Transfer (PDT).

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

PDT предназначен для возврата данных на ваш URL-адрес возврата/благодарности, чтобы вы могли отображать его на этой странице. Это происходит в браузере и полагается на пользователя, который нажимает эту ссылку или автоматически возвращается к указанному URL-адресу возврата. Это НЕ рекомендуется для таких вещей, как обновления баз, уведомления по электронной почте и т. Д., Потому что даже при включенном автообновлении нет гарантии, что пользователь сделает это там, а затем ваш код не будет работать для этого заказа.

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

Опять же, IPN - это автономный скрипт, который никогда не будет запущен в браузере.

Смежные вопросы