curl --request GET \
--url https://api-pacb-uat.eximpe.com/pg/payment-links/ \
--header 'X-API-Version: <api-key>' \
--header 'X-Client-ID: <api-key>' \
--header 'X-Client-Secret: <api-key>'import requests
url = "https://api-pacb-uat.eximpe.com/pg/payment-links/"
headers = {
"X-Client-ID": "<api-key>",
"X-Client-Secret": "<api-key>",
"X-API-Version": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'X-Client-ID': '<api-key>',
'X-Client-Secret': '<api-key>',
'X-API-Version': '<api-key>'
}
};
fetch('https://api-pacb-uat.eximpe.com/pg/payment-links/', 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-pacb-uat.eximpe.com/pg/payment-links/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Version: <api-key>",
"X-Client-ID: <api-key>",
"X-Client-Secret: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api-pacb-uat.eximpe.com/pg/payment-links/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Client-ID", "<api-key>")
req.Header.Add("X-Client-Secret", "<api-key>")
req.Header.Add("X-API-Version", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api-pacb-uat.eximpe.com/pg/payment-links/")
.header("X-Client-ID", "<api-key>")
.header("X-Client-Secret", "<api-key>")
.header("X-API-Version", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-pacb-uat.eximpe.com/pg/payment-links/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Client-ID"] = '<api-key>'
request["X-Client-Secret"] = '<api-key>'
request["X-API-Version"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Domestic payment link requests retrieved successfully",
"data": {
"count": 3,
"page": 1,
"page_size": 250,
"next": null,
"previous": null,
"results": [
{
"payment_id": "PR4829301756",
"link_id": "PR4829301756",
"payment_link": "https://api-pacb-uat.eximpe.com/p/Xk3nQ7bT2mWp9vLc4R/",
"merchant": {
"id": "4417290356",
"name": "Acme Exports"
},
"reference_id": "ORD-2026-000123",
"buyer": {
"name": "Rahul Sharma",
"email": "[email protected]",
"phone": "+919876543210"
},
"order_id": "OD7712409386",
"invoice_number": "INV2026000123",
"amount": {
"amount": "1500",
"total_amount": "1500",
"currency": "INR"
},
"created_at": "2026-09-14T09:30:15.123456Z",
"comment": null,
"mop_type": null,
"status": "active"
},
{
"payment_id": "PR3390127845",
"link_id": "PR3390127845",
"payment_link": "https://api-pacb-uat.eximpe.com/p/Hq8sVd2Lm5Rt7Yx1Nb/",
"merchant": {
"id": "4417290356",
"name": "Acme Exports"
},
"reference_id": "ORD-2026-000118",
"buyer": {
"name": "Priya Nair",
"email": "[email protected]",
"phone": "+919812345678"
},
"order_id": "OD5503918274",
"invoice_number": "INV2026000118",
"amount": {
"amount": "2499.5",
"total_amount": "2499.5",
"currency": "INR"
},
"created_at": "2026-09-12T14:05:41.906112Z",
"comment": null,
"mop_type": "upi",
"status": "paid"
},
{
"payment_id": "PR2076648391",
"link_id": "PR2076648391",
"payment_link": "https://api-pacb-uat.eximpe.com/p/Tz4kWn9Fc3Jp6Qe2Ga/",
"merchant": {
"id": "4417290356",
"name": "Acme Exports"
},
"reference_id": "ORD-2026-000097",
"buyer": {
"name": "Arjun Mehta",
"email": "[email protected]",
"phone": "+919900112233"
},
"order_id": "OD8841207735",
"invoice_number": "INV2026000097",
"amount": {
"amount": "800",
"total_amount": "800",
"currency": "INR"
},
"created_at": "2026-08-30T06:18:09.250487Z",
"comment": null,
"mop_type": null,
"status": "expired"
}
]
}
}{
"success": false,
"error": {
"code": "ERR_AUTH_001",
"message": "Invalid credentials",
"details": {
"authentication": "Invalid credentials."
}
}
}{
"detail": "You do not have permission to perform this action."
}{
"success": false,
"error": {
"code": 40350,
"message": "Failed to retrieve domestic payment requests",
"details": {
"error": "Invalid page."
}
}
}List Payment Links
Page through your payment links, newest first, with where each one stands.
curl --request GET \
--url https://api-pacb-uat.eximpe.com/pg/payment-links/ \
--header 'X-API-Version: <api-key>' \
--header 'X-Client-ID: <api-key>' \
--header 'X-Client-Secret: <api-key>'import requests
url = "https://api-pacb-uat.eximpe.com/pg/payment-links/"
headers = {
"X-Client-ID": "<api-key>",
"X-Client-Secret": "<api-key>",
"X-API-Version": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'X-Client-ID': '<api-key>',
'X-Client-Secret': '<api-key>',
'X-API-Version': '<api-key>'
}
};
fetch('https://api-pacb-uat.eximpe.com/pg/payment-links/', 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-pacb-uat.eximpe.com/pg/payment-links/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Version: <api-key>",
"X-Client-ID: <api-key>",
"X-Client-Secret: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api-pacb-uat.eximpe.com/pg/payment-links/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Client-ID", "<api-key>")
req.Header.Add("X-Client-Secret", "<api-key>")
req.Header.Add("X-API-Version", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api-pacb-uat.eximpe.com/pg/payment-links/")
.header("X-Client-ID", "<api-key>")
.header("X-Client-Secret", "<api-key>")
.header("X-API-Version", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-pacb-uat.eximpe.com/pg/payment-links/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Client-ID"] = '<api-key>'
request["X-Client-Secret"] = '<api-key>'
request["X-API-Version"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Domestic payment link requests retrieved successfully",
"data": {
"count": 3,
"page": 1,
"page_size": 250,
"next": null,
"previous": null,
"results": [
{
"payment_id": "PR4829301756",
"link_id": "PR4829301756",
"payment_link": "https://api-pacb-uat.eximpe.com/p/Xk3nQ7bT2mWp9vLc4R/",
"merchant": {
"id": "4417290356",
"name": "Acme Exports"
},
"reference_id": "ORD-2026-000123",
"buyer": {
"name": "Rahul Sharma",
"email": "[email protected]",
"phone": "+919876543210"
},
"order_id": "OD7712409386",
"invoice_number": "INV2026000123",
"amount": {
"amount": "1500",
"total_amount": "1500",
"currency": "INR"
},
"created_at": "2026-09-14T09:30:15.123456Z",
"comment": null,
"mop_type": null,
"status": "active"
},
{
"payment_id": "PR3390127845",
"link_id": "PR3390127845",
"payment_link": "https://api-pacb-uat.eximpe.com/p/Hq8sVd2Lm5Rt7Yx1Nb/",
"merchant": {
"id": "4417290356",
"name": "Acme Exports"
},
"reference_id": "ORD-2026-000118",
"buyer": {
"name": "Priya Nair",
"email": "[email protected]",
"phone": "+919812345678"
},
"order_id": "OD5503918274",
"invoice_number": "INV2026000118",
"amount": {
"amount": "2499.5",
"total_amount": "2499.5",
"currency": "INR"
},
"created_at": "2026-09-12T14:05:41.906112Z",
"comment": null,
"mop_type": "upi",
"status": "paid"
},
{
"payment_id": "PR2076648391",
"link_id": "PR2076648391",
"payment_link": "https://api-pacb-uat.eximpe.com/p/Tz4kWn9Fc3Jp6Qe2Ga/",
"merchant": {
"id": "4417290356",
"name": "Acme Exports"
},
"reference_id": "ORD-2026-000097",
"buyer": {
"name": "Arjun Mehta",
"email": "[email protected]",
"phone": "+919900112233"
},
"order_id": "OD8841207735",
"invoice_number": "INV2026000097",
"amount": {
"amount": "800",
"total_amount": "800",
"currency": "INR"
},
"created_at": "2026-08-30T06:18:09.250487Z",
"comment": null,
"mop_type": null,
"status": "expired"
}
]
}
}{
"success": false,
"error": {
"code": "ERR_AUTH_001",
"message": "Invalid credentials",
"details": {
"authentication": "Invalid credentials."
}
}
}{
"detail": "You do not have permission to perform this action."
}{
"success": false,
"error": {
"code": 40350,
"message": "Failed to retrieve domestic payment requests",
"details": {
"error": "Invalid page."
}
}
}Overview
Returns your payment links a page at a time, newest first. Each entry carries the link’sstatus, its buyer, its amount and the order behind it.
merchant on each entry says whose it is. X-Merchant-ID does not narrow the list.Query Parameters
| Name | Type | Default | Description |
|---|---|---|---|
page | integer | 1 | Page number. |
page_size | integer | 250 | Links per page. Values above 1000 are capped at 1000. |
ordering | string | -created_at | created_at, last_updated_at or payment_completed_at. Prefix with - for descending. |
link_id.Pagination
data wraps the page:
| Field | Description |
|---|---|
count | Total links across all pages |
page | This page’s number |
page_size | Links per page |
next | Full URL of the next page, or null on the last one |
previous | Full URL of the previous page, or null on the first one |
results | The links on this page |
next until it is null. A page past the last one is not returned empty — it is refused with a 500:
{
"success": false,
"error": {
"code": 40350,
"message": "Failed to retrieve domestic payment requests",
"details": {
"error": "Invalid page."
}
}
}
Link status
status | Meaning |
|---|---|
active | Open for payment. |
paid | Paid. This outranks expiry: a paid link reads paid even after its expiry_date passes. |
expired | Past its expiry_date, or deactivated — a deactivated link reads expired. |
failed | Could not be created, or closed without being paid. |
paid before List does.Response Fields
link_idis the link’s ID — what Retrieve and Deactivate take.payment_idis the same value, kept for compatibility.amount.amountandamount.total_amountare decimal strings without trailing zeros —"1500","2499.5". Parse them as decimals, never as floats.total_amountadds GST where GST applies; otherwise it equalsamount.mop_typeis the method the buyer paid with, in lowercase (upi,credit_card). It isnulluntil the link is paid, and can staynullafter. Retrieve Payment Link gives the same value in uppercase.commentsays why a link failed or closed, when there is a reason to give; otherwise it isnull.payment_linkisnullfor a link that could not be created.order_idis the order behind the link (ODfollowed by 10 digits).created_atis UTC with microseconds, e.g.2026-09-14T09:30:15.123456Z.
Authorizations
Client Application ID - Your unique application identifier used to authenticate API requests. You can find your Client ID in the Developer Settings section of the merchant dashboard.
Client Secret Key - Your secret key used alongside the Client ID for secure authentication. Keep this confidential and never expose it in client-side code. Available in the Developer Settings section of the merchant dashboard.
API Version - Specifies which version of the API to use (e.g., '1.X.X', '2.X.X', or '3.X.X'). This header allows you to control which API version your integration uses. Default version information is available in the Developer Settings.
Query Parameters
Page number, starting at 1. Stop when next is null: a page past the last one is refused with a 500.
x >= 1Links per page. Values above 1000 are capped at 1000.
1 <= x <= 1000Sort order. Prefix with - for descending.
-created_at, created_at, -last_updated_at, last_updated_at, -payment_completed_at, payment_completed_at