Creates a new checkout for accepting cryptocurrency payments.
A JWT signed using your CDP API Key Secret, encoded in base64. Refer to the Generate Bearer Token section of our Authentication docs for information on how to generate your Bearer Token.
The payment amount as a string for precise decimal representation. Must be between 0.01 and 100000000 (100 million). Must have at most 2 decimal places.
^\d+(\.\d{1,2})?$"100.50"
The currency code for the payment. Only USDC is currently supported.
1 - 10"USDC"
The blockchain network for the payment. Defaults to base if not specified. More networks will be added in the future.
base "base"
Human-readable description of the payment.
500"Payment for order #12345"
Optional expiration timestamp for the checkout in RFC 3339 format. Must be a future timestamp. After this time, the checkout will be automatically expired and cannot accept new payments. If not provided, defaults to 1 hour from creation time.
"2026-03-20T10:30:00Z"
Optional metadata as key-value pairs to be passed through the payment flow.
{
"invoiceId": "12345",
"reference": "Payment for invoice #12345",
"customerId": "cust_abc123"
}URL to redirect to on successful payment. Must use HTTPS protocol.
2048^https://.*"https://example.com/success"
URL to redirect to on failed payment. Must use HTTPS protocol.
2048^https://.*"https://example.com/failed"
Checkout created successfully.
Unique checkout identifier.
^[0-9a-f]{24}$"68f7a946db0529ea9b6d3a12"
The generated checkout URL.
"https://payments.coinbase.com/payment-links/pl_01h8441j23abcd1234567890ef"
The status of the checkout.
ACTIVE The checkout is active and can accept payments.PROCESSING The checkout is processing a payment.DEACTIVATED The checkout has been manually deactivated.EXPIRED The checkout has expired based on the expiresAt timestamp.COMPLETED The checkout has been successfully paid.FAILED The checkout has failed due to a payment error.ACTIVE, PROCESSING, DEACTIVATED, EXPIRED, COMPLETED, FAILED "ACTIVE"
Numeric value representing the amount (maximum 2 decimal places).
"100.50"
The currency code for the amount.
"USDC"
The blockchain network for the payment. Defaults to base if not specified. More networks will be added in the future.
base "base"
The merchant's blockchain receiving address for this checkout.
"0x742d35Cc6634C0532925a3b844Bc454e4438f44e"
Timestamp in RFC 3339 format.
"2024-03-20T10:30:00Z"
Timestamp in RFC 3339 format.
"2024-03-20T10:30:00Z"
The token contract address on the network. Only present for non-native tokens.
"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"
Human-readable description of the payment.
"Payment for order #12345"
Optional metadata as key-value pairs to be passed through the payment flow.
{
"invoiceId": "12345",
"reference": "Payment for invoice #12345",
"customerId": "cust_abc123"
}Fee breakdown for a completed payment.
The on-chain transaction hash. Only present when status is COMPLETED.
"0x3a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b"
Timestamp in RFC 3339 format.
"2024-03-20T10:30:00Z"
Optional URL to redirect the user to after successful payment authorization.
"https://example.com/success"
Optional URL to redirect the user to after failed payment authorization.
"https://example.com/failed"