Интеграция PayPal Smart Payment API со старым Express Checkout API - PullRequest
1 голос
/ 20 января 2020

В настоящее время у нас есть система для обработки платежей PayPal. Это делается с помощью Express Checkout API. Метод DoAuthorization принимает 17-символьный TransactionID в качестве параметра.

Я пытаюсь реализовать новый API PayPal Smart Payment Buttons. У меня есть поток, запрограммированный с помощью intent = AUTHORIZE, но я могу получить только идентификатор авторизации и идентификатор заказа (оба значения по 17 символов) из ответа Auth после его завершения.

Когда я пытаюсь авторизовать заказ и передать одно из двух значений в метод DoAuthorization, возвращается с ошибкой: TransactionID invalid (10609).

Мой вопрос: возможно ли использовать Идентификатор авторизации Smart Payments API и идентификатор заказа и передать его в метод DoAuthorization Express Checkout и все еще заставить работать две системы?

Возможно ли, что я получаю ошибку 10609, потому что намерение = Авторизовать уже авторизует заказ, и мне нужно вызвать метод DoCapture?

1 Ответ

1 голос
/ 20 января 2020

Можно использовать пользовательский интерфейс SPB, но не его API (фактически он построен на API REST v2 / orders)

Нельзя смешивать настройки платежей v2 / order API с classi c captures.

Итак, пока вы используете для захвата вызовы API classi c (это очень прискорбное требование, что я бы посоветовал исключить ASAP, но это в вашем вопросе) - тогда, вам также нужно также продолжать использовать API-вызовы classi c для настройки платежа .

См. демонстрационный шаблон сервера: https://developer.paypal.com/demo/checkout/# / pattern / server

Часть createOrder выполнит XHR-выборку на ваш сервер, который затем вызовет classi c SetExpressCheckout и вернет токен E C. SPB будет использовать токен classi c E C, но покажет свой новый пользовательский интерфейс.

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