Charge Checkout

Charges a checkout on the buyer's behalf, either with a saved instrument or on a payment terminal.

Use it when the buyer is not on your checkout page: a merchant-initiated charge of a saved card or bank account
(checkoutInstrumentId), or an in-person payment sent to a terminal (terminalId). Send exactly one of the two. The
charge is a single sale: there is no separate authorization, capture or void. To return money, refund the transaction.

Permission: Merchant Write. Your account must also be enabled for merchant-initiated charges; contact Payment Labs.

Rules

  • The checkout must have a buyer, must not be past the end of its expiresAt day, and must have no charge in progress or
    succeeded. A checkout whose earlier attempts all FAILED can be charged again.
  • checkoutInstrumentId must be an active instrument of the checkout's buyer; get one from List Available Checkout Instruments.
  • terminalId must be an ACTIVE terminal that is connected; check with /reference/check-terminal-connection.

What happens: the response is the new transaction, normally in PENDING. The charge is processed asynchronously and the
checkout moves to PROCESSING, then PAID or FAILED. A terminal charge waits for the buyer to present a card. Follow the
result with the checkout-status-changed webhook event (/reference/checkout-status-changed) or Get Checkout. Do not retry
a request that timed out before reading the checkout: if a transaction exists, a new charge is refused with 423.

Errors

  • 400 VALIDATION_ERROR: neither checkoutInstrumentId nor terminalId was sent, or details names one of:
    CHECKOUT_INSTRUMENT_NOT_FOUND, CHECKOUT_INSTRUMENT_NOT_ACTIVE, TERMINAL_NOT_FOUND (unknown or not connected),
    TERMINAL_NOT_ACTIVE.
  • 403 FORBIDDEN: the checkout belongs to another merchant, or merchant-initiated charges are not enabled for your account
    or for this checkout. Contact Payment Labs to enable them.
  • 404 NOT_FOUND: the checkout does not exist.
  • 409 VALIDATION_ERROR: the checkout has no buyer, or your account can no longer charge this checkout.
  • 409 FEE_CONFIGURATION_INVALID or 409 FEE_CALCULATION_FAILED: the charge could not be priced. Nothing was charged; contact Payment Labs.
  • 423 NOT_EDITABLE: the checkout has expired, already has a charge in progress, or is already paid.
Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required

The checkout ID (S-…), as returned by Create Checkout.

Body Params
Responses

Language
Credentials
Bearer
JWT
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json