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:
/v1/subscriptionscurl -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:
| Retry | Timing | Action |
|---|---|---|
| 1st retry | 1 day after failure | Retry same provider |
| 2nd retry | 3 days after failure | Try failover provider |
| 3rd retry | 7 days after failure | Try all available providers |
| Final | 14 days after failure | Mark 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
| Status | Meaning |
|---|---|
trialing | Customer is in the free trial period |
active | Subscription is current and billing normally |
past_due | Payment failed, dunning in progress |
canceled | Subscription has been canceled |
paused | Billing temporarily suspended |