curl --request PATCH \
--url 'https://api.payaza.africa/live/payment-link/merchant/update-payment-link?link_id={link_id}' \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"payment_description": "Ticket for the Annual Tech Innovators Meetup",
"has_fixed_amount": true,
"payment_amount": 400,
"country_code": "USA",
"currency_code": "USD",
"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/update-payment-link?link_id={link_id}"
payload = {
"payment_description": "Ticket for the Annual Tech Innovators Meetup",
"has_fixed_amount": True,
"payment_amount": 400,
"country_code": "USA",
"currency_code": "USD",
"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.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
payment_description: 'Ticket for the Annual Tech Innovators Meetup',
has_fixed_amount: true,
payment_amount: 400,
country_code: 'USA',
currency_code: 'USD',
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/update-payment-link?link_id={link_id}', 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/update-payment-link?link_id={link_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'payment_description' => 'Ticket for the Annual Tech Innovators Meetup',
'has_fixed_amount' => true,
'payment_amount' => 400,
'country_code' => 'USA',
'currency_code' => 'USD',
'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/update-payment-link?link_id={link_id}"
payload := strings.NewReader("{\n \"payment_description\": \"Ticket for the Annual Tech Innovators Meetup\",\n \"has_fixed_amount\": true,\n \"payment_amount\": 400,\n \"country_code\": \"USA\",\n \"currency_code\": \"USD\",\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("PATCH", 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.patch("https://api.payaza.africa/live/payment-link/merchant/update-payment-link?link_id={link_id}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"payment_description\": \"Ticket for the Annual Tech Innovators Meetup\",\n \"has_fixed_amount\": true,\n \"payment_amount\": 400,\n \"country_code\": \"USA\",\n \"currency_code\": \"USD\",\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/update-payment-link?link_id={link_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"payment_description\": \"Ticket for the Annual Tech Innovators Meetup\",\n \"has_fixed_amount\": true,\n \"payment_amount\": 400,\n \"country_code\": \"USA\",\n \"currency_code\": \"USD\",\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 updated 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",
"redirect_url": "https://example.com/success",
"requested_information": [],
"total_collected_amount": 0,
"number_of_usage": 0,
"is_single_use": false
}
}Update Payment Link
This endpoint is used to update a payment link for your customers.
curl --request PATCH \
--url 'https://api.payaza.africa/live/payment-link/merchant/update-payment-link?link_id={link_id}' \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"payment_description": "Ticket for the Annual Tech Innovators Meetup",
"has_fixed_amount": true,
"payment_amount": 400,
"country_code": "USA",
"currency_code": "USD",
"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/update-payment-link?link_id={link_id}"
payload = {
"payment_description": "Ticket for the Annual Tech Innovators Meetup",
"has_fixed_amount": True,
"payment_amount": 400,
"country_code": "USA",
"currency_code": "USD",
"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.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
payment_description: 'Ticket for the Annual Tech Innovators Meetup',
has_fixed_amount: true,
payment_amount: 400,
country_code: 'USA',
currency_code: 'USD',
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/update-payment-link?link_id={link_id}', 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/update-payment-link?link_id={link_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'payment_description' => 'Ticket for the Annual Tech Innovators Meetup',
'has_fixed_amount' => true,
'payment_amount' => 400,
'country_code' => 'USA',
'currency_code' => 'USD',
'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/update-payment-link?link_id={link_id}"
payload := strings.NewReader("{\n \"payment_description\": \"Ticket for the Annual Tech Innovators Meetup\",\n \"has_fixed_amount\": true,\n \"payment_amount\": 400,\n \"country_code\": \"USA\",\n \"currency_code\": \"USD\",\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("PATCH", 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.patch("https://api.payaza.africa/live/payment-link/merchant/update-payment-link?link_id={link_id}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"payment_description\": \"Ticket for the Annual Tech Innovators Meetup\",\n \"has_fixed_amount\": true,\n \"payment_amount\": 400,\n \"country_code\": \"USA\",\n \"currency_code\": \"USD\",\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/update-payment-link?link_id={link_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"payment_description\": \"Ticket for the Annual Tech Innovators Meetup\",\n \"has_fixed_amount\": true,\n \"payment_amount\": 400,\n \"country_code\": \"USA\",\n \"currency_code\": \"USD\",\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 updated 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",
"redirect_url": "https://example.com/success",
"requested_information": [],
"total_collected_amount": 0,
"number_of_usage": 0,
"is_single_use": false
}
}Authorizations
Payaza {{Public API Key in Base 64}}
Path Parameters
The unique identifier of the payment link.
Body
A brief description of what the payment link is for.
"This is for support towards the Youth Conference 2024"
Indicates whether the payment link has a fixed collection amount.
false
The exact amount to be charged. Expected if has_fixed_amount is set to true.
500
The 3-letter ISO country code.
"USA"
The 3-letter ISO currency code.
"USD"
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.
true
The message displayed to the customer after a successful payment.
"Thank you. God bless you"
The message displayed to the customer if the payment fails.
"Try again"
The URL to redirect the customer to after a successful transaction.
""
A custom vanity URL slug for the payment link.
"praisefest-2027"
Any additional information or instructions for the payment link.
""
Determines who absorbs the transaction processing fees.
BUSINESS, CUSTOMER, Business, Customer "Customer"
A URL pointing to a logo or image displayed on the payment link.
"https://monosnap.com/file/29mZxp6OWo0MrhkrnGXrrG69VKK5tj"
Response
Update Payment Link Successful Response
The response is of type any.