Skip to content

completeCheckout

completeCheckout(paymentId: ID!, paymentMethod: ID): CompleteCheckoutResult!

Complete a checkout after Stripe confirmation, then fulfill the underlying entity (pass purchase or registration). Idempotent — safe to call multiple times.

Two flows converge here:

  • Guest (pay-only): the client already confirmed a PaymentIntent on the

business's connected account; this verifies it succeeded.

  • Signed-in (save-and-pay): the client confirmed a SetupIntent that

vaulted the card on the viewer's platform wallet and passes the resulting paymentMethod; the server clones it onto the connected account and runs the (off-session) direct charge here, so the card joins the unified wallet and the business is merchant of record.

Arguments

paymentIdID!
paymentMethodID

Returns

CompleteCheckoutResult!

See CompleteCheckoutResult for the full shape.

Try it

Authentication
Example
Query
mutation CompleteCheckout($paymentId: ID!, $paymentMethod: ID) {
  completeCheckout(paymentId: $paymentId, paymentMethod: $paymentMethod) {
    __typename
  }
}
Variables
{}
POST https://go.sessions.website/api/graphql