Command Palette

Search for a command to run...

Skip to content

Set up recurring billing.

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

Writtenintermediate10 min

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

  1. Navigate to Subscriptions

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

  2. 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)
  3. Subscribe a customer

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

    POST/v1/subscriptions

    Requestcurl
    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"  }'
  4. 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

Next steps

Stop losing payments to provider downtime.

Free for your first 1,000 payments a month, and failed payments are never billed. Connect a provider and take your first payment before the coffee gets cold.