Skip to main content
POST
Create Payment create payment

Path Parameters

cart_token
string
required

Body

application/json
payment_account_id
string

UUID of the company's Braintree payment account. Required in practice; a missing or foreign account returns 404.

payment_method_nonce
string

One-time payment method nonce returned by the Braintree client SDK

device_data
string

Braintree device data string for fraud screening

payment_type
string

Optional override. Only braintree_paypal_pay_later is honoured; any other value is ignored.

payer_email
string<email>

Email of the PayPal payer

shipping_address
object

Shipping address collected by the wallet popup; saved as the cart's ship-to address

approved_amount
string

Decimal string of the total the buyer approved in the PayPal modal. Required for the checkout-with-vault flow.

approved_currency
string

ISO 4217 currency of approved_amount. Required whenever approved_amount is sent.

paypal_flow
string

Set to checkout_with_vault when the front end produced a checkout-with-vault nonce.

expected_total
string

The cart total the client showed the shopper, as a decimal string in the cart currency's major unit ("141.74"). Requires expected_currency.

Required on an unpinned request (no approved_amount, no paypal_flow) while the company's quote-failure policy is enabled: omitting it, or sending it malformed, answers 422 with an expected_total or expected_currency error before the cart is repriced and before any provider call. When it no longer matches the cart, the response is 409 with meta.code = cart_total_changed and nothing is charged; retry with the total in meta.cart. Optional, and ignored, otherwise.

Pattern: ^\d{1,12}(\.\d{1,5})?$
Example:

"141.74"

expected_currency
string

ISO 4217 code of the currency the shopper was shown. Requires expected_total.

Response

Created

meta
object
required
payment_type
string
required
transaction_id
string
required