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.
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.
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,
};
}
Get weekly developer tips
Join 25,000+ developers. Practical guides, job tips, and new content — straight to your inbox.
No spam. Unsubscribe anytime.
See the Paystack no-code integrations guide for more options.
KES 2,999
The definitive guide to building payment systems with Paystack — from your first transaction to production-grade payment infrastructure across Africa. 9 modules, 47 lessons. Free preview available.
Start Paystack Course