Skip to main content

Overview

A subscription checkout creates a recurring deposit flow for a customer. Subscription checkouts are deposit-only and require line_items plus subscription_data. Every Soap API request is authenticated with a bearer token in the Authorization header:
Your API key is in the Soap Dashboard under the Developers section. It looks like 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

  1. Create a checkout session with type: "deposit".
  2. Include line_items for the subscription product.
  3. Include subscription_data with the billing interval and interval count.
  4. The customer is redirected to the Soap-hosted checkout page.
  5. Upon completion, Soap creates the checkout and associated subscription metadata.

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_id and quantity.
  • An inline dynamic product with name, price_cents, and quantity, plus optional sku, url, and dedup.
When 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" and interval_count: 3

Back to Create Checkout

View the full API reference for creating checkouts.