Every day, week or month
Each payment falls on the same day as the first: the same weekday, or the same date each month. On the 29th to the 31st, shorter months use their last day.
GH₵50 · monthly · In development
Get paid every month without asking
Put a customer on a plan once, and Xtopay asks for every payment on schedule: a MoMo prompt they approve with their PIN, or a link to pay by card, and a receipt every time. Subscriptions are in development.
GH₵450.00 / month
Set a plan the way you will in your dashboard, and see when a subscriber is asked for each payment, and what happens if they miss one.
In development. This is how it's planned to work, and details may change before it's here. Nothing here is live.
Lunch plan
GH₵450.00 / month
First year, 0 payments
…
Ama Owusu's payments
MTN MoMo 024 ••• 4417
From finding your plan to cancelling it, on their own phone. Nothing is ever taken without their PIN.
How often, when it starts and ends, what a missed payment does and who can change what. Here's how each is planned.
Each payment falls on the same day as the first: the same weekday, or the same date each month. On the 29th to the 31st, shorter months use their last day.
From the day they subscribe, or from a date you set, like the start of term: they agree now and nothing's taken until then. It runs until it's cancelled, for a number of payments, or until a date.
Tried again the next day and three days after, the last time with a link by text. Still unpaid? It pauses or cancels, as you set on the plan. Daily plans don't try again: three missed in a row and it stops.
Who's on which plan, when each pays next, and who's overdue or paused. Every payment is in Payments too, marked as a subscription's.
Subscribers cancel from the link on any text or receipt, and you're emailed at once. Nothing already paid is refunded on its own.
A new price is for new subscribers. Those already on the plan keep the price they agreed to.
By text and email to the subscriber, and a signed webhook to your server for every payment and every change.
Away for the holidays? Pause their subscription and nothing is asked until you resume it, on the next date in its schedule.
Test keys make test plans and subscriptions that move no money, and can run their next payment now instead of waiting for the date.
A subscription is always in one of these. Each change is in your dashboard and your audit log, and sends a webhook.
| Pending | They've started subscribing but haven't typed the code from their text yet. Nothing is asked of them. It expires after an hour. | No webhook |
| Active | Agreed to, and paid up. Each payment is asked for on its date. If the plan starts on a later date, it's active from when they agree. | subscription.active |
| Overdue | A payment wasn't approved on its date. It's tried again the next day and three days after. Paying from their link makes it active again. | subscription.overdue |
| Paused | Nothing is asked. By you, or after a missed payment's last try if the plan says pause. Resuming picks up at the next date in its schedule; after a missed payment, they resume it by paying that one. | subscription.paused |
| Cancelled | By them, by you, or after a missed payment's last try if the plan says cancel. Nothing more is asked, and it can't be restarted: they subscribe again. | subscription.cancelled |
| Ended | Its last payment is paid: the number of payments was reached, or its end date passed. | subscription.ended |
Everything a subscription does, in one place: what's asked, when, of whom, and who can change it.
| Plans | What a plan has | A name, a fixed amount (at least GH₵1), how often (every day, every week or every month), when it starts and when it ends, what happens after a missed payment's last try, and the questions your pay forms ask. |
|---|---|---|
| Its address | xtopay.me/<username>/<slug>, like your links and pages, with a QR code. A plan can be switched off: nobody new can subscribe, and those on it carry on. | |
| Changing a plan | Its name, description and questions change for everyone. A new amount is for new subscribers only; those on it keep theirs. | |
| Subscribing | Agreeing | On the plan's page or through the API: their name, MoMo number (and email, if you ask), then a six-digit code by text to that number, valid for 10 minutes. |
| The first payment | If the plan starts now, at the checkout, by MoMo or card, straight after the code. If it starts on a date, on that date. | |
| One number, one subscription | A number can be on a plan once. They're kept as your customer by their number, like every payment. | |
| Payments | On the date | MoMo: a PIN prompt in the morning, to the number they agreed with. Card: a link to pay, by text and email. Every payment needs them to approve it. |
| The day before | A text for weekly and monthly plans, with the amount and their link. Daily plans get a receipt instead. | |
| Receipts | Every payment gets a receipt by text, and by email if they gave one, with the next date and their link. | |
| In your balance | Each payment is a payment like any other: it's in Payments (marked as a subscription's), joins your balance and is paid out on your schedule. | |
| Missed payments | Weekly and monthly | Overdue at once. Tried again the next day, and three days after the date with a link by text. Still unpaid: paused or cancelled, as the plan says. |
| Daily | Not tried again: the next day is its own. Three missed in a row and it's paused or cancelled. | |
| What's owed | Only the missed payment they pay to start again. Missed payments never add up, and the next date stays where it was. | |
| Changes | Subscribers can | See what's next and what they've paid, pay now, change their number (with a code to the new one), and cancel, from their link. |
| You can | Pause, resume or cancel any subscription, and see its history. You can't change a subscriber's amount or number. | |
| Who on your team | The owner and admins make and change plans and subscriptions; everyone can see them. Every change is in your audit log. | |
| Emails | To you | When someone subscribes, cancels, or is paused or cancelled after missed payments. |
In development: these are the rules it's being built to. They may change before it's here, and this page will change with them. Customers agree to each plan on their own phone, and get a receipt for every payment.
Preview: plans and subscriptions from your own system, alongside the checkouts and charges you can use today. Names may change before it's built.
curl https://api.xtopay.co/v1/plans \ -H "Authorization: Bearer sk_test_…" \ -H "Idempotency-Key: lunch-plan" \ -H "Content-Type: application/json" \ -d '{ "name": "Lunch plan", "amount": 450, "interval": "month", "ends_after": null, "after_missed": "pause" }' // 201{ "success": true, "data": { "id": "pln_6t2wq8kd4mx7rz", "url": "https://xtopay.me/nanaskitchen/lunch", "status": "on" }}Create your account now, and use what's built today. It'll be waiting in your dashboard when it's ready.