Payment Links
A payment link is a shareable URL that opens a NahuPay checkout. No integration required — create one from the dashboard in under a minute and share it over WhatsApp, Telegram, email, or anywhere.
Overview
Payment links are ideal when you:
- Don't have a website or app
- Invoice customers manually
- Sell via social media or messaging apps
- Need a quick checkout for a specific product or service
Under the hood, a payment link creates a Payment object. You can track completion in the dashboard or via webhooks.
Create from the dashboard
- Go to Dashboard → Payment Links → New link
- Enter the amount, description, and optional product image
- Click Create link
- Copy the URL and share it
Links created from the dashboard are reusable by default — each click creates a separate payment. You can set a maximum number of uses or an expiry date from the advanced settings panel.
Create via API
Payment links are a special case of the payments API — add reusable: true to create a link that can be visited more than once:
const link = await client.paymentLinks.create({amount: 25000, // 250 ETBcurrency: 'ETB',description: 'Monthly subscription',methods: ['telebirr', 'bank_transfer'],max_uses: 100,expires_at: '2026-12-31T23:59:59Z',});console.log(link.url);// https://pay.nahupay.com/l/lnk_abc123Customisation
| Option | Description |
|---|---|
| Logo | Your merchant logo is shown automatically from your dashboard profile. |
| Description | Up to 200 characters shown on the checkout page. |
| Product image | An image URL to show alongside the description. |
| Collect name/email | Toggle in advanced settings to collect customer info. |
| Custom success message | What the customer sees after a successful payment. |
Sharing links
Payment links work in any medium. Common patterns:
- WhatsApp invoice: paste the link into a WhatsApp message, attach a photo of the product
- Email: embed as a call-to-action button using the raw URL
- Instagram bio: put the link in your bio or story swipe-up
- QR code: use a QR generator to print the link on packaging or at your shop counter
Tracking payments
Each use of a payment link generates a separate payment ID. Track individual payments in the dashboard under Payments, filtered by the link ID. You can also receive a payment.completed webhook for each use — set this up under Settings → Webhooks.
"product_id": "PROD-99") and it will appear on every payment created from that link.