Skip to main content
PUT

Headers

X-Checkout-Journey-Id
string

Optional non-authorizing checkout journey UUID. Use with X-Checkout-Attempt-Id. Capture is disabled by default; malformed or incomplete pairs are ignored without changing checkout behavior. Cart scope comes from the authenticated cart token, never these headers.

X-Checkout-Attempt-Id
string

Optional customer-submission UUID paired with X-Checkout-Journey-Id. Retain it for transport retries and originating continuations; use a new UUID for a new customer submission. It does not replace payment or order idempotency keys. Invalid pairs are ignored rather than rejecting payment.

Path Parameters

cart_token
string
required

Opaque cart token returned by the create-cart response. It scopes the request to a single cart and is the credential for these endpoints — cart-token authentication carried in the path, with no bearer token or API key.

Body

application/json
type
string
required

Payment type (credit_card, paypal, apple_pay, klarna, bread, affirm, ach, or a platform type such as *_citcon, *_ppro, *_dlocal).

payment_method
object

Type-specific payment payload (e.g. VGS card fields for credit_card; order_id/token for paypal; authorization_token/session_id for klarna). For credit_card, token_provider defaults to vgs and is matched case-insensitively; any other value is a 422.

billing_address
object

Optional billing address. All fields are optional.

payment_account
string | null

PaymentAccount UUID override for routing.

customer_details
object | null

Integration-specific customer details.

device_data
string | null

Braintree Data Collector fraud fingerprint.

use_customer_payment_method
boolean

Resolve payment_method_id against the customer's saved payment methods instead of the shared wallet.

payment_method_id

Existing saved PaymentMethod id (saved payment method flow).

jwt
string

Customer/user JWT authorizing use of a saved payment method (may also be sent as an Authorization header).

token
object

Raw Apple Pay payment token envelope (apple_pay flow).

apple_pay_token
object

VGS-decrypted Apple Pay token data (apple_pay flow, inbound VGS route).

payment_type
string

Secondary payment-type selector. When set to "paypal" on an apple_pay request, routes the decrypted Apple Pay token through the PayPal-on-Apple-Pay flow.

Response

Payment method set

Success body for setting the cart payment method. The shape varies by payment type: credit_card/apple_pay return card; saved payment methods return card + payment_method; paypal returns order_id (Braintree SDK PayPal also returns transaction_id); klarna returns authorization_token; ach returns the same ach session as ach_session; bread/affirm/platform payments return an empty object.

order_id
string

PayPal order id (paypal and decrypted Apple Pay-on-PayPal flows).

transaction_id
string

Braintree transaction id (Braintree SDK PayPal flow).

authorization_token
string

Klarna authorization token (klarna flow).

ach
object

The ACH session. Routing has chosen the account behind it, and the checkout mounts that provider's collector from this object alone. The payment-method list carries no provider credentials.

card
object

Sanitized stored-card JSON (credit_card, apple_pay, and saved payment method flows).

payment_method
object

Formatted payment method (saved payment method flow).