Как проверить успешную оплату PayPal - PullRequest
6 голосов
/ 01 сентября 2011

Я пытаюсь получить информацию о транзакции PayPal, которая передается на наш сайт, когда клиент перенаправляется на наш сайт.

Я включил автовозврат и pdt в настройках своей учетной записи PayPal в песочнице. Я отправил пример транзакции в PayPal, и он ответил на мой URL-адрес возврата с добавлением tx.

Как было найдено в некоторых документах, я сделал curl req для https://www.paypal.com/cgi-bin/webscr и попытался получить информацию, передавая значения req следующим образом:

a.) tx = same one received from paypal
b.) at = pdt code given by paypal while turning pdt on
c.) cmd= "_notify-synch"

но в результате я получаю String (0) "".

Чего мне не хватает?

1 Ответ

8 голосов
/ 02 сентября 2011

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

Вы можете использовать IPN, настроив скрипт, который получает это (POST)данные из PayPal.Кроме того, вы должны включить следующий код в свою кнопку и / или вызовы API:

Для платежей через веб-сайт Standard (где "xxxxxxxx" - полный URL-адрес вашего сценария IPN):
inputtype = "hidden" name = "notify_url" value = "xxxxxxxx"

Для экспресс-оплаты: включите NOTIFYURL = xxxxxxxx в ваш вызов SetExpressCheckout и DoExpressCheckoutPayment API

Для платежей через веб-сайт Pro Включить NOTIFYURL = xxxxxxxxв вашем вызове API DoDirectPayment

Образец кода, документацию и дополнительную информацию о IPP PayPal можно найти по адресу https://www.paypal.com/ipn

Кроме того, здесь есть статья с дополнительными шагами по проверке подлинностиСообщения IPN на https://www.x.com/developers/community/blogs/ppmtsrobertg/securing-your-instant-payment-notification-ipn-script

...