Идентификационный токен НЕ требуется для передачи платежных данных PayPal (PDT)? - PullRequest
1 голос
/ 21 февраля 2011

Я настроил сайт 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?

1 Ответ

1 голос
/ 14 мая 2012

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

Я предполагаю, что это ошибка, с которой вы столкнулись.Вы тестируете в песочнице Paypal или в реальной среде?

...