Я настроил сайт PayPal, который использует IPN, и у меня возникли проблемы с получением PayPal для отправки переменных GET на указанный мной URL-адрес возврата. Он отправлял браузер пользователя по обратному URL, но ничего не передавалось через GET или POST.
Я изменил одну настройку в бизнес-счете PayPal: «Передача платежных данных (необязательно)» на «Вкл», при которой на веб-сайте PayPal был создан «Идентификационный токен».
Я также получил автоматическое письмо от PayPal, в котором говорилось:
---------- Forwarded message ----------
From: service@paypal.com <service@paypal.com>
Subject: Payment Data Transfer (PDT) Has Been Enabled
This email is to inform you that you have successfully enabled Payment Data Transfer.
PDT's primary function is to display payment transaction details to buyers when they are redirected back to your site upon payment completion. However, there are cases, such as with pending transactions, where you won't receive notification of all transactions. For this reason, PayPal strongly recommends that you also enable Instant Payment Notification (IPN).
To learn more about enabling and setting up IPN:
https://www.paypal.com/us/cgi-bin/?cmd=p/xcl/rec/ipn-intro-outside
To learn more about Payment Data Transfer, including setup instructions and a complete list of variables:
https://www.paypal.com/us/cgi-bin/?cmd=p/xcl/rec/pdt-intro-outside
Sincerely,
PayPal
Нажав на вторую ссылку и нажав «Технический обзор» (https://www.paypal.com/us/cgi-bin/webscr?cmd=p/xcl/rec/pdt-techview-outside) показывает:
Ваш POST должен быть отправлен
https://www.paypal.com/cgi-bin/webscr.
Вы должны опубликовать токен транзакции
используя переменную "TX" и значение
токена транзакции ранее
получил (например,
"tx =action_token"), и
специальный токен с использованием
переменная в и значение вашего PDT
идентификационный токен (например,
"У = identity_token"). Вы также
нужно добавить переменную с именем "cmd"
со значением "_notify-synch", для
пример "cmd = _notify-synch", чтобы
POST строка.
Тем не менее, я НЕ передаю Identity Token, но все работает нормально!
(a) Is this a problem?
(b) Why is it working if the documentation implies that it shouldn't?
(c) Is this a consequence of specifying an outdated API version (58.0)? What is the value I should be using?