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 (Payment Link 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, DEACTIVATED, EXPIRED, COMPLETED, FAILED)
  • Response includes nextPageToken for retrieving next page

Retrieve a specific payment request

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

Cancel/deactivate a payment request

  • 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:created
  • charge:pending
  • charge:confirmed
  • charge:failed
Payment Link API now supports webhooks for real-time payment status notifications:
  • payment_link.payment.success - Payment link successfully paid
  • payment_link.payment.failed - Payment link payment failed
  • payment_link.payment.expired - Payment link 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 check payment link status via GET endpoint

Node.js implementation examples