Skip to Content

Get Subscription Checkout

GET/subscription-checkouts/:id

Description

Retrieve the current state of a subscription checkout intent. Use this to confirm whether the customer completed the subscribe flow before falling back to a success_url redirect.

Headers

HeaderDescriptionRequired
AuthorizationBearer token with your API keyyes

Path Parameters

NameTypeDescriptionRequired
idstringThe subscription checkout ID (e.g. `schk_1234567890abcdef`).yes

Example Request

const response = await fetch(
  'https://checkout.exodus.com/subscription-checkouts/schk_1234567890abcdef',
  {
    headers: {
      Authorization: 'Bearer sk_live_xxxxxxxxxxxxxxxx',
    },
  },
);

Response

SUCCESSFUL RESPONSE
{
  "object": "subscription_checkout",
  "id": "schk_1234567890abcdef",
  "status": "completed",
  "onchain_id": "0x9f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a",
  "subscriber": "0x742d35Cc6634C0532925a3b844Bc9e7595f8fE21",
  "external_customer_id": "cus_42",
  "supported_chains": ["eip155:1", "eip155:137", "eip155:42161"],
  "subscription_manager_addresses": {
    "eip155:1": "0xA1B2C3D4E5F6789012345678901234567890ABCD",
    "eip155:137": "0xB2C3D4E5F67890123456789012345678901234CD",
    "eip155:42161": "0xC3D4E5F6789012345678901234567890123456CD"
  },
  "token_addresses": {
    "eip155:1": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
    "eip155:137": "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
    "eip155:42161": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831"
  },
  "token_symbol": "USDC",
  "charge_amount": "9990000",
  "period_duration": 2592000,
  "cap_amount": "120000000",
  "checkout_url": "https://checkout.exodus.com/subscribe/schk_1234567890abcdef",
  "success_url": "https://merchant.com/subscribed",
  "cancel_url": "https://merchant.com/cancelled",
  "metadata": { "external_plan_ref": "pro_monthly" },
  "subscription_id": "sub_abc123def456",
  "expires_at": "2026-05-19T12:05:00Z",
  "created_at": "2026-05-19T12:00:00Z",
  "completed_at": "2026-05-19T12:02:18Z"
}

Status-dependent fields

StatusPopulated fields
pendingAll base fields; subscriber may be null if not pre-bound; no completed_at/cancelled_at/expired_at.
completedsubscriber, subscription_id, completed_at. Chain picked by the customer is reflected in the materialized Subscription.
cancelledcancelled_at, optional cancellation_reason.
expiredexpired_at.

The on-chain chain the customer picked is recorded on the resulting Subscription. Fetch it via GET /subscriptions/:id using the subscription_id on a completed intent.

Errors

StatusCodeDescription
404not_foundIntent ID does not exist.
403forbiddenIntent belongs to another merchant.

Start building

XO

Request Demo

Schedule a call with our team

Select a product
Arrow right

Start building
Grateful

Contact Us

We're here to help