Documentation Index
Fetch the complete documentation index at: https://docs.spotflow.one/llms.txt
Use this file to discover all available pages before exploring further.
Plan Trials & Currency Rules
This page covers two things that affect how you configure subscription plans on Spotflow: free trials, and the rules around which currencies can be combined in a single plan.Currency Rules
USD Plans Are Standalone
If you want to bill in USD, it must be its own plan. You cannot mix USD with any other currency in the same plan. Not allowed:Local Currencies Can Be Combined
NGN, GHS, TZS, KES, ZAR, XOF, XAF, and other local currencies can all live in one plan. This is the recommended approach if you serve customers across multiple African markets. Correct — multiple local currencies in one plan:Quick Reference
| Combination | Allowed |
|---|---|
| USD only | ✅ |
| NGN + GHS | ✅ |
| NGN + GHS + TZS + KES | ✅ |
| USD + NGN | ❌ |
| USD + GHS | ❌ |
| USD + NGN + GHS | ❌ |
If you need to offer both USD and local currency pricing for the same product, create two separate plans and point customers to the one that matches their currency.
Free Trials
A free trial gives new subscribers access to a plan for a set number of days before their first charge.- For card subscriptions: The card is authorised but not charged during the trial period.
- For mobile money subscriptions: The customer approves the mandate prompt on their phone, but no funds are taken until the trial ends.
How It Works
- The customer goes through the normal sign-up flow
- Their card or mobile wallet is authorised but not charged
- The trial runs for the number of days you set
- On the last day of the trial, the first billing cycle begins and the charge is collected
Setting Up a Trial
Add atrial object when creating your plan:
amount to 0 in pricingList makes the trial completely free. If you omit pricingList, the trial also defaults to free.
Trial Object Fields
Trial configuration for the plan.
Webhook Events During a Trial
| Event | When it fires |
|---|---|
subscription_trial_started | Customer successfully enrolled in a trial |
subscription_trial_ending | 3 days before the trial ends |
subscription_trial_ended | Trial period is over and billing begins |
payment_successful | First charge after trial collected successfully |
Trials With Mobile Money
Free trials work the same way for mobile money subscriptions as they do for card subscriptions. For trials: The customer approves the mandate during the trial period, but no money is taken until the trial ends. The first debit happens automatically when the trial closes.The same webhook events apply for mobile money trial subscriptions. See Mobile Money Subscriptions for the full list of events and payloads.
Full Example: Regional Plan with Free Trial
Best Practices
- Create separate plans for USD and local currencies. Mixing them is not supported and will cause errors.
- Only offer trials when you have a plan to convert users. A free trial with no follow-up leads to churn when billing starts.
- Always tell customers when their trial ends. A surprise price jump is one of the most common reasons customers cancel.
- For mobile money trials: The customer will still see a phone prompt to approve the mandate even on a free trial. Make it clear on your sign-up page that they will not be charged today, but approving the prompt is what starts the trial.
- Notify before the first charge after a trial ends. Send an email or in-app notification 24 hours before so the customer is ready with funds in their wallet.
- Test before going live. Run through trial enrollments, and renewal flows in test mode to make sure everything works as expected.

