Skip to main content

Overview

A Payment Link is a hosted payment page that Payaza generates for you. Instead of building a checkout flow from scratch, you create a link via the API, share it with your customer, and they pay on a Payaza-hosted page — no frontend work needed on your end. Payment links are ideal for:
  • Invoices — send a payment link in an email instead of a bank account number
  • Event tickets — one link handles unlimited attendee payments
  • Donations — open-amount links let customers pay whatever they want
  • One-time products — single-use links that expire after one payment
  • Social selling — share on WhatsApp, Instagram bio, or anywhere a URL works
How it works in three steps:
  1. Call Create Payment Link → get back a link URL (e.g. https://business.payaza.africa/pay/techmeetup2027)
  2. Share that URL with your customers — by email, WhatsApp, SMS, or embed it as a button on your site
  3. Customers open the link, fill in their details, and pay — you get notified via your configured webhook

Key Requirements

Retrieve your API keys from your dashboard by following the steps on our Authentication page. Use your public API key for all payment link requests.
Set the following headers on every request:

Fixed amount vs open amount

When creating a payment link, you choose whether it charges a set amount or lets the customer decide.

Who pays the fee?

Transaction processing fees can be absorbed by you or passed to the customer. Set this with fee_bearer_type:
Creates a new payment link. The link in the response is the URL you share with customers.
Request body parameters Sample response
Save data.id immediately — it is the link_id used in every other endpoint (update, activate, deactivate, and fetch transactions). The link URL is permanent and can be shared right away.
API reference: Create Payment Link
Once you have data.link, you can share it anywhere:
  • Email — paste it directly as a button or hyperlink
  • WhatsApp / SMS — send it as a message
  • Website — embed it as a button: <a href="{{link}}">Pay Now</a>
  • Invoice — include it alongside the invoice total
The customer opens the link, fills in the fields you configured (name, email, phone), and completes payment on Payaza’s hosted page. You don’t need to build anything on the frontend.
This is used to update the details of an existing payment link using its link_id. All body fields are optional — include only the fields you want to change. The link URL itself (data.link) does not change when you update other fields.
payment_link_name cannot be updated after creation — the URL slug is fixed at the time the link is created. To change the name, create a new payment link.
Query parameter Updatable body parameters (all optional) Sample response
API reference: Update Payment Link
Temporarily disables a payment link. Customers who visit a deactivated link will not be able to complete a payment. The link is not deleted — you can reactivate it at any time. When to use it: Close registrations for an event once tickets sell out, pause a donation campaign, or temporarily suspend a link without losing its transaction history.
Sample response
API reference: Deactivate Payment Link
Re-enables a previously deactivated payment link. Customers can immediately start making payments again once activated. No request body is needed — just the link_id in the query string.
Sample response
API reference: Activate Payment Link
Retrieve a paginated list of all payment links on your account. Use the optional search parameter to filter by name. Each result includes total_collected_amount and number_of_usage so you can track performance at a glance.
Query parameters Sample response
Key fields explained API reference: Fetch Payment Links
Retrieve a paginated list of all transactions made through a specific payment link. Use this for reconciliation, customer lookups, or building a payments dashboard.
Query parameters Sample response
Transaction status values Key fields explained API reference: Fetch Payment Link Transactions

Error handling


Developer notes

  • Always save data.id (link_id) from the Create Payment Link response — every other endpoint in this guide uses it.
  • data.link is the shareable URL. It is permanent and does not change even after you update the link’s other details.
  • Payment link names become URL slugs — keep them short, descriptive, and without spaces (use camelCase or hyphens). TechMeetup2027 becomes /pay/techmeetup2027.
  • You can set a custom slug after creation using the custom_url field in the Update endpoint — useful if you want a cleaner URL like /pay/tech-meetup-2027.
  • Payment links support multiple payment methods on the hosted page (card, virtual account, etc.) — the transaction_mode field in the transactions response tells you which method each customer used.