Payment links
Get paid without writing code: a hosted payment page to share by message, email or QR code.
A payment link opens a payment page hosted by Monerail. Your customer chooses their country and mobile money operator, enters their number and approves the payment on their phone. No account, no app, no code on your side. Every payment through a link is an ordinary collection: same fees, same ledger entries, same webhooks.
Create a link
In the dashboard, open Collect, then Create a payment link. Choose:
| Setting | Options |
|---|---|
| Title and description | Shown to the customer on the payment page. |
| Currency | One of the collection currencies: XAF, XOF, GNF, CDF, GHS, KES, UGX, TZS, RWF. |
| Amount | Fixed, or customer chooses with an optional minimum and maximum. |
| Countries and operators | All the countries of the currency that are open for collections, or a selection. With a single country, you can also restrict the operators. |
| Usage | Reusable (a shop, a donation, a subscription fee) or single use (an invoice, an order): a single-use link closes after its first successful payment. |
| Expiry | Never, 24 hours, 7 days or 30 days. |
| Internal reference | Your order or invoice number, sent back in the payment_link.paid event. |
The Owner, Finance and Developer roles can create and deactivate links; every member can see them. In live mode, links are available once your business verification is approved.
Share it
Each link has a short address and a QR code:
- Live mode:
https://monerail.com/pay/<link> - Test mode:
https://testmode.monerail.com/pay/<link>, with a Test mode banner on the page. Test links accept only test payments: see Testing.
Send the address by WhatsApp, SMS or email, add it to your invoices, or print the QR code at your counter. The page is in French or English depending on the customer’s browser.
What the customer sees
- Your business name and logo (set in Settings), the title, the amount and the description.
- Country, operator, mobile money number and name.
- The operator asks for approval on the phone (PIN), or sends a code that the customer enters on the page.
- The page follows the payment live and shows a receipt with the reference once the payment succeeds.
The customer pays no fee through the link. Your usual collection fee applies to each successful payment.
Follow payments
In Collect → Payment links, each link shows its status (active, deactivated, expired, paid for a single-use link already paid), the number of payments and the amount collected. Open a link to copy its address, display its QR code, see the payments received and deactivate it. A deactivated link can be reactivated; a paid single-use link cannot.
Payments also appear with all your collections in Collect and Transactions, and credit your collection balance like any other collection.
Webhooks
Each payment through a link sends the usual collection events (collection.succeeded, collection.failed, collection.expired). The collection carries metadata.payment_link and metadata.payment_link_payment, and your internal reference as client_reference.
A successful payment also sends payment_link.paid:
{
"object": "event",
"type": "payment_link.paid",
"livemode": false,
"data": {
"object": {
"object": "payment_link_payment",
"id": "c41f2b7e-0d8a-4c55-9f3e-2b6a1d7e9c10",
"payment_link": "9ea309a6-16fb-4cb1-bdea-d6632297afa4",
"slug": "0hSaQMRKFe2L3d",
"collection": "5a0d9116-8ef5-47ce-b7e9-7a14c2b3d001",
"reference": "5a0d91168ef547ceb7e97a14",
"amount": 25000,
"fee": 625,
"currency": "XAF",
"title": "Order #2041",
"client_reference": "CMD-2041",
"metadata": {},
"reusable": true,
"paid_count": 1
}
}
}Subscribe an endpoint to payment_link.paid or to * in Developers → Webhooks. Deliver the order when you receive this event (or collection.succeeded), never when the customer comes back to your site.
Safety
- The page never shows your account details, your balance or the other payments.
- Payments are limited per network and per link to stop abuse, and a single-use link accepts only one payment at a time.
- Amounts, countries and operators are checked again by Monerail when the payment starts: a customer cannot change the price of a fixed-amount link.