curl --request POST \
--url https://api.payaza.africa/live/payment-link/merchant/create-payment-link \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"payment_link_name": "TechMeetup2027",
"payment_description": "Ticket for the Annual Tech Innovators Meetup",
"has_fixed_amount": true,
"payment_amount": 1500,
"country_code": "NGA",
"currency_code": "NGN",
"collect_customer_first_and_last_name": false,
"collect_customer_email": true,
"collect_customer_phone_number": true,
"redirect_url": "https://example.com/success",
"fee_bearer_type": "Business",
"payment_link_image": "https://example.com/images/banner.png"
}
'import requests
url = "https://api.payaza.africa/live/payment-link/merchant/create-payment-link"
payload = {
"payment_link_name": "TechMeetup2027",
"payment_description": "Ticket for the Annual Tech Innovators Meetup",
"has_fixed_amount": True,
"payment_amount": 1500,
"country_code": "NGA",
"currency_code": "NGN",
"collect_customer_first_and_last_name": False,
"collect_customer_email": True,
"collect_customer_phone_number": True,
"redirect_url": "https://example.com/success",
"fee_bearer_type": "Business",
"payment_link_image": "https://example.com/images/banner.png"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
payment_link_name: 'TechMeetup2027',
payment_description: 'Ticket for the Annual Tech Innovators Meetup',
has_fixed_amount: true,
payment_amount: 1500,
country_code: 'NGA',
currency_code: 'NGN',
collect_customer_first_and_last_name: false,
collect_customer_email: true,
collect_customer_phone_number: true,
redirect_url: 'https://example.com/success',
fee_bearer_type: 'Business',
payment_link_image: 'https://example.com/images/banner.png'
})
};
fetch('https://api.payaza.africa/live/payment-link/merchant/create-payment-link', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.payaza.africa/live/payment-link/merchant/create-payment-link",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'payment_link_name' => 'TechMeetup2027',
'payment_description' => 'Ticket for the Annual Tech Innovators Meetup',
'has_fixed_amount' => true,
'payment_amount' => 1500,
'country_code' => 'NGA',
'currency_code' => 'NGN',
'collect_customer_first_and_last_name' => false,
'collect_customer_email' => true,
'collect_customer_phone_number' => true,
'redirect_url' => 'https://example.com/success',
'fee_bearer_type' => 'Business',
'payment_link_image' => 'https://example.com/images/banner.png'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.payaza.africa/live/payment-link/merchant/create-payment-link"
payload := strings.NewReader("{\n \"payment_link_name\": \"TechMeetup2027\",\n \"payment_description\": \"Ticket for the Annual Tech Innovators Meetup\",\n \"has_fixed_amount\": true,\n \"payment_amount\": 1500,\n \"country_code\": \"NGA\",\n \"currency_code\": \"NGN\",\n \"collect_customer_first_and_last_name\": false,\n \"collect_customer_email\": true,\n \"collect_customer_phone_number\": true,\n \"redirect_url\": \"https://example.com/success\",\n \"fee_bearer_type\": \"Business\",\n \"payment_link_image\": \"https://example.com/images/banner.png\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.payaza.africa/live/payment-link/merchant/create-payment-link")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"payment_link_name\": \"TechMeetup2027\",\n \"payment_description\": \"Ticket for the Annual Tech Innovators Meetup\",\n \"has_fixed_amount\": true,\n \"payment_amount\": 1500,\n \"country_code\": \"NGA\",\n \"currency_code\": \"NGN\",\n \"collect_customer_first_and_last_name\": false,\n \"collect_customer_email\": true,\n \"collect_customer_phone_number\": true,\n \"redirect_url\": \"https://example.com/success\",\n \"fee_bearer_type\": \"Business\",\n \"payment_link_image\": \"https://example.com/images/banner.png\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.payaza.africa/live/payment-link/merchant/create-payment-link")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"payment_link_name\": \"TechMeetup2027\",\n \"payment_description\": \"Ticket for the Annual Tech Innovators Meetup\",\n \"has_fixed_amount\": true,\n \"payment_amount\": 1500,\n \"country_code\": \"NGA\",\n \"currency_code\": \"NGN\",\n \"collect_customer_first_and_last_name\": false,\n \"collect_customer_email\": true,\n \"collect_customer_phone_number\": true,\n \"redirect_url\": \"https://example.com/success\",\n \"fee_bearer_type\": \"Business\",\n \"payment_link_image\": \"https://example.com/images/banner.png\"\n}"
response = http.request(request)
puts response.read_body{
"status": true,
"message": "Payment Link created successfully",
"data": {
"id": 84021,
"link": "https://business.payaza.africa/pay/techmeetup2027",
"has_fixed_amount": true,
"created_date": "2026-09-25T14:15:00.000000000",
"start_date": "2026-09-25T14:15:00.500000000",
"business_name": "Acme Innovations",
"payment_description": "Ticket for the Annual Tech Innovators Meetup",
"payment_link_name": "TechMeetup2027",
"image_url": "https://example.com/images/banner.png",
"fee_bearer": "Pay by Business",
"total_collected_amount": 0,
"number_of_usage": 0,
"is_single_use": false
}
}Create Payment Link
This endpoint is used to create a payment link for your customers.
curl --request POST \
--url https://api.payaza.africa/live/payment-link/merchant/create-payment-link \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"payment_link_name": "TechMeetup2027",
"payment_description": "Ticket for the Annual Tech Innovators Meetup",
"has_fixed_amount": true,
"payment_amount": 1500,
"country_code": "NGA",
"currency_code": "NGN",
"collect_customer_first_and_last_name": false,
"collect_customer_email": true,
"collect_customer_phone_number": true,
"redirect_url": "https://example.com/success",
"fee_bearer_type": "Business",
"payment_link_image": "https://example.com/images/banner.png"
}
'import requests
url = "https://api.payaza.africa/live/payment-link/merchant/create-payment-link"
payload = {
"payment_link_name": "TechMeetup2027",
"payment_description": "Ticket for the Annual Tech Innovators Meetup",
"has_fixed_amount": True,
"payment_amount": 1500,
"country_code": "NGA",
"currency_code": "NGN",
"collect_customer_first_and_last_name": False,
"collect_customer_email": True,
"collect_customer_phone_number": True,
"redirect_url": "https://example.com/success",
"fee_bearer_type": "Business",
"payment_link_image": "https://example.com/images/banner.png"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
payment_link_name: 'TechMeetup2027',
payment_description: 'Ticket for the Annual Tech Innovators Meetup',
has_fixed_amount: true,
payment_amount: 1500,
country_code: 'NGA',
currency_code: 'NGN',
collect_customer_first_and_last_name: false,
collect_customer_email: true,
collect_customer_phone_number: true,
redirect_url: 'https://example.com/success',
fee_bearer_type: 'Business',
payment_link_image: 'https://example.com/images/banner.png'
})
};
fetch('https://api.payaza.africa/live/payment-link/merchant/create-payment-link', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.payaza.africa/live/payment-link/merchant/create-payment-link",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'payment_link_name' => 'TechMeetup2027',
'payment_description' => 'Ticket for the Annual Tech Innovators Meetup',
'has_fixed_amount' => true,
'payment_amount' => 1500,
'country_code' => 'NGA',
'currency_code' => 'NGN',
'collect_customer_first_and_last_name' => false,
'collect_customer_email' => true,
'collect_customer_phone_number' => true,
'redirect_url' => 'https://example.com/success',
'fee_bearer_type' => 'Business',
'payment_link_image' => 'https://example.com/images/banner.png'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.payaza.africa/live/payment-link/merchant/create-payment-link"
payload := strings.NewReader("{\n \"payment_link_name\": \"TechMeetup2027\",\n \"payment_description\": \"Ticket for the Annual Tech Innovators Meetup\",\n \"has_fixed_amount\": true,\n \"payment_amount\": 1500,\n \"country_code\": \"NGA\",\n \"currency_code\": \"NGN\",\n \"collect_customer_first_and_last_name\": false,\n \"collect_customer_email\": true,\n \"collect_customer_phone_number\": true,\n \"redirect_url\": \"https://example.com/success\",\n \"fee_bearer_type\": \"Business\",\n \"payment_link_image\": \"https://example.com/images/banner.png\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.payaza.africa/live/payment-link/merchant/create-payment-link")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"payment_link_name\": \"TechMeetup2027\",\n \"payment_description\": \"Ticket for the Annual Tech Innovators Meetup\",\n \"has_fixed_amount\": true,\n \"payment_amount\": 1500,\n \"country_code\": \"NGA\",\n \"currency_code\": \"NGN\",\n \"collect_customer_first_and_last_name\": false,\n \"collect_customer_email\": true,\n \"collect_customer_phone_number\": true,\n \"redirect_url\": \"https://example.com/success\",\n \"fee_bearer_type\": \"Business\",\n \"payment_link_image\": \"https://example.com/images/banner.png\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.payaza.africa/live/payment-link/merchant/create-payment-link")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"payment_link_name\": \"TechMeetup2027\",\n \"payment_description\": \"Ticket for the Annual Tech Innovators Meetup\",\n \"has_fixed_amount\": true,\n \"payment_amount\": 1500,\n \"country_code\": \"NGA\",\n \"currency_code\": \"NGN\",\n \"collect_customer_first_and_last_name\": false,\n \"collect_customer_email\": true,\n \"collect_customer_phone_number\": true,\n \"redirect_url\": \"https://example.com/success\",\n \"fee_bearer_type\": \"Business\",\n \"payment_link_image\": \"https://example.com/images/banner.png\"\n}"
response = http.request(request)
puts response.read_body{
"status": true,
"message": "Payment Link created successfully",
"data": {
"id": 84021,
"link": "https://business.payaza.africa/pay/techmeetup2027",
"has_fixed_amount": true,
"created_date": "2026-09-25T14:15:00.000000000",
"start_date": "2026-09-25T14:15:00.500000000",
"business_name": "Acme Innovations",
"payment_description": "Ticket for the Annual Tech Innovators Meetup",
"payment_link_name": "TechMeetup2027",
"image_url": "https://example.com/images/banner.png",
"fee_bearer": "Pay by Business",
"total_collected_amount": 0,
"number_of_usage": 0,
"is_single_use": false
}
}Authorizations
Payaza {{Public API Key in Base 64}}
Body
The title or name of the payment link.
"TechMeetup2027"
Indicates whether the payment link has a fixed collection amount.
true
The 3-letter ISO country code.
"NGA"
The 3-letter ISO currency code.
"NGN"
Determines who absorbs the transaction processing fees.
Business, Customer "Customer"
A brief description of what the payment link is for.
"This is for support towards the Tech Meetup 2027"
The exact amount to be charged. Expected if has_fixed_amount is set to true.
500
Indicates if the customer's full name should be collected on the checkout page.
true
Indicates if the customer's email address should be collected.
true
Indicates if the customer's phone number should be collected.
false
The URL to redirect the customer to after a successful transaction.
""
A URL pointing to a logo or image displayed on the payment link.
"https://google.com/face.png"
Response
Create Payment Link Successful Response