Payments

Start a provider-agnostic checkout

Returns either embedded-SDK config (FunnelFox) or a hosted payment page redirect (Unlimit), discriminated by mode.

post/v2/payments/checkout

Request body

purpose'subscription' | 'coins' | 'card_update' required
productIdstring

What to buy: provider price point id for subscriptions, web coin productId for coins. Not required for card_update.

returnPathstring

Relative frontend path to return the user to after a redirect payment.

customerEmailstring

Buyer email captured client-side (funnel store). Last-resort fallback when the user record has no email yet — anonymous funnel users are provisioned after the funnel email sync ran.

funnelIdstring

Funnel the checkout was started from (the /ob/:funnelId segment). Upgate resolves the payment methods it asks for per funnel (UPGATE_CHECKOUT_METHODS_BY_FUNNEL) — omitted (in-app surfaces) means the default set. Ignored by the other providers.

Example request

{
  "funnelId": "lvhuiq5"
}

Response

provider'funnelfox' | 'unlimit' | 'upgate' required
mode'embedded' | 'redirect' required
pricePointIdentstring

FunnelFox price point to mount the embedded SDK with.

orderIdstring

Payment order id (redirect mode / upgate).

redirectUrlstring

Hosted payment page URL to redirect the user to.

checkoutUrlstring

Upgate checkout session URL — the embedded payment element mounts with it (also works as a hosted page).

availableMethodsstring[]

Payment methods the Upgate form will render ('CARD', 'APPLE_PAY', …), as the gateway echoed them. Upgate silently drops methods disabled on the merchant account, so this — not the requested list — tells whether the buyer is offered a wallet. Absent for the other providers.

Changes

No recorded changes to this endpoint across all 1 revision of this API.