Документы предоставляют 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?




Если вам нужно использовать авторизацию, см. Каталог AuthorizationIntentExamples в этом проекте.
См. классы в github.com/paypal/Checkout-Java-SDK/tree/develop/checkout-sdk/…, особенно CaptureRequest.
Как аннулировать (отменить) авторизацию? Я нашел метод AuthorizationsVoidRequest, но он кажется необработанным, а путь и заголовок, принадлежащие com.paypal.http.HttpRequest, недоступны без инициализации HttpRequest.
Я нашел пустоту: AuthorizationsVoidRequest request = new AuthorizationsVoidRequest("AUTHORIZATION-ID"); HttpResponse<Void> response = client().execute(request);
в своем ответе выше вы сказали: «Если вам нужно использовать авторизацию», вы имеете в виду, что авторизации можно избежать?
можно ли сделать авторизацию без заказа с помощью Checkout-Java-SDK?
Ордера используются для получения одобрения от плательщика; без заказа нет оплаты. Чтобы не использовать авторизации, заказ должен иметь намерение: захват. Это значение по умолчанию.
Это инновация Checkout-Java-SDK? Похоже старый SDK умел использовать авторизации без ордеров
API v1 и старый SDK использовали платежи для процесса утверждения, а не заказы для процесса утверждения. Разные имена, один и тот же процесс.
Я нашел ваш ответ о разнице между v2/orders и v2/payments здесь: stackoverflow.com/questions/67476475 Итак, v2/orders предназначен для процесса утверждения плательщика, но позволяет зафиксировать заказ и вернуть его, а v2/payments - для работы с авторизациями. . Я не нашел способ аннулировать заказ, это возможно только с v2/payments? Таким образом, разница между этими двумя API заключается в том, что v2/orders работает с идентификаторами заказов, а v2/payments работает с авторизацией, а между захватом и возвратом также позволяет аннулировать?
Это отдельный разговор от того, что вы спросили, поскольку v1/payments и v2/payments — это разные вещи. В любом случае, приказы с намерением захвата должны быть перехвачены немедленно. Если не собираетесь захватывать сразу, используйте авторизации.
Давайте продолжить обсуждение в чате.
Так что, если я не собираюсь захватить немедленно, мне нужно использовать v2/payments, иначе, если я хочу захватить немедленно, мне нужно использовать v2/orders, верно?
Здравствуйте, спасибо за ваш ответ. По вашей ссылке нашел функцию captureOrder, но не могу там найти как установить сумму? Здесь: github.com/paypal/Checkout-Java-SDK/blob/develop/…