Skip to main content

createCheckout

Creates a Checkout row, opens a hosted payment session with the selected provider, and returns the row with externalUrl set — redirect the user there to pay. Status starts PENDING and is reconciled to COMPLETED/FAILED later via provider webhooks (this call does not itself capture funds). The side effect applied on completion depends on purpose (e.g. ORG_WALLET_TOPUP credits the org wallet, APP_ACCESS_PURCHASE grants app access). Requires an authenticated user; ORG_WALLET_TOPUP additionally requires the 'manage_billing' org permission. Purposes DONATION and PROPERTY_TOKENS are rejected. Pass input.idempotencyKey to make retries safe (a replay returns the first checkout instead of opening a second provider session).

createCheckout(
input: CreateCheckoutInput!
): Checkout!

Arguments

createCheckout.input ● CreateCheckoutInput! non-null input

Checkout parameters: provider, purpose, target ids, and amount. See CreateCheckoutInput for which fields each purpose requires.

Type

Checkout object