Questions
If yours is not here, email payments@xendlypay.com.
Getting started
What do I need to sign up?+
An email address. You land in test mode with an app and a key already created, and you can build the whole integration before anyone verifies anything.
What is the difference between test and live?+
The keys, and whose money moves. Test mode uses the same API, returns the same statuses and sends the same webhooks. It just only works with phone numbers you have registered, and no francs move. Going live is a key change, not a code change.
Why do I have to register test numbers?+
So a typo in a test script cannot send a stranger a payment prompt for an order that does not exist. It costs you one form field and removes an entire category of embarrassment.
Verification
What do you need to verify my business?+
Your RDB registration certificate, your TIN, and a director's ID. Upload them on the verification page and press submit.
How long does it take?+
Usually one working day. A human reads it. We do not auto-approve, because being the company that let anyone take payments is not a position we want to be in.
What if you reject me?+
You get a written reason on the verification page, in plain words. Fix what it says and submit again; nothing you built in test mode is lost.
Money
What does it cost?+
3.1% of each successful payment for your first 3 months, then 2.3%, automatically, measured from your first live payment. Nothing else: no setup fee, no monthly fee, no minimum, and failed payments are free.
What does a withdrawal cost?+
Nothing. We absorb the payout charge, so taking your money out is free however often you do it.
When can I withdraw?+
A payment becomes withdrawable 24 hours after it succeeds. The delay exists so a reversal has somewhere to come from, and money that has left the building cannot be un-sent.
Can I withdraw to a bank account?+
Not yet. Mobile money today, bank transfers next. The dashboard will grow a second destination rather than a second way of doing it.
Do you support Airtel Money as well as MTN?+
Yes. One API, both networks; we route on the number.
Building
How do I know a payment actually succeeded?+
A signed webhook, or by polling the payment. Never by the response to the request that created it: at that point the customer has a prompt on their phone and has not touched it yet.
What happens if my server is down when a webhook fires?+
We retry with exponential backoff for up to twelve attempts, and the dashboard lets you replay anything that never landed. Nothing is lost because your deploy took six minutes.
Can I be charged twice for one order?+
Not if you send an Idempotency-Key. Two identical requests with the same key produce one payment, and the database enforces it rather than our code making a best effort.
Is there an SDK?+
Not yet. The API is six endpoints and the docs carry working examples in cURL, Node, Go, PHP and Python. An SDK would be a wrapper around one POST.