Subscription Statuses
Subscription Statuses
| Status | Description |
|---|---|
INITIATION | Subscription has been created but the customer hasn't completed checkout yet |
TRIAL | Free trial in progress — the card is saved, no charge yet. First charge happens when the trial ends (see Trial Periods) |
ACTIVE | Subscription is active and billing normally |
PAST_DUE | A recurring payment has failed. Inflow will retry automatically — at a reduced price if Smart Retry is enabled |
UNPAID | Multiple payment attempts have failed |
PAUSED | Payment collection is paused — no payments are collected until the subscription is resumed, manually or on the scheduled resume date. Shown as Paused in the Dashboard |
INACTIVE | Subscription is no longer active (e.g., all cycles completed) |
PENDING_CANCELLATION | Cancellation requested — will take effect at the end of the current billing cycle (currentPeriodEnd). The status is kept until then, including while a failed renewal is still being retried |
CANCELED | Subscription has been fully canceled |
Subscription Lifecycle
INITIATION → ACTIVE → (recurring billing) → ACTIVE
↘ TRIAL → ACTIVE (first charge at trial end)
↘ PAUSED → ACTIVE (resumed)
↘ PAST_DUE → ACTIVE (retry success)
→ UNPAID (retry exhausted)
↘ PENDING_CANCELLATION → CANCELED
↘ INACTIVE (cycles completed)
Typical Flow
- INITIATION — Customer starts the checkout process.
- TRIAL (offers with a trial period only) — Card saved without charging; the subscription stays in trial until the trial ends.
- ACTIVE — First payment succeeds. Recurring billing begins.
- ACTIVE (ongoing) — Each billing cycle processes successfully.
- PAST_DUE — A payment fails. Inflow retries automatically (optionally at a decreasing price — see Smart Retry).
- ACTIVE — Payment retry succeeds, subscription returns to normal.
- CANCELED — Subscription is canceled by the merchant, customer, or due to payment failures.
Waitlist Statuses
If the offer has waitlist enabled, subscriptions also carry a separate field, waitlistStatus — it does not replace status. A subscription can be e.g. status: INITIATION with waitlistStatus: pending_waitlist:
| Waitlist Status | Description |
|---|---|
pending_waitlist | Customer subscribed, awaiting merchant approval |
approved | Merchant approved, payment will be processed within 24 hours |
active | Payment successful, subscription is active |
failed_capture | Payment attempt failed after approval |
declined | Merchant declined the subscriber |
Status in the API
When querying subscriptions via the API, the status field contains the subscription status:
{
"id": "sub_abc123",
"status": "ACTIVE",
"name": "Pro Plan",
"amountInCents": 2999,
"currency": "EUR",
"interval": "month",
"intervalCount": 1,
"currentPeriodStart": "2025-02-15T10:30:00.000Z",
"currentPeriodEnd": "2025-03-15T10:30:00.000Z",
"nextBillingDate": "2025-03-15T10:30:00.000Z",
"createdAt": "2025-01-15T10:30:00.000Z",
"updatedAt": "2025-02-15T10:30:00.000Z"
}Billing period
The subscription object (API responses and subscription.* webhooks alike) carries the current billing period:
currentPeriodStart/currentPeriodEnd— the period being billed. Each renewal is issued at the start of its period and covers that period, whatever the date it is eventually paid: a renewal recovered late and the next renewal can be charged on the same day, each for its own period.nextBillingDate— when the subscription will be billed again: the start of the next period, the charge itself being attempted shortly after.nullwhen nothing will be billed again (CANCELED,PENDING_CANCELLATION,PAUSED, last cycle reached), and until the first period starts.
Renewal dates are fixed by the billing cycle: a failed renewal is retried, but the next renewal is still issued on its scheduled date. A subscription pending cancellation ends at currentPeriodEnd.
Filtering by Status
You can filter subscriptions by status in both the Dashboard and the API:
curl "https://api.inflowpay.com/subscription?status=ACTIVE" \
-H "X-Inflow-Api-Key: your_private_key"Available filter values: INITIATION, TRIAL, ACTIVE, PAST_DUE, UNPAID, INACTIVE, PENDING_CANCELLATION, CANCELED
Updated 10 days ago
