ReturnURL для адаптивных платежей Paypal

Я пытаюсь использовать AdaptivePayments для отправки средств от одного пользователя другому через мой сайт, поэтому я могу проверить, действительно ли они прошли платеж. Платеж проходит, но они не возвращаются на мой сайт, поэтому я не могу отследить платеж.

Я перенаправляюсь на `https://www.sandbox.paypal.com/webscr&cmd=_ap-payment&paykey=MYKEY, но я просто получаю доступ к 'Моей учетной записи' и вижу, что платеж прошел успешно, но не перенаправлен.

Я также пытался перенаправить на https://sandbox.paypal.com/webapps/adaptivepayment/flow/pay?&paykey=MYKEY, но получаю:

Эта транзакция уже одобрена. Посетите страницу «Обзор учетной записи PayPal», чтобы просмотреть подробные сведения.

Я перенаправляю, установив NVPRequest["returnUrl"] = "http://mysite.com/APReturn.aspx, но это, по-видимому, игнорируется. Есть ли способ сделать это или лучший способ добиться того, что мне нужно?


person Echilon    schedule 27.07.2011    source источник


Ответы (4)


Поздно, но для тех, кто натыкается на это в гугле:

Вы должны перенаправить на https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_ap-payment&paykey=MYKEY (обратите внимание на добавление cgi-bin и замену & на ?). Кроме того, я бы настоятельно не рекомендовал вам использовать страницу возврата в качестве средства отслеживания покупателя. Покупатели могут (и будут) закрывать свой браузер, как только платеж будет завершен.

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

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

Для стандартных платежей через веб-сайт (где «xxxxxxxxx» — это полный URL-адрес вашего сценария IPN):

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

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

Для адаптивных платежей: включите ipnNotificationUrl в запрос на оплату.

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

person Robert    schedule 23.08.2011
comment
+1 аналогично опоздал, но прикомандирован. IPN - ЕДИНСТВЕННЫЙ способ сделать это, иначе пользователи будут трахать вас каждый день. Образец кода Paypal в порядке, но нуждается в проверке, так как я обнаружил орфографические ошибки в именах переменных на моем (PHP) - person totallyNotLizards; 01.11.2011
comment
Привет, я использую IPN для уведомления об оплате, однако в AdaptivePayments.Pay я все еще хочу указать returnURL для перенаправления PayPal, когда пользователь завершит работу. Это по какой-то причине появляется в лайтбоксе IFrame. Вы пришли к этому или знаете способ обойти это? - person Jordan; 06.06.2012
comment
Этот URL-адрес является ключом к тому, чтобы заставить его работать. У меня был старый в унаследованном коде, и если у вас появляется всплывающее окно, вы ошиблись. это гладкий встроенный js-материал. Я надеюсь, что это круто для производства!! - person pjammer; 12.09.2012

Не уверен, но пробовали ли вы это https://cms.paypal.com/cms_content/US/en_US/files/developer/PP_AdaptivePayments.pdf ? Попробуйте выполнить поиск через документальную сеть с ключевым словом = 'returnurl' или ключевым словом = 'rerun url'

person Ruslan Polutsygan    schedule 28.07.2011

Оказывается, установка адреса электронной почты отправителя предварительно одобряет транзакцию.

person Echilon    schedule 29.07.2011

Причиной сообщения «Эта транзакция уже одобрена» может быть то, что вы используете неверный тестовый аккаунт в качестве «отправителя» при вызове PAY API. Вот как создать правильный тестовый аккаунт: http://www.pashabitz.com/2011/12/18/Adaptive+Payments+Error+This+Transaction+Has+Already+Been+Approved.aspx

person Pasha Bitz    schedule 18.12.2011