Paystack Payment Links Without Writing Code
Go to Paystack dashboard → Payment Links → New Payment Link. Set the amount (fixed or customer-pays-what-they-want), add a description, and copy the link. Share via WhatsApp, email, or SMS. For repeatable links (subscriptions, donations), set "allow multiple uses". For one-off invoice-style links, use Payment Requests (invoices) instead. You can also create links via POST /paymentrequest for automation.
Creating a Payment Link from the Dashboard
- Log in to your Paystack dashboard.
- Click Payment Links in the left sidebar.
- Click New Payment Link.
- Enter a name (shown to customer), description, and amount. Leave amount blank for "customer chooses".
- Toggle Allow multiple uses if you want to reuse the link (e.g., for a product page). Leave it off for one-time payments.
- Click Create Payment Link. Copy the link and share.
Payment links support all Paystack payment methods available in your country: card, M-Pesa, bank transfer, USSD, mobile money, and more. Your customer sees the same Paystack checkout they would see on any integrated website.
Creating Payment Links via API (For Automation)
Paystack calls payment links "Payment Requests" or "Invoices" in the API. Use POST /paymentrequest to create them programmatically:
// Create a payment link via Paystack API
async function createPaymentLink({ customerEmail, amount, description, dueDate }) {
var res = await fetch('https://api.paystack.co/paymentrequest', {
method: 'POST',
headers: { Authorization: 'Bearer ' + process.env.PAYSTACK_SECRET_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({
customer: customerEmail, // or a Paystack customer ID
amount, // in kobo/pesewas/cents
description,
due_date: dueDate, // ISO date string, optional
send_notification: true, // Paystack emails the customer
draft: false, // set true to save without sending
}),
});
var data = await res.json();
return {
link: data.data.link, // shareable payment URL
requestCode: data.data.request_code,
};
}
Learn More
See the Paystack no-code integrations guide for more options.
Key Takeaways
- ✓Create a Paystack payment link in 2 minutes from the dashboard — no code required.
- ✓Set a fixed amount or let the customer choose what to pay (great for donations).
- ✓Links can be one-time or reusable — toggle "allow multiple uses" for reusable links.
- ✓For invoicing, use Payment Requests (Paystack Invoices) from the dashboard or API.
- ✓Payment link payments appear in your Paystack dashboard Transactions tab like any other payment.
- ✓You can create payment links via the API (POST /paymentrequest) for automation at scale.
Frequently Asked Questions
- Can I use a Paystack payment link to sell products?
- Yes. Create a payment link for each product with a fixed amount and description. Share the appropriate link for each product. For a full product catalogue, consider Paystack Storefront (built into the dashboard) or a WooCommerce/Shopify integration.
- Do Paystack payment links expire?
- Single-use payment links expire after one successful payment. Reusable links (allow multiple uses enabled) do not expire unless you manually deactivate them. Payment Request links (invoices) can have a due date set, but they do not auto-expire — the customer can still pay after the due date unless you cancel the invoice.
- Can I add a custom field to a Paystack payment link (e.g., order number)?
- Yes. In the payment link creation flow, you can add custom fields (metadata) that the customer must fill in before paying — for example, their order number, delivery address, or ticket type. This data appears in the transaction details in your dashboard.
Ready to build real-world apps?
Join the McTaba Labs full-stack marathon (4 months full-time · 6 months part-time). Learn M-Pesa, USSD, and WhatsApp engineering while shipping 8 production apps.
Apply to the McTaba Marathon