Create Payment Link
Deprecated. Use the Checkouts API instead. Creates a new payment link for accepting cryptocurrency payments.
Authorizations
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.
Headers
Body
Request to create a payment link.
The payment amount. Must be between 0.01 and 100000000 USD (100 million USD). Must have at most 2 decimal places.
^\d+(\.\d{1,2})?$"100.50"
The currency code for the payment amount.
- USDC: Amount is used directly (no conversion)
- Fiat currencies (USD, EUR, SGD, GBP, etc.): Amount is converted to USDC using exchange rate at time of creation.
1 - 10"USDC"
Human-readable description of the payment.
500"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"
}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"
Optional expiration timestamp for the payment link in RFC 3339 format. Must be a future timestamp. After this time, the link will be automatically expired and cannot accept new payments. If not provided, defaults to 1 year from creation time.
"2026-03-20T10:30:00Z"
Response
Payment link created successfully.
Unique payment identifier.
^[0-9a-f]{24}$"68f7a946db0529ea9b6d3a12"
The hosted payment page URL.
"https://payments.coinbase.com/payment-links/pl_01h8441j23abcd1234567890ef"
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 blockchain address where funds should be sent.
"0x742d35Cc6634C0532925a3b844Bc454e4438f44e"
Timestamp in RFC 3339 format.
"2024-03-20T10:30:00Z"
Timestamp in RFC 3339 format.
"2024-03-20T10:30:00Z"
The status of the payment.
ACTIVEThe payable endpoint is active and can accept payments.PROCESSINGThe payment is being processed.DEACTIVATEDThe payable endpoint has been manually deactivated.EXPIREDThe payable endpoint has expired based on the expiresAt timestamp.COMPLETEDThe payable endpoint has been successfully paid.FAILEDThe payment has failed due to a payment error.REFUNDEDThe payment has been fully refunded.PARTIALLY_REFUNDEDThe payment has been partially refunded.
ACTIVE, PROCESSING, DEACTIVATED, EXPIRED, COMPLETED, FAILED, REFUNDED, PARTIALLY_REFUNDED "ACTIVE"
The token contract address (for ERC-20 tokens).
"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
Human-readable description of the payment.
"Payment for order #12345"
Timestamp in RFC 3339 format.
"2024-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"
}Optional URL to redirect the user to after successful payment authorization. This indicates the user has successfully authorized the payment, not that the payment has been completed.
"https://example.com/success"
Optional URL to redirect the user to after failed payment authorization.
"https://example.com/failed"
Financial breakdown of the transaction showing the total amount charged, fees deducted, and net amount received.
The original amount in fiat currency before conversion to USDC. Only present if payment was created with a fiat currency.
"100.00"
The original fiat currency code (e.g., USD, EUR, SGD). Only present if payment was created with a fiat currency.
"USD"
The blockchain transaction hash for the completed payment. Only present when status is COMPLETED, REFUNDED, or PARTIALLY_REFUNDED.
"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
The total amount that has been refunded. Only present when a refund has been initiated.
"25.00"
List of refunds associated with this payment. Only present when refunds exist.