Overview
A subscription checkout creates a recurring deposit flow for a customer. Subscription checkouts are deposit-only and requireline_items plus subscription_data.
Every Soap API request is authenticated with a bearer token in the Authorization header:
key_....
Requests with a missing or invalid API key return 422 — never 401 — with a JSON error field, usually {"error": "API key not found."}. Branch on the status code rather than the message: GET /api/v1/device_pings/latest_geo_check does not yet return the same wording.
Never expose your API key in client-side code — it is server-side only.
Subscription checkouts use the same line item formats as purchase checkouts. You can reference existing products by product_id or create inline dynamic products with name, price_cents, and quantity.
How It Works
- Create a checkout session with
type: "deposit". - Include
line_itemsfor the subscription product. - Include
subscription_datawith the billing interval and interval count. - The customer is redirected to the Soap-hosted checkout page.
- The checkout and its subscription record are created by the API call itself (the response already carries
subscription.id); the customer’s payment at the hosted page attaches the payment method used for renewals.
API Request
You can also manage products from the Soap dashboard and reference them by ID. Simply pass
line_items: [{ "product_id": "pr_XXX", "quantity": 1 }] instead of inline product details.Key Parameters
Line Items
Subscription line items can be either:- An existing product reference with
product_idandquantity. - An inline dynamic product with
name,price_cents, andquantity, plus optionalsku,url, anddedup.
dedup is true, include a stable sku. Soap reuses a matching product for the same business when both sku and price_cents match. If dedup is absent or false, Soap creates a new active product from the inline line item.
Line Item Parameters
When to Use
- Monthly or annual memberships
- Recurring subscription products
- Quarterly billing using
interval: "month"andinterval_count: 3
Back to Create Checkout
View the full API reference for creating checkouts.

