Skip to main content
POST
JavaScript

Authorizations

Authorization
string
header
required

An Account API key, account-scoped JWT, App API key, or user OAuth token. Prepend the key or token with Bearer, for example Bearer ***************************.

Headers

Idempotency-Key
string

A unique key that makes this request safe to retry. See Idempotent requests.

Maximum string length: 255
Example:

"d9105228-4a08-46b1-8b91-42fed586d383"

Api-Version-Date
string

Pins the request to a dated API version.

Example:

"2026-08-13"

Body

application/json
account_id
string

Account ID, prefixed biz_.

Example:

"biz_xxxxxxxxxxxxxx"

affiliate_code
string | null

Affiliate code to apply to the checkout.

Example:

"tanyacole"

currency
string | null

Currency used for setup-mode payment method availability.

Example:

"usd"

metadata
object | null

Custom key-value metadata copied to payments and memberships.

Example:
mode
enum<string>

Controls whether checkout charges the buyer immediately or saves payment details for later. Defaults to payment.

Available options:
payment,
setup
Example:

"payment"

payment_method_configuration
object | null

Payment method overrides for this checkout. null uses the plan or platform defaults.

plan
object | null

Plan attributes used to create or find a plan for this checkout configuration. Mutually exclusive with plan_id.

plan_id
string | null

Existing plan ID, prefixed plan_. Mutually exclusive with plan.

Example:

"plan_xxxxxxxxxxxxxx"

redirect_url
string | null

URL customers are sent to after checkout.

Example:

"https://shinetime.example/thanks"

three_ds_level
enum<string> | null

3D Secure behavior for this checkout.

Available options:
mandate_challenge,
frictionless,
null
Example:

"frictionless"

Response

checkout configuration created for an existing plan

account_id
string
required

Account ID, prefixed biz_.

Example:

"biz_xxxxxxxxxxxxxx"

created_at
string
required

When the checkout configuration was created, as an ISO 8601 timestamp.

Example:

"2026-01-01T12:00:00.000Z"

id
string
required

Checkout configuration ID, prefixed ch_.

Example:

"ch_xxxxxxxxxxxxxx"

mode
enum<string>
required

Controls whether checkout charges the buyer immediately or saves payment details for later.

Available options:
payment,
setup
Example:

"setup"

updated_at
string
required

When the checkout configuration was last updated, as an ISO 8601 timestamp.

Example:

"2026-01-01T12:00:00.000Z"

affiliate_code
string | null

Affiliate code applied at checkout, or null when none is set.

Example:

"tanyacole"

currency
string | null

Currency used for setup-mode payment method availability; defaults to usd when omitted.

Example:

"usd"

effective_payment_method_configuration
object | null

The configuration governing a checkout mounted from this configuration, resolved through every layer (its own overrides, the plan's, and the account's) — the shape a session's payment_method_configuration carries. Apply it over the payment method types catalogue for the offerable set. null means platform defaults; payment_method_configuration stays this configuration's own editable override.

metadata
object | null

Custom key-value metadata copied to payments and memberships. null without the checkout_configuration:basic:read scope.

Example:
payment_method_configuration
object | null

Payment method overrides for this checkout. null when it uses the plan or platform defaults.

plan
object | null

Plan used for payment checkout. null in setup mode.

purchase_url
string | null

Checkout URL you can send to customers.

Example:

"https://whop.com/checkout/ch_xxxxxxxxxxxxxx"

redirect_url
string | null

URL customers are sent to after checkout, or null when no redirect is configured.

Example:

"https://shinetime.example/thanks"

three_ds_level
enum<string> | null

3D Secure behavior for this checkout, or null to use the account default.

Available options:
mandate_challenge,
frictionless,
null
Example:

"mandate_challenge"