Skip to main content
A Checkout Configuration is a reusable checkout link owned by an account. In payment mode it sells a specific plan; in setup mode it collects and saves payment details without charging. Each configuration can also override which payment methods are accepted and how 3D Secure is enforced for that checkout. Use the Checkout Configurations API to create checkout links for an existing or inline plan, list configurations for an account, retrieve the configuration behind a checkout URL, and delete links that should no longer be used.

Endpoints

EndpointRequest
List Checkout ConfigurationsGET /checkout_configurations
Create Checkout ConfigurationPOST /checkout_configurations
Retrieve Checkout ConfigurationGET /checkout_configurations/{id}
Delete Checkout ConfigurationDELETE /checkout_configurations/{id}

Attributes

affiliate_code
string | null
Affiliate code applied at checkout, or null when none is set.
company_id
string
required
Account ID, prefixed biz_.
created_at
integer
required
Unix timestamp when the checkout configuration was created.
currency
string | null
Currency used for setup-mode payment method availability; defaults to usd when omitted.
id
string
required
Checkout configuration ID, prefixed ch_.
metadata
object | null
Custom key-value metadata copied to payments and memberships. null without the checkout_configuration:basic:read scope.
mode
string
required
Checkout mode: payment collects payment now; setup saves payment details for later.Available options: payment, setup
payment_method_configuration
object | null
Payment method overrides for this checkout. null when it uses the plan or platform defaults.

Properties

disabled
string[]
Payment methods explicitly disabled for checkout.
enabled
string[]
Payment methods explicitly enabled for checkout.
include_platform_defaults
boolean
Whether platform default payment methods are included.
plan
object | null
Plan used for payment checkout. null in setup mode.

Properties

adaptive_pricing_enabled
boolean
required
Whether this plan accepts local currency payments via adaptive pricing.
billing_period
integer | null
required
Recurring billing interval in days, such as 30 for monthly or 365 for annual. null for one-time plans.
currency
string
required
Three-letter ISO currency code for the plan’s prices.
expiration_days
integer | null
required
Access duration in days for expiration-based plans.
id
string
required
Plan ID, prefixed plan_.
initial_price
number
required
Initial purchase price in the plan currency.
plan_type
string
required
Billing model for the plan: renewal (recurring) or one_time (single payment).
release_method
string
required
Sales method for the plan, such as buy_now or waitlist.
renewal_price
number
required
Recurring price charged each billing period.
three_ds_level
string | null
required
3D Secure behavior for this plan, or null to use the account default.
trial_period_days
integer | null
required
Free trial days before the first renewal charge.
visibility
string
required
Whether the plan is visible to customers or hidden from public view.
purchase_url
string | null
Checkout URL you can send to customers.
redirect_url
string | null
URL customers are sent to after checkout, or null when no redirect is configured.
three_ds_level
string | null
3D Secure behavior for this checkout, or null to use the account default.
updated_at
integer
required
Unix timestamp when the checkout configuration was last updated.
CheckoutConfiguration
{
	"affiliate_code": "pickaxe-partner",
	"company_id": "biz_xxxxxxxxxxxxxx",
	"created_at": 1782867600,
	"currency": "usd",
	"id": "ch_xxxxxxxxxxxxxx",
	"metadata": {
		"campaign": "summer-launch"
	},
	"mode": "payment",
	"payment_method_configuration": {
		"enabled": ["card", "apple_pay"],
		"disabled": ["crypto"],
		"include_platform_defaults": true
	},
	"plan": {
		"id": "plan_xxxxxxxxxxxxx",
		"visibility": "visible",
		"plan_type": "renewal",
		"release_method": "buy_now",
		"currency": "usd",
		"billing_period": 30,
		"expiration_days": null,
		"initial_price": 29,
		"renewal_price": 29,
		"trial_period_days": 7,
		"three_ds_level": "frictionless",
		"adaptive_pricing_enabled": true
	},
	"purchase_url": "https://whop.com/checkout/plan_xxxxxxxxxxxxx/?session=ch_xxxxxxxxxxxxxx",
	"redirect_url": "https://pickaxe.example/welcome",
	"three_ds_level": "frictionless",
	"updated_at": 1782867600
}