Skip to main content

Subscriptions

Recurring billing for merchants. Create a subscription plan, attach subscribers (clients) to it, and let the platform handle renewal invoicing.

Concepts

A plan defines what is billed: price, currency, items, and renewal interval (e.g., 1 month). It is created once and reused across many subscribers.

A subscriber is a client identified by email and attached to a specific plan. The platform issues a renewal invoice for each subscriber on every cycle, tracks per-subscriber and per-plan revenue, and exposes endpoints to activate, deactivate, and inspect billing history.

Lifecycle

#What happensMethodEndpoint
1Merchant creates a planPOST/api/subscriptions
2Merchant attaches subscribers by email (one or many)POST/api/subscriptions/:id/users
3Platform issues an invoice and emails the subscriber a Pay Now linkstandard invoice flow
4Subscriber pays before the invoice expires → status becomes active
5Merchant can deactivate / reactivate a subscriber at any timePOST.../deactivate · .../activate

Subscriber Statuses

Status applies to each subscriber's membership in a plan; plans themselves do not currently carry a status.

StatusMeaning
activeSubscriber is billed on each renewal cycle.
pendingSubscriber is awaiting the first successful payment to become active. New subscribers start here.
inactiveSubscriber is paused. No renewal invoices are generated for them until reactivation.

Renewal Invoices

Renewal invoices are ordinary invoices — they use the same payload structure (Get Regular Invoice Info), move through the same statuses, and fire the same Invoice Webhooks with no subscription-specific fields.

The current version targets a 1-month billing period. A renewal invoice is issued 4 days before the period ends and stays payable until 3 days after — a 7-day window — after which it becomes expired. When a subscriber pays within that window, their status flips to active.

Two endpoints expose invoice history: