Set Up Recurring Billing

Create subscription plans, enroll customers, and manage billing cycles with automatic provider failover.

WrittenIntermediate10 min2026-02-01

Overview

Reevit's subscription engine lets you manage recurring billing across multiple providers from a single API. Create plans, enroll customers, handle upgrades/downgrades, and automate failed payment recovery (dunning) — all provider-agnostic.

Key concepts

  • Plan — A billing template (e.g., "Pro Monthly" at GHS 50/month)
  • Subscription — A customer enrolled in a plan with a billing cycle
  • Dunning — Automatic retry logic for failed recurring charges

Create a subscription plan

Navigate to Subscriptions

From your dashboard sidebar, click Subscriptions. You'll see tabs for Plans and Active Subscriptions.

Create a plan

Click Create Plan and fill in:

  • Name — e.g., "Pro Plan"
  • Amount — The recurring charge (e.g., 5000 for GHS 50.00)
  • Currency — GHS, NGN, USD, etc.
  • Interval — Monthly, quarterly, or yearly
  • Trial days — Optional free trial period (e.g., 14 days)

Subscribe a customer

From the plan detail page, click Add Subscriber or use the API:

POST/v1/subscriptions
code
curl -X POST https://sandbox-api.reevit.io/v1/subscriptions \
  -H "Authorization: Bearer sk_sandbox_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "plan_id": "plan_abc123",
    "customer_email": "customer@example.com",
    "payment_method_id": "pm_saved_card_123"
  }'

Monitor billing cycles

Each billing cycle, Reevit automatically charges the customer's saved payment method. If the charge fails, the dunning system kicks in — retrying on the same or alternative providers based on your routing rules.

Dunning configuration

Reevit's dunning engine handles failed subscription charges:

RetryTimingAction
1st retry1 day after failureRetry same provider
2nd retry3 days after failureTry failover provider
3rd retry7 days after failureTry all available providers
Final14 days after failureMark subscription as past_due

Cross-provider dunning

If a charge fails on Paystack, Reevit can automatically retry on Flutterwave or Stripe — dramatically improving recovery rates compared to single-provider dunning.

Subscription statuses

StatusMeaning
trialingCustomer is in the free trial period
activeSubscription is current and billing normally
past_duePayment failed, dunning in progress
canceledSubscription has been canceled
pausedBilling temporarily suspended

Stop losing revenue to payment failures

Connect your existing PSP accounts in minutes. Get automatic failover, unified webhooks, and cross-provider analytics — without changing how you handle funds.

No credit card required
Connect in under 5 minutes
Your keys, your funds — always

Need a custom solution? Talk to our team