v1

latestOpenAPI 3.0.02026-07-24103118224.7 KB
Checkout Sessions

Create a checkout session for a subscription offer (recommended)

Recommended way to start a hosted subscription checkout for an existing offer. Replaces the deprecated POST /subscription/offer/:subscriptionOfferId/initiate.

Returns { sessionId, checkoutUrl } — redirect the buyer to checkoutUrl to subscribe. The subscription and first payment are created once the buyer submits a payment method during the session. Subscribe to checkout_session.* merchant webhooks — the paymentId is included in the payload once the session is completed (e.g. checkout_session.completed).

post/api/checkout/sessions/subscription/{subscriptionOfferId}

Path parameters

subscriptionOfferIdstring required
Example:sub_offer_1234567890abcdef

Unique identifier of the subscription offer

Request body

successUrlstring

Optional override for the successful payment redirect URL. If not provided, uses the subscription offer's successUrl, then the system default.

cancelUrlstring

Optional override for the cancel/failed payment redirect URL. If not provided, uses the subscription offer's cancelUrl.

customerEmailstring

Default customer email pre-filled in the checkout session. @deprecated Prefer customer.email.

metadatasobject

Custom metadata for the session/subscription

expiresInnumber

Duration in hours before the session expires. 0.75 = 45 minutes, 24 = 1 day. Minimum 0.25 (15 minutes). If not provided, the session will not have an automatic expiration.

billingCountrystring

Optional default billing country (ISO 3166-1 alpha-2). When set, the checkout session is pre-filled with this country and VAT is recomputed accordingly. Ignored silently if the country is not supported for tax. @deprecated Prefer customer.billingCountry.

marketplaceFeeInCentsnumber

Marketplaces only: fixed fee to collect on the first subscription payment, in cents. Can only be set by the parent marketplace acting on behalf of a sub-merchant. Defaults to the marketplace's configured fee.

savePaymentMethodboolean

When true, the checkout offers the buyer the option to save their payment method (card / wallet) for future payments. The saved payment method is attached to the merchant's customer matching the buyer's email (created if needed). Pass customer.id to instead anchor it to a specific existing customer, regardless of the email the buyer enters. Subscriptions always store the payment method for renewals; this flag surfaces the reusable-save consent to the buyer.

Example request

{
  "expiresIn": 24,
  "billingCountry": "FR",
  "customer": {
    "id": "cus_1a2b3c",
    "email": "buyer@example.com",
    "billingCountry": "FR"
  },
  "marketplaceFeeInCents": 200
}

Response

Checkout session created

sessionIdstring required

Checkout session unique identifier

checkoutUrlstring required

Hosted Checkout V2 URL. Redirect the buyer here to complete the checkout.

Example response

{
  "sessionId": "sess_abc123",
  "checkoutUrl": "https://checkout.inflowpay.com/pay/sess_abc123"
}