API endpoint mapping
Create a payment request
- Charge API
- Payment Link API
Key changes
Key changes
- Amount is now a direct string field (not nested in
local_price) - Currency is specified directly (Payment Link 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
- Payment Link API
Key changes
Key changes
- Pagination uses
pageSizeandpageTokeninstead of Commerce’s cursor-based approach - Can filter by status (ACTIVE, DEACTIVATED, EXPIRED, COMPLETED, FAILED)
- Response includes
nextPageTokenfor retrieving next page
Retrieve a specific payment request
- Charge API
- Payment Link API
Key changes
Key changes
- Use the payment link ID (24-character hexadecimal format)
- No support for retrieval by code (use ID only)
Cancel/deactivate a payment request
- Charge API
- Payment Link API
Key changes
Key changes
- Explicit deactivation endpoint available
- Deactivated payment links 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:
- Payment Link API focuses on the link 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
Payment Link API webhooks
Payment Link API now supports webhooks for real-time payment status notifications:payment_link.payment.success- Payment link successfully paidpayment_link.payment.failed- Payment link payment failedpayment_link.payment.expired- Payment link 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 check payment link status via GET endpoint
Node.js implementation examples
- Charge API
- Payment Link API