Retrieve Payment Details
curl --request GET \
--url https://{brand_domain}/api/v1/payments/{payment_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://{brand_domain}/api/v1/payments/{payment_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{brand_domain}/api/v1/payments/{payment_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://{brand_domain}/api/v1/payments/{payment_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://{brand_domain}/api/v1/payments/{payment_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://{brand_domain}/api/v1/payments/{payment_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{brand_domain}/api/v1/payments/{payment_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"id": 45,
"trx_id": "OP-481029304",
"gateway_trx_id": "A8K9D2J3S",
"amount": "500.00",
"currency": "BDT",
"fee": "7.50",
"status": "completed",
"gateway": "bkash",
"method": "app",
"reference": "INV-10029",
"created_at": "2026-06-23T14:15:45Z",
"completed_at": "2026-06-23T14:17:12Z",
"customer": {
"name": "John Doe",
"email": "[email protected]"
}
}
}{
"success": false,
"error": "Payment not found",
"errors": [
{
"code": "PAYMENT_NOT_FOUND",
"message": "Payment not found",
"field": null
}
],
"request_id": "8f5a2e9b0c7d4e5f"
}{
"success": false,
"error": "Payment not found",
"errors": [
{
"code": "PAYMENT_NOT_FOUND",
"message": "Payment not found",
"field": null
}
],
"request_id": "8f5a2e9b0c7d4e5f"
}Retrieve Payment Details
Lookup a payment intent and its associated transaction state by its unique payment intent UUID. If a transaction has already been established/completed against the intent, the response returns details of that transaction. Otherwise, it returns the details of the pending intent.
GET
/
payments
/
{payment_id}
Retrieve Payment Details
curl --request GET \
--url https://{brand_domain}/api/v1/payments/{payment_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://{brand_domain}/api/v1/payments/{payment_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{brand_domain}/api/v1/payments/{payment_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://{brand_domain}/api/v1/payments/{payment_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://{brand_domain}/api/v1/payments/{payment_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://{brand_domain}/api/v1/payments/{payment_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{brand_domain}/api/v1/payments/{payment_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"id": 45,
"trx_id": "OP-481029304",
"gateway_trx_id": "A8K9D2J3S",
"amount": "500.00",
"currency": "BDT",
"fee": "7.50",
"status": "completed",
"gateway": "bkash",
"method": "app",
"reference": "INV-10029",
"created_at": "2026-06-23T14:15:45Z",
"completed_at": "2026-06-23T14:17:12Z",
"customer": {
"name": "John Doe",
"email": "[email protected]"
}
}
}{
"success": false,
"error": "Payment not found",
"errors": [
{
"code": "PAYMENT_NOT_FOUND",
"message": "Payment not found",
"field": null
}
],
"request_id": "8f5a2e9b0c7d4e5f"
}{
"success": false,
"error": "Payment not found",
"errors": [
{
"code": "PAYMENT_NOT_FOUND",
"message": "Payment not found",
"field": null
}
],
"request_id": "8f5a2e9b0c7d4e5f"
}Authorizations
Provide the Bearer API Key generated for your brand.
Path Parameters
The unique UUID string of the payment intent.
Last modified on July 12, 2026
Related topics
Retrieve TransactionRetrieve CustomerRetrieve Device Connection StatusRetrieve RefundDeveloper Quickstart - Build Your First Payment IntegrationWas this page helpful?
⌘I