Skip to main content

API endpoint mapping

Create a payment request

  • Amount is now a direct string field (not nested in local_price)
  • Currency is specified directly (Checkouts API currently supports USDC)
  • Network specification is now explicit (defaults to base)
  • Redirect URLs have been renamed for clarity
  • name field is removed; use description instead
  • Idempotency is supported via X-Idempotency-Key header

List payment requests

  • Pagination uses pageSize and pageToken instead of Commerce’s cursor-based approach
  • Can filter by status (ACTIVE, PROCESSING, DEACTIVATED, EXPIRED, COMPLETED, FAILED)
  • Response includes nextPageToken for retrieving next page
  • Response key is checkouts (not data)

Retrieve a specific payment request

  • Use the checkout ID (24-character hexadecimal format)
  • No support for retrieval by code (use ID only)

Cancel/deactivate a payment request

  • Explicit deactivation endpoint available
  • Deactivated checkouts cannot accept further payments
  • Status changes to DEACTIVATED

Response schema mapping

Payment details

Status mapping

Understanding status transitions is crucial for order fulfillment:
Important considerations:
  • Checkouts API focuses on the checkout status, not individual transaction status
  • Use webhooks for real-time payment status notifications (see Webhooks documentation)
  • Once a payment is detected and confirmed, the status changes to COMPLETED

Webhooks

Charge API webhooks

Commerce provides webhook events:
  • charge:created
  • charge:pending
  • charge:confirmed
  • charge:failed

Checkouts API webhooks

Checkouts API supports webhooks for real-time payment notifications:
  • checkout.payment.success - Checkout successfully paid
  • checkout.payment.failed - Checkout payment failed
  • checkout.payment.expired - Checkout expired without payment
See the Webhooks documentation for detailed setup instructions, including:
  • Creating webhook subscriptions using CDP API
  • Webhook signature verification
  • Sample event payloads
If you prefer not to use webhooks, you can also monitor payment status by periodically polling the GET endpoint to check checkout status.

Node.js implementation examples