Skip to main content
GET
/
v1
/
aggregators
/
{raast-aggregator-id}
/
payments
/
{payment-id}
Find Payment
curl --request GET \
  --url https://api.getsafepay.com/raastwire/v1/aggregators/{raast-aggregator-id}/payments/{payment-id} \
  --header 'X-SFPY-AGGREGATOR-SECRET-KEY: <api-key>'
import requests

url = "https://api.getsafepay.com/raastwire/v1/aggregators/{raast-aggregator-id}/payments/{payment-id}"

headers = {"X-SFPY-AGGREGATOR-SECRET-KEY": "<api-key>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {'X-SFPY-AGGREGATOR-SECRET-KEY': '<api-key>'}};

fetch('https://api.getsafepay.com/raastwire/v1/aggregators/{raast-aggregator-id}/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://api.getsafepay.com/raastwire/v1/aggregators/{raast-aggregator-id}/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 => [
"X-SFPY-AGGREGATOR-SECRET-KEY: <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.getsafepay.com/raastwire/v1/aggregators/{raast-aggregator-id}/payments/{payment-id}"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("X-SFPY-AGGREGATOR-SECRET-KEY", "<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.getsafepay.com/raastwire/v1/aggregators/{raast-aggregator-id}/payments/{payment-id}")
.header("X-SFPY-AGGREGATOR-SECRET-KEY", "<api-key>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.getsafepay.com/raastwire/v1/aggregators/{raast-aggregator-id}/payments/{payment-id}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["X-SFPY-AGGREGATOR-SECRET-KEY"] = '<api-key>'

response = http.request(request)
puts response.read_body
{
  "api_version": "v1",
  "data": {
    "id": "644",
    "token": "pm_f37a10dd-c530-4d86-8483-be473e820578",
    "aggregator_id": "agg_2288490a-2176-4de5-b373-0ffb6f8e2e6e",
    "aggregator_merchant_id": "am_749fe6ce-91f9-4f6a-9df2-ec6ae9f75a30",
    "qr_code_id": "qr_503d916b-9ad5-44aa-8d41-1ad656882f7f",
    "order_id": "has_3320",
    "type": "DYNAMIC_QR",
    "amount": "250",
    "status": "P_REJECTED",
    "uetr": "e3391812-f9f5-4feb-bd6d-60698e9b662f",
    "trace_reference": "ce08b498-376c-41dd-b32b-f814441c4507",
    "msg_id": "FE0PMU5HHKKPF4S7PLR20M8HKBYI57WAUV5",
    "instr_id": "INSTR-88921",
    "end_to_end_id": "E2E-09771234",
    "pmt_inf_id": "9545TGYRG0F6DCQEF2ZH7UCOCU57FUNYDL9",
    "request_id": "6a049190-3595-47cb-8603-7e310c3adb15",
    "msg_created_at": "2025-06-27T06:45:35Z",
    "expires_at": "2025-06-27T06:47:34Z",
    "created_at": "2025-06-27T06:45:35Z",
    "updated_at": "2025-06-27T06:48:33Z",
    "txn_logs": [
      {
        "id": "2980",
        "type": "PAYMENT_STATUS",
        "payment_id": "644",
        "status": "P_REJECTED",
        "refund_id": "rfd_0f4a653e-cc5c-4fe3-9f3c-5b2ec518de66",
        "settlement_id": "stl_1b9f5df3-ae17-4e56-9c58-0f0c594dfbf4",
        "txn_desc": "Payment rejected by beneficiary bank.",
        "addtl_info": "OTP verification failed at issuer bank.",
        "token": "log_b2cb6f9b-4960-4b58-b0f4-91a2c0d1c177",
        "timestamp": "2025-06-27T06:48:33Z",
        "iso_msg_type": "pacs.002"
      }
    ],
    "debitor": null,
    "qr_code": {
      "id": "148",
      "token": "qr_3b4a02f2-4e7b-4de1-90a6-0213767b7b8b",
      "aggregator_merchant_id": "am_749fe6ce-91f9-4f6a-9df2-ec6ae9f75a30",
      "type": "DYNAMIC",
      "code": "00020101021226370012PKSAFEPAKISTAN0117PM_f37a10dd",
      "terminal_label": "TL-839201",
      "reference_label": "RL-3242",
      "is_deleted": false,
      "created_at": "2025-06-20T05:44:11Z"
    },
    "aggregator_merchant": {
      "id": "92",
      "token": "am_749fe6ce-91f9-4f6a-9df2-ec6ae9f75a30",
      "name": "Lazer Sports",
      "aggregator_id": "agg_2288490a-2176-4de5-b373-0ffb6f8e2e6e",
      "merchant_id": "mer_2cab1524-805d-4a09-8e51-924ddf3f43ea",
      "merchant_external_id": "lazersports-001",
      "bank_account_id": "ba_cda15b62-26cc-4ae2-aa4b-4173846c1f18",
      "enabled": true,
      "created_at": "2025-06-10T07:14:03Z",
      "updated_at": "2025-06-27T06:48:33Z",
      "raast_merchant": {
        "id": "501",
        "token": "rm_b8a45764-3100-4e1e-90fa-3f918a8dac5d",
        "partner_id": "partner_4321",
        "raast_record_id": "RAAST123456",
        "status": "Active",
        "uid_type": "NTN",
        "uid_value": "1234567-8",
        "name": "Lazer Sports Pvt Ltd",
        "document_type": "NTN",
        "document_number": "1234567-8",
        "address_details": {
          "country": "PK",
          "city": "Karachi",
          "state_province_region": "Sindh",
          "address_line": "221B Baker Street"
        },
        "contact_details": {
          "mobile_number": "+923001112233",
          "email": "contact@lazersports.pk"
        },
        "additional_details": {
          "dba": "Lazer Sports",
          "mcc": "5411",
          "lat": "24.8607",
          "long": "67.0011"
        },
        "additional_details_private": {},
        "created_at": "2025-04-01T08:21:55Z",
        "updated_at": "2025-06-15T11:12:45Z"
      }
    },
    "refunds": [],
    "settlement": null
  }
}

Authorizations

X-SFPY-AGGREGATOR-SECRET-KEY
string
header
required

Path Parameters

raast-aggregator-id
string
required

The unique identifier for the aggregator

Example:

"agg_2288490a-2176-4de5-b373-0ffb6f8e2e6e"

payment-id
string
required

The unique identifier for the payment

Example:

"pm_2288490a-2176-4de5-b373-0ffb6f8e2e6e"

Response

200 - application/json

This response contains details of a payment

Standard response structure for successful operations

api_version
string

The current version of the API spec

Example:

"v1"

data
object

Payment record returned by Safepay aggregator APIs.