API endpoint mapping
Create a payment request
- Charge API
- Checkouts API
Key changes
Key changes
- 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
namefield is removed; usedescriptioninstead- Idempotency is supported via
X-Idempotency-Keyheader
List payment requests
- Charge API
- Checkouts API
Key changes
Key changes
- Pagination uses
pageSizeandpageTokeninstead of Commerce’s cursor-based approach - Can filter by status (ACTIVE, PROCESSING, DEACTIVATED, EXPIRED, COMPLETED, FAILED)
- Response includes
nextPageTokenfor retrieving next page - Response key is
checkouts(notdata)
Retrieve a specific payment request
- Charge API
- Checkouts API
Key changes
Key changes
- Use the checkout ID (24-character hexadecimal format)
- No support for retrieval by code (use ID only)
Cancel/deactivate a payment request
- Charge API
- Checkouts API
Key changes
Key changes
- 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:createdcharge:pendingcharge:confirmedcharge:failed
Checkouts API webhooks
Checkouts API supports webhooks for real-time payment notifications:checkout.payment.success- Checkout successfully paidcheckout.payment.failed- Checkout payment failedcheckout.payment.expired- Checkout expired without payment
- 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
- Charge API
- Checkouts API