Skip to content
Xtopaypowered by Sendexa

GH₵50 · monthly · In development

Subscriptions

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.

  • Daily, weekly or monthly
  • Approved with their PIN, every time
  • Cancel any time
NKLunch planNana's Kitchen

GH₵450.00 / month

  • 1 DecGH₵450.00
  • 1 JanGH₵450.00
  • 1 FebGH₵450.00

Plan a subscription

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.

Amount
How often
Starts
Ends
If a payment's still missed after the last try

Lunch plan

GH₵450.00 / month

First year, 0 payments

…

Ama Owusu's payments

MTN MoMo 024 ••• 4417

What your subscribers see

From finding your plan to cancelling it, on their own phone. Nothing is ever taken without their PIN.

  1. 1They find the planEach plan has its own xtopay.me address and QR code, or your site starts it through the API. They give their name and number, and anything else you ask.
  2. 2They agree onceA code by text to the number that will pay proves it's theirs, so nobody can sign up someone else. If the plan starts now, they pay the first one at the checkout.
  3. 3Each payment, on the dayA text the day before, then a MoMo prompt they approve with their PIN. Paying by card? A link to pay by text and email instead.
  4. 4Theirs to manageEvery text and receipt links to their subscription: what's next, what they've paid, pay now, change the number, or cancel.

Every part of a plan, decided

How often, when it starts and ends, what a missed payment does and who can change what. Here's how each is planned.

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.

Starts and ends when you say

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.

Missed payments, handled

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.

All your subscribers in one place

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.

Cancel any time, from any text

Subscribers cancel from the link on any text or receipt, and you're emailed at once. Nothing already paid is refunded on its own.

Fair price changes

A new price is for new subscribers. Those already on the plan keep the price they agreed to.

A receipt and a webhook every time

By text and email to the subscriber, and a signed webhook to your server for every payment and every change.

Pause it for them

Away for the holidays? Pause their subscription and nothing is asked until you resume it, on the next date in its schedule.

Test it first

Test keys make test plans and subscriptions that move no money, and can run their next payment now instead of waiting for the date.

Every status, and what moves it on

A subscription is always in one of these. Each change is in your dashboard and your audit log, and sends a webhook.

A subscription's statuses
PendingThey'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
ActiveAgreed 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
OverdueA 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
PausedNothing 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
CancelledBy 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
EndedIts last payment is paid: the number of payments was reached, or its end date passed.subscription.ended

The rules in full

Everything a subscription does, in one place: what's asked, when, of whom, and who can change it.

How subscriptions work
PlansWhat a plan hasA 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 addressxtopay.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 planIts name, description and questions change for everyone. A new amount is for new subscribers only; those on it keep theirs.
SubscribingAgreeingOn 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 paymentIf 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 subscriptionA number can be on a plan once. They're kept as your customer by their number, like every payment.
PaymentsOn the dateMoMo: 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 beforeA text for weekly and monthly plans, with the amount and their link. Daily plans get a receipt instead.
ReceiptsEvery payment gets a receipt by text, and by email if they gave one, with the next date and their link.
In your balanceEach 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 paymentsWeekly and monthlyOverdue 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.
DailyNot tried again: the next day is its own. Three missed in a row and it's paused or cancelled.
What's owedOnly the missed payment they pay to start again. Missed payments never add up, and the next date stays where it was.
ChangesSubscribers canSee 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 canPause, resume or cancel any subscription, and see its history. You can't change a subscriber's amount or number.
Who on your teamThe owner and admins make and change plans and subscriptions; everyone can see them. Every change is in your audit log.
EmailsTo youWhen 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.

The API, as it's planned

Preview: plans and subscriptions from your own system, alongside the checkouts and charges you can use today. Names may change before it's built.

POST /v1/plans
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"  }}
What the API does today

Questions

Do subscribers approve every payment?
Yes. A MoMo payment always needs the customer's PIN, so each one comes as a prompt on their phone, with a text the day before. Card payers get a link to pay. You don't chase anyone: Xtopay asks, on time, every time.
What if they don't have enough on their MoMo?
It's a missed payment. It's tried again the next day and three days after, the last time with a link by text. If it's still unpaid, the subscription pauses or cancels, as you set on the plan.
Can subscribers cancel?
Any time, from the link on any text or receipt, and you're emailed at once. Nothing already paid is refunded on its own.
Can I charge a different amount each time?
No: a plan has one amount. For amounts that change, send an invoice each time; reminders go out on their own.
Can I offer a free first month?
Start the plan on a later date: they agree now, and nothing is taken until that date.
Can I move my existing members over?
Send them your plan's link or QR code. Each one agrees with a code on their own phone; nobody can be signed up for them.
What does it cost?
Each payment is a payment like any other, on the same terms, and joins your balance the same way. See pricing.
When will it be ready?
It's being built now. Create your account and use invoices or payment links meanwhile; subscriptions will be in your dashboard when they're ready.