Back to blog

Avoid losing MRR to gateway outages, timeouts, and PSP-specific hiccups. In one sprint you can add fallback routing for recurring charges—without rebuilding your billing system.

What “fallback for subscriptions” is (and when to use it)

A fallback subscription charge attempts Gateway A first and, on specific platform signals (PSP error, timeout, degraded latency) or policy (issuer/BIN/region with poor renewal performance), automatically retries via Gateway B—only when it’s safe and compliant.

Use it for

Do not use it for

Stored credentials & compliance (CIT/MIT)

Subscriptions rely on card-on-file rules:

Guardrail: if a token isn’t portable, route only when you have a compatible token or a network token for that PAN.

Orchestration middleware for recurring charges

Place a thin layer between your billing engine and PSPs.

Core responsibilities

  1. Routing policy: A → B based on PSP signals or issuer cohort rules.
  2. Idempotency per invoice/period: invoice_id + attempt_ordinal to prevent double charges across gateways.
  3. Normalization: unify states/codes (authorized, captured, soft/hard decline).
  4. Observability: emit events with labels (gateway, BIN, country, plan, attempt).

Activation signals (subscription-friendly)

Error mapping table (example)

SignalActionNote
PSP 5xx on auth/captureRetry on B1 retry max
Timeout (>SLO)Retry on BShort backoff (100–300 ms)
BIN cohort < target renewal rateRoute to BPolicy-based
Hard issuer decline (stolen/invalid)No fallbackTrigger dunning flow

Retry policy (safe defaults)

Idempotency & scheduling for renewals

Observability: subscription KPIs that matter

Practical KPI: +1–4 pp renewal lift with <150 ms added latency during charge windows. (Typical range; YMMV.)

Tests & canary

Expected outcomes

Quick checklist


CTA

Create your account and enable subscription fallback today.
Ship a safe canary in one sprint with built-in error maps and retries.

Sign up free · See pricing