List checkouts
GET/checkoutsRetrieve a paginated list of checkouts, most recent first. Filter by status and creation-date range.
Headers
| Header | Description | Required |
|---|---|---|
| Authorization | Bearer token with your secret API key | yes |
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| limit | integer | — | |
| starting_after | string | — | |
| ending_before | string | — | |
| status | enum: pending | completed | expired | cancelled | — | |
| created_gte | string · date-time | — | |
| created_lte | string · date-time | — |
Example Request
Request
const response = await fetch('https://checkout-api.exodus-int.com/checkouts?limit=10&starting_after=<starting_after>&ending_before=<ending_before>&status=pending&created_gte=<created_gte>&created_lte=<created_lte>', {
method: 'GET',
headers: {
Authorization: 'Bearer sk_live_xxxxxxxxxxxxxxxx',
},
});Responses
| Status | Description |
|---|---|
| 200 | A paginated list of checkouts. |
| 400 | Validation error |
| 401 | Missing or invalid authentication |
Response body
| Field | Type | Required | Description |
|---|---|---|---|
| object | enum: list | yes | |
| data | object[] | yes | |
| has_more | boolean | yes |
data
| Field | Type | Required | Description |
|---|---|---|---|
| id | string | yes | |
| object | enum: checkout | yes | |
| amount | number | yes | |
| currency | string | yes | |
| description | string | null | yes | |
| status | enum: pending | completed | expired | cancelled | yes | |
| checkout_url | string · uri | yes | |
| success_url | string · uri | null | yes | |
| cancel_url | string · uri | null | yes | |
| customer_email | string · email | null | yes | |
| metadata | object | null | yes | |
| expires_at | string · date-time | null | yes | |
| created_at | string · date-time | yes | |
| payments | object[] | yes |
payments
| Field | Type | Required | Description |
|---|---|---|---|
| id | string | yes | |
| object | enum: payment | yes | |
| status | enum: client_deposit_pending | client_deposit_detected | client_deposit_confirmed | client_deposit_expired | escrow_confirmed | settlement_pending | settled | failed | refunded | cancelled | yes | |
| payment_method | enum: direct | two_step | yes | |
| detected_token | string | null | yes | |
| detected_token_address | string | null | yes | |
| detected_chain | string | null | yes | |
| token_amount | string | null | yes | |
| token_amount_decimal | string | null | yes | |
| deposit_address | string | null | yes | |
| payer_addresses | string[] | yes | |
| on_chain_id | string | null | yes | |
| created_at | string · date-time | yes | |
| flagged | boolean | yes |
Example Response
{
"object": "list",
"data": [
{
"id": "chk_1234567890abcdef",
"object": "checkout",
"amount": 5000,
"currency": "USD",
"description": "Premium Plan - Monthly",
"status": "completed",
"checkout_url": "https://checkout.exodus-int.com/pay/chk_1234567890abcdef",
"success_url": "https://yoursite.com/success",
"cancel_url": "https://yoursite.com/cancel",
"customer_email": "[email protected]",
"metadata": {
"order_id": "12345",
"product_name": "Premium Plan"
},
"expires_at": "2024-01-16T12:00:00Z",
"created_at": "2024-01-15T12:00:00Z",
"payments": [
{
"id": "tz4a98xxat96iws9zmbrgj3a",
"object": "payment",
"status": "settled",
"payment_method": "two_step",
"detected_token": "USDC",
"detected_token_address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"detected_chain": "eip155:1",
"token_amount": "50000000",
"token_amount_decimal": "50",
"deposit_address": "0x5fbdb2315678afecb367f032d93f642f64180aa3",
"payer_addresses": [
"0x742d35Cc6634C0532925a3b844Bc9e7595f8fE21"
],
"on_chain_id": "0x1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b",
"created_at": "2024-01-15T12:30:00Z",
"flagged": false
}
]
}
],
"has_more": false
}Error Response
Error (e.g. 400)
{
"error": {
"type": "validation_error",
"message": "amount must be a positive number",
"param": "amount"
}
}