Автоматический возврат PayPal не возвращает никаких почтовых данных


У меня аналогичная проблема с этим сообщением

Настройка URL-адреса возврата PayPal и его автоматический возврат?

Однако решение там не работает. У нас настроен IPN, и переменные POST передаются обратно (посетитель нажимает назад и может загружать приобретенные PDF-файлы), но затем я попытался избавиться от страницы подтверждения заказа Paypal, на которой написано

Вы только что завершили платеж. Ваш идентификатор транзакции для этого платежа является: ХХХХХХХХХХХХХ.

И включил "Автоматический возврат" в Настройках оплаты веб-сайта, указав URL-адрес http://www.educted.ca/payment_complete.php , переменные POST теперь не передаются обратно в payment_complete.php - он показывает пустой. Как только я отключу "Автоматический возврат", переменные ЗАПИСИ будут отображаться правильно, и приобретенные товары можно будет загрузить. Конечно, я использую учетную запись Paypal в песочнице.

<input type="hidden" name="return" value="<?php echo LIVE_SITE;>payment_complete.php">
<input type="hidden" name="cancel_return" value="<?php echo LIVE_SITE; ?>catalog.php">
<input type="hidden" name="notify_url" value="<?php echo LIVE_SITE; ?>ipn.php">
<input type="hidden" name="rm" value="2">

Есть идеи?

Author: Community, 2011-12-29

4 answers

Если вы включите автоматический возврат, значения всегда будут возвращены с помощью GET, независимо от значения rm.

Если вы хотите осуществить немедленную доставку файлов после того, как покупатель завершит транзакцию, ознакомьтесь с передачей платежных данных PayPal. После включения PDT добавляет tx ПОЛУЧИТЬ var к вашему URL-адресу возврата; позвонив в PayPal по адресу https://www.paypal.com/cgi-bin/webscr?cmd=_notify-synch&tx=value-for-tx-here&at=value-for-your-paypal-account-authentication-token вы сможете получить дополнительные данные о транзакции и сразу же проверить, действительна ли она.
См. также https://www.paypal.com/pdt/

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

 13
Author: Robert, 2011-12-28 22:11:48

Вы все еще можете сохранить значение автоматического возврата включенным, но убедитесь, что вы ОТКЛЮЧИЛИ PDT, и вы получите все переменные транзакции, отправленные на ваш URL-адрес возврата по ПОЧТЕ (если в вашем запросе для параметра rm установлено значение 2, конечно, как вы сказали, у вас есть).

По какой-то причине включение PDT будет игнорировать параметр rm и принудительно использовать метод GET.

 4
Author: Camille Semaan, 2013-08-13 19:25:16

В вашем конкретном случае он показывался пустым из-за ошибки в вашем коде:

<?php echo LIVE_SITE;>

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

 1
Author: James Pederson, 2013-12-17 00:58:36

Вы все еще можете сохранить значение автоматического возврата включенным, но убедитесь, что вы ОТКЛЮЧИЛИ PDT, и вы получите все переменные транзакции, отправленные на ваш URL-адрес возврата по ПОЧТЕ (если в вашем запросе для параметра rm установлено значение 2, конечно, как вы сказали, у вас есть).

Это правильный ответ! Вы не должны разрешать отправку платежных данных с автоматическим ответом, если хотите получать почтовые данные.

НО в этом случае вам придется использовать https-сайт, иначе клиент получит предупреждение до перенаправление!

 1
Author: Dirk_G, 2014-12-12 10:41:12