Skip to content

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

Terminal window
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:

Terminal window
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

FieldDefaultNotes
single_usetruefalse for reusable counter/QR links
referencelink idUnique per merchant; becomes the payment’s reference
descriptionFor your own lists; shown nowhere public
expires_atneverISO 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.