Как зафиксировать авторизованный платеж с помощью PayPal Checkout-Java-SDK?

Документы предоставляют HTTP-запросы в качестве примера для «Захвата авторизованного платежа»: https://developer.paypal.com/docs/archive/payments/authorize-and-capture-payments/.

Checkout-Java-SDK имеет только примеры для захвата заказа: https://github.com/paypal/Checkout-Java-SDK/blob/develop/checkout-sdk-sample/src/main/java/com/paypal/CaptureIntentExamples/CaptureOrder.java

Как использовать Checkout-Java-SDK для достижения того же, что показано в документах с HTTP-запросом? Как зафиксировать авторизованный платеж с помощью PayPal Checkout-Java-SDK?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
24
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если вам нужно использовать авторизацию, см. Каталог AuthorizationIntentExamples в этом проекте.

Здравствуйте, спасибо за ваш ответ. По вашей ссылке нашел функцию captureOrder, но не могу там найти как установить сумму? Здесь: github.com/paypal/Checkout-Java-SDK/blob/develop/…

Marat 14.05.2022 18:08

См. классы в github.com/paypal/Checkout-Java-SDK/tree/develop/checkout-sd‌​k/…, особенно CaptureRequest.

Preston PHX 14.05.2022 18:45

Как аннулировать (отменить) авторизацию? Я нашел метод AuthorizationsVoidRequest, но он кажется необработанным, а путь и заголовок, принадлежащие com.paypal.http.HttpRequest, недоступны без инициализации HttpRequest.

Marat 14.05.2022 20:21

Я нашел пустоту: AuthorizationsVoidRequest request = new AuthorizationsVoidRequest("AUTHORIZATION-ID"); HttpResponse<Void> response = client().execute(request);

Marat 14.05.2022 21:04

в своем ответе выше вы сказали: «Если вам нужно использовать авторизацию», вы имеете в виду, что авторизации можно избежать?

Marat 17.05.2022 20:31

можно ли сделать авторизацию без заказа с помощью Checkout-Java-SDK?

Marat 17.05.2022 20:48

Ордера используются для получения одобрения от плательщика; без заказа нет оплаты. Чтобы не использовать авторизации, заказ должен иметь намерение: захват. Это значение по умолчанию.

Preston PHX 17.05.2022 21:13

Это инновация Checkout-Java-SDK? Похоже старый SDK умел использовать авторизации без ордеров

Marat 17.05.2022 21:17

API v1 и старый SDK использовали платежи для процесса утверждения, а не заказы для процесса утверждения. Разные имена, один и тот же процесс.

Preston PHX 17.05.2022 21:20

Я нашел ваш ответ о разнице между v2/orders и v2/payments здесь: stackoverflow.com/questions/67476475 Итак, v2/orders предназначен для процесса утверждения плательщика, но позволяет зафиксировать заказ и вернуть его, а v2/payments - для работы с авторизациями. . Я не нашел способ аннулировать заказ, это возможно только с v2/payments? Таким образом, разница между этими двумя API заключается в том, что v2/orders работает с идентификаторами заказов, а v2/payments работает с авторизацией, а между захватом и возвратом также позволяет аннулировать?

Marat 17.05.2022 21:31

Это отдельный разговор от того, что вы спросили, поскольку v1/payments и v2/payments — это разные вещи. В любом случае, приказы с намерением захвата должны быть перехвачены немедленно. Если не собираетесь захватывать сразу, используйте авторизации.

Preston PHX 17.05.2022 21:34

Давайте продолжить обсуждение в чате.

Marat 17.05.2022 21:39

Так что, если я не собираюсь захватить немедленно, мне нужно использовать v2/payments, иначе, если я хочу захватить немедленно, мне нужно использовать v2/orders, верно?

Marat 17.05.2022 21:48

Другие вопросы по теме