The Three Modes
| Mode | Purpose | Creates Connection? | Requires Connection? |
|---|---|---|---|
subscription | Subscribe to a recurring plan | Yes | No |
topup | Add credits to existing wallet | No | Yes |
onboarding | One-time wallet creation (legacy) | Yes | No |
Subscription Mode
Use when: A new customer is signing up for a monthly plan.- Customer verifies phone number
- Customer adds payment method
- Customer is charged the plan amount (e.g., $25)
- Subscription is created with automatic monthly renewal
- You receive a
connection_idto use for billing
- Balance resets monthly to the plan amount
- Overages auto-charge to the customer’s card
- Customer can cancel anytime
Topup Mode
Use when: An existing customer wants to add more credits to their wallet.- Customer sees their current balance
- Customer chooses an amount to add
- Customer is charged immediately
- Balance increases by that amount
- “Add Credits” button in your app
- Low balance warning with recharge CTA
- Letting power users pre-fund larger amounts
Topup requires an existing
connection_id. The customer must have already completed checkout via subscription or onboarding mode first.Onboarding Mode (Legacy)
Use when: You want one-time wallet creation without recurring billing.- Customer verifies phone number
- Customer adds payment method
- Customer adds an initial balance (one-time charge)
- You receive a
connection_id
- No automatic renewal
- Customer must manually top up when balance runs low
- No plan attached
Which Mode Should I Use?
- New customers →
subscriptionmode - Existing customers adding credits →
topupmode
Checkout Flow Summary
Regardless of mode, the checkout flow handles:- Phone verification via SMS OTP
- Payment method collection via Stripe
- Wallet creation (for new customers)
- Balance funding