Я пытаюсь исправить проблему уведомления PayPal PDT на старом сайте Java 6, работающем на Tomcat 6.
В конфигурации включен автоматический возврат с включенным PDT, так что это не видно.
В соответствии с документацией от PayPal мы перенаправляем пользователя в PayPal через форму со всеми необходимыми переменными.Пользователь перенаправляется по мере необходимости и может оплатить.
Платеж проходит.Деньги переворачиваются на счет PayPal, как и должно быть.
Проблема возникает, когда PayPal перенаправляет обратно на сайт.
Мы получаем GET обратно от PayPal с номером TX, как и должно быть.
Когда мы пытаемся отправить POST обратно в PayPal по адресу https://www.paypal.com/cgi-bin/webscr с параметрами:
post.addParameter("cmd","_notify-synch");
post.addParameter("tx", transferId);
post.addParameter("at", PDT_TOKEN);
Мы ДОЛЖНЫ получить HTTP 200 с УСПЕХОМ и с данными о платеже или сбое, еслиоплата не сработала.
То, что мы на самом деле получаем, - это перенаправление HTTP 307 с заголовком:
Location: https://www.paypal.com/cgi-bin/webscr/?IPN=true
Это проблема на нашей стороне, или PayPal изменил что-то, чего я не делаюзнать (я не создавал этот сайт и мне его дали только для решения этой проблемы.)