Appearance
Payment links
A payment link is a page people can pay. You do not run a server. You do not use an API key.
Create and edit links in the hub, under Links, while you are signed in. The payer does not need an account.
Use a hosted checkout when each order has a price your server must set.
Addresses
| Address | What it is | |
|---|---|---|
/asha | Handle (username) | asha:main |
/asha-rent | Payment link | Its own pocket. The default slug is the link address |
/pay/asha-rent | The same page. QR codes use this form | Same pocket |
A username is lowercase letters, digits, and _. It has no hyphen.
A link address:
- is 3 to 50 characters
- uses lowercase letters, digits, and hyphens
- starts and ends with a letter or a digit
- contains at least one hyphen
- contains no
-- - is not
m-chat,pay-many, orverify-email
/pay/<name> works for every handle and every link.
A short URL whose first segment is an app route, such as wallet, opens the app. Use /pay/<name> for that name.
The same address can exist once in Kenya and once in Uganda. A link on one cluster is not on the other.
Amount
A link can suggest an amount. The payer can change it. The rail minimum and maximum still apply.
?amount= is in major units, the number the payer would type:
/asha-rent?amount=1500That opens the page with 1,500.00 filled in. The checkout API uses minor units. This query does not.
An empty amount is an open amount. Hub QR codes write ?amount= when the amount is already chosen.
Where the money is
Each new link gets its own pocket unless you pick another pocket you already hold. The pocket balance is what the link collected. The pocket movements are the payments.
There is no webhook and no merchant API for link payments. Read the pocket in the hub.
What the payer calls
The payer page uses public routes. Those routes have no key. A server integration should use hosted checkout.