Payment links and QR codes
A payment link is a URL that turns into a checkout the moment a customer opens it. No website, no integration — and the same API object when you do want to automate.
From the dashboard
Dashboard → Payment links → New payment link. Choose:
- Single use — collects one payment, then stops. Right for invoices. Reopening a paid link shows the same payment, so a customer can’t pay an invoice twice.
- Reusable — takes a payment from everyone who opens it. Right for a printed QR on the counter; every scan is a fresh payment.
Every link comes with a print-ready QR code and a copy button.
From the API
curl https://api.lango.co.zw/v1/payment_links \ -H "Authorization: Bearer sk_test_YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{ "amount": 10000, "currency": "USD", "reference": "INV-2024-091", "description": "September invoice", "single_use": true }'{ "id": "lnk_01J8XQ...", "token": "plk_01J8XQ...", "url": "https://checkout.lango.co.zw/l/plk_01J8XQ...", "amount": 10000, "currency": "USD", "reference": "INV-2024-091", "single_use": true, "used_at": null, "expires_at": null, "created_at": "2026-09-12T09:00:00.000Z"}Send url to the customer. When they pay, the payment appears in your dashboard and your
webhooks with reference: "INV-2024-091" — the link’s reference becomes the payment’s
reference, which is how you match it to the invoice.
Bulk
Creating a month’s invoices? One call, up to 100 links:
curl https://api.lango.co.zw/v1/payment_links/bulk \ -H "Authorization: Bearer sk_test_YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{ "links": [ { "amount": 10000, "currency": "USD", "reference": "INV-091" }, { "amount": 25000, "currency": "USD", "reference": "INV-092" } ] }'Options
| Field | Default | Notes |
|---|---|---|
single_use | true | false for reusable counter/QR links |
reference | link id | Unique per merchant; becomes the payment’s reference |
description | — | For your own lists; shown nowhere public |
expires_at | never | ISO 8601; an expired link refuses politely |
What the customer sees
The link opens Lango’s hosted checkout: the amount, your business name, any customer-borne fee as its own line, and an EcoCash number field. It’s built for 3G and small phones, and it never shows “failed” while the network is still deciding. You never handle the customer’s details.