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 |