Skip to content
CommerceAPI

Exactly-once checkout

A retried checkout never places an order twice or takes a payment twice, whether the shopper pays by card or PayPal.

Send an Idempotency-Key with POST /checkout/complete. A success is stored for 24 hours and replayed with Idempotent-Replayed: true. The same key with a different body is refused with 422 IDEMPOTENCY_KEY_REUSED.

  • Each Stripe PaymentIntent is tied to one cart in one store, and can be used once.
  • PayPal captures are recorded before the order is placed, so a shopper is never charged without an order.
  • A declined card returns 402 PAYMENT_FAILED with a decline code your storefront can explain.

Follow every update with the RSS feed.

See what one platform can do for you

Get started in minutes, or book a demo and we will walk you through it.