Use this endpoint to fetch all payment attempts such as successful, failed, and pending recorded against a payment link.
Use this to verify payment completion, reconcile partial payments, or displaypayment history. An empty result array is a valid success response when no payments have been attempted yet.
GET
/payment-links/{invoiceNumber}/transactions
Environments
| Environment | URL |
|---|---|
| Test Environment | https://uatoneapi.payu.in |
| Production Environment | https://oneapi.payu.in |
Get Your Bearer Token Before Calling this EndpointThis API uses OAuth 2.0 authentication.
- Call the Generate an Access Token token with
grant_type=client_credentialsandscope=create_payment_links- Copy the
access_tokenfrom the response- Pass it as
Authorization: Bearer {access_token}in every requestToken Expiry: Check
expires_inin the token response and refresh before it lapses.
Sample Request
curl --location 'https://uatoneapi.payu.in/payment-links/{{invoice_number}}/txns?pageSize=10&dateFrom=2024-10-16&dateTo=2024-10-17' \
--header 'merchantId: {{merchantId}}' \
--header 'Authorization: Bearer {{access_token}}'using var client = new HttpClient();
var request = new HttpRequestMessage(
HttpMethod.Get,
"https://uatoneapi.payu.in/payment-links/{{invoice_number}}/txns?pageSize=10&dateFrom=2024-10-16&dateTo=2024-10-17"
);
request.Headers.Add("merchantId", "{{merchantId}}");
request.Headers.Add("Authorization", "Bearer {{access_token}}");
var response = await client.SendAsync(request);
var responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);import requests
url = "https://uatoneapi.payu.in/payment-links/{{invoice_number}}/txns?pageSize=10&dateFrom=2024-10-16&dateTo=2024-10-17"
headers = {
"merchantId": "{{merchantId}}",
"Authorization": "Bearer {{access_token}}"
}
response = requests.get(url, headers=headers)
print(response.text)const response = await fetch(
"https://uatoneapi.payu.in/payment-links/{{invoice_number}}/txns?pageSize=10&dateFrom=2024-10-16&dateTo=2024-10-17",
{
method: "GET",
headers: {
"merchantId": "{{merchantId}}",
"Authorization": "Bearer {{access_token}}"
}
}
);
const responseBody = await response.text();
console.log(responseBody);import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(
"https://uatoneapi.payu.in/payment-links/{{invoice_number}}/txns?pageSize=10&dateFrom=2024-10-16&dateTo=2024-10-17"
))
.header("merchantId", "{{merchantId}}")
.header("Authorization", "Bearer {{access_token}}")
.GET()
.build();
HttpResponse<String> response = client.send(
request,
HttpResponse.BodyHandlers.ofString()
);
System.out.println(response.body());<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://uatoneapi.payu.in/payment-links/{{invoice_number}}/txns?pageSize=10&dateFrom=2024-10-16&dateTo=2024-10-17',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'merchantId: {{merchantId}}',
'Authorization: Bearer {{access_token}}'
]
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;Refer to the Path Params and Headers sections for a full description of all parameters and use cases.
Sample Response
{
"status": 0,
"message": null,
"result": {
"pageSize": 10,
"pages": 1,
"rows": 1,
"pageOffset": 0,
"data": [
{
"createdOn": "2024-10-16 15:34:52.0",
"transactionId": "403993715532491867",
"merchantReferenceId": "80203",
"paymentId": null,
"settledAmount": 19,
"customerEmail": "[email protected]",
"status": "success",
"mode": "CC",
"bankCode": "CC",
"cardNum": "XXXXXXXXXXXX2346",
"subscriptionDetails": null
}
]
},
"errorCode": null,
"guid": "3755efc8-60d3-4a8e-b0dc-642d02c77c8f"
}Refer to the Response section for a full description of all response fields.
