Skip to main content

A checkout configuration is a reusable configuration for a checkout, including the plan, affiliate, and custom metadata. Payments and memberships created from a checkout session inherit its metadata.

id
string
required

The unique identifier for the checkout session.

Example:

"ch_xxxxxxxxxxxxxxx"

company_id
string
required

The ID of the company to use for the checkout configuration

mode
enum<string>
required

The mode of the checkout session.

Available options:
payment,
setup
currency
enum<string> | null
required

The currency to use for the configuration when in 'setup' mode. This is used to target which currency specific payment methods are available. If not provided, it will default to 'usd' when in setup mode.

Available options:
usd,
sgd,
inr,
aud,
brl,
cad,
dkk,
eur,
nok,
gbp,
sek,
chf,
hkd,
huf,
jpy,
mxn,
myr,
pln,
czk,
nzd,
aed,
eth,
ape,
cop,
ron,
thb,
bgn,
idr,
dop,
php,
try,
krw,
twd,
vnd,
pkr,
clp,
uyu,
ars,
zar,
dzd,
tnd,
mad,
kes,
kwd,
jod,
all,
xcd,
amd,
bsd,
bhd,
bob,
bam,
khr,
crc,
xof,
egp,
etb,
gmd,
ghs,
gtq,
gyd,
ils,
jmd,
mop,
mga,
mur,
mdl,
mnt,
nad,
ngn,
mkd,
omr,
pyg,
pen,
qar,
rwf,
sar,
rsd,
lkr,
tzs,
ttd,
uzs,
rub,
btc,
cny
plan
object
required

The plan to use for the checkout configuration

affiliate_code
string | null
required

The affiliate code to use for the checkout configuration

metadata
object
required

The metadata to use for the checkout configuration

redirect_url
string | null
required

The URL to redirect the user to after the checkout configuration is created

purchase_url
string
required

A URL you can send to customers to complete a checkout. It looks like /checkout/plan_xxxx?session={id}

payment_method_configuration
object
required

The explicit payment method configuration for the session, if any. This currently only works in 'setup' mode. Use the plan's payment_method_configuration for payment method.