Overview
Commerce payments implement an authorize-capture-void escrow pattern for e-commerce use cases. Funds are held in escrow after authorization and only transferred to the merchant upon capture. This is useful for:- Marketplace platforms β Hold funds until order fulfillment, then capture or void
- Subscription trials β Authorize a payment, capture only if the user converts
- Pre-orders β Reserve funds and capture when the product ships
Payment Lifecycle
Endpoints
All commerce payment endpoints are under/v2/commerce-payments.
Authorize
Generate escrow authorization calldata and execute it.POST /v2/commerce-payments/authorize/calldataβ Get authorization transaction calldataPOST /v2/commerce-payments/:requestId/authorizeβ Execute authorization via smart account
Capture
Transfer authorized funds to the merchant.POST /v2/commerce-payments/:requestId/capture/calldataβ Get capture transaction calldataPOST /v2/commerce-payments/:requestId/captureβ Execute capture
Void
Cancel an authorized payment and release escrowed funds.POST /v2/commerce-payments/:requestId/void/calldataβ Get void transaction calldataPOST /v2/commerce-payments/:requestId/voidβ Execute void
Check Status
GET /v2/commerce-payments/:requestId/status β Get the current state of a commerce payment.
Authentication
All endpoints requirex-api-key or x-client-id authentication.
Related Pages
Secure Payment Pages
Hosted payment experience with smart account support.
Webhooks
Receive real-time notifications for payment lifecycle events.