Paypal AngellEye DoExpressCheckout - несоответствие данных - PullRequest
0 голосов
/ 03 июля 2018

Я только начинаю использовать библиотеку AngellEye с php, в частности SetExpressCheckout, который вызывает DoExpressCheckoutPayment.

Я создал свою корзину и отправил ее в Paypal, используя функцию SetExpressCheckout.

Кажется, все проходит правильно, но я оставил DoExpressCheckoutPayment, как и в исходной корзине, как в демоверсии. Именно эта корзина проходит через Paypal, а не мою корзину.

Это правильно? Я думал, что он заметил бы, что оригинальная корзина не то, что в конечном итоге обрабатывается, и выдал ошибку. Я знаю, что могу перестроить корзину в DoExpressCheckoutPayment, но я думал, что они должны совпадать, чтобы уловить любые помехи, которые могли иметь место между моим сайтом и Paypal - или это моя работа, чтобы проверить? (Хорошо, если это так!)

Кстати, он выдает ошибку, когда код валюты не совпадает - мне пришлось изменить их оба на GBP

Если я неправильно понял, как это должно работать, мои извинения.

1 Ответ

0 голосов
/ 03 июля 2018

В общей практике:

Содержимое и значения в SetExpressCheckout должны совпадать с DoExpressCheckoutPayment в пределах разрешенной области (вам разрешено изменять значения и позиции покупки для пользователя ... в пределах разумного).

Почему он не жаловался:

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

Смотрите, когда вы изначально отправляете пользователя на PayPal с такой информацией, как:

  • Купить товар # 4
  • за $ 9,99
  • USD

Тогда этот пользователь «соглашается с этими условиями и авторизует транзакцию». Вы получаете код авторизации для продолжения захвата. Однако именно в этот момент у продавца есть маржа для изменений (хотя это и не рекомендуется, поскольку вы легко расстраиваете клиентов). Где вы могли бы сделать окончательную транзакцию:

  • Купить товар # 9282 (переключить товар на пользователя)
  • За $ 11,99 (немного поднять цену, требуя «добавленные налоги» или что-то еще)
  • USD (должно остаться таким же, как вы указали)

Хотя это все еще «приемлемо» для системы PayPal ... это не может быть правильным бизнесом для клиентов.

Забота о помехах:

Ваша забота о " вмешательстве, которое могло иметь место ", не должна быть одной. Код транзакции, идентификатор продавца и секрет - все это используется для предотвращения такого рода вмешательств посредников. А поскольку действия Set и Do выполняются на стороне сервера (не в javascript), пользователь не может напрямую изменить эти значения, чтобы получить другой продукт по более низкой цене.

Надеюсь, это поможет прояснить ваши проблемы / вопросы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...