Payment Links
Create payment links from the dashboard with no code or through the SDK invoice flow
Payment Links
Payment links give your customers a hosted page where they can pay you — no checkout UI required on your side. Send a URL through email, SMS, WhatsApp, or your site. The customer opens it, chooses how to pay, and completes the payment on the hosted page.
Dashboard Payment Links
No code required. Create a payment link directly from the merchant dashboard in a few clicks and share the URL immediately. Each link stays active for multiple customers until it expires or you revoke it.
Create a Link
- Open the Payment Links tab from the dashboard sidebar and click Create link.
- Choose an API key. The key determines both the merchant account that receives payments and whether the link operates in live or test mode.
- Enter the amount, currency, and optionally add a description, line items, a redirect URL, and tags.
- Select which payment methods to accept: Mobile Money, Credit/Debit Card, or Bank Transfer.
- Set an expiry time — from 1 hour to never expiring.
- Customize the look under the Design tab: brand color, logo upload, page layout, and button style.
- Click Create. The link URL is copied to your clipboard and ready to share.
Expiry Options
| Option | Link stops accepting payments |
|---|---|
| 1 hour | 1 hour after creation |
| 24 hours | 24 hours after creation |
| 7 days | 7 days after creation |
| 30 days | 30 days after creation |
| Never | Only when you revoke it |
Share the Link
Copy the URL from the Payment Links table and share it through any channel. Every customer who opens it sees a hosted payment page with your branding.
What the Customer Sees
The hosted page lets the customer:
- Choose a payment method from the ones you enabled
- Enter their payment details
- Confirm the payment on their phone or card
- See a confirmation screen, then optionally redirect to your site
Managing Links
Search and filter links by name, status, or tag from the Payment Links table. Each row has a menu with the following actions:
| Action | When available |
|---|---|
| Copy link URL | Any time |
| Edit | While the link is Active |
| Revoke | While the link is Active |
Revoking a link permanently disables it. Customers who open the URL after revocation cannot complete a payment.
Editable Fields
While a link is Active you can change:
- Name
- Description
- Payment methods
- Expiry date
- Redirect URL
- Branding (logo, color, layout, button style)
- Tags
Amount and currency cannot be changed after the link is created.
Branding Options
| Setting | Options |
|---|---|
| Logo | Upload your logo image |
| Brand color | Any hex color |
| Page layout | Default, Minimal, Centered |
| Button style | Rounded, Square, Pill |
Link Status
| Status | What it means |
|---|---|
| Active | Accepting payments |
| Successful | A payment through this link completed |
| Failed | A payment attempt through this link failed |
| Cancelled | Link was revoked |
SDK Payment Links
When you need to generate a payment URL from your server, use the SDK's invoice API. This is useful for scenarios like emailing an invoice after a customer places an order or creating a payment link on a schedule.
The createInvoice method returns a payment URL that works the same way as a dashboard link — the customer opens it and pays on the hosted page. The difference is that an invoice is tied to one reference and expires after payment, whereas a dashboard link stays reusable until you revoke or expire it.
createInvoice() → Payment URL → Send to customer
↓
Customer opens link
↓
Hosted payment page
↓
Payment processed
↓
Webhook notification / getStatus()For the full API reference including request fields, response shape, status tracking, and webhook events, see the Invoices SDK page.
Dashboard vs Invoice
| Dashboard link | SDK invoice | |
|---|---|---|
| Created from | Dashboard UI | Your server code |
| Reusable | Yes — multiple customers can pay | No — tied to one reference |
| Branding | Logo, color, layout, button style | Description and items only |
| Payment methods | Choose per link | Mobile money only |
| Requires code | No | Yes |
| Best for | Sharing broadly via email, SMS, or messaging apps | Programmatic generation from your backend |
See Also
- Invoices SDK reference —
createInvoicerequest fields and response - Webhooks guide — receive payment notifications
- Transaction Lifecycle — status flow explained