Get-Single-Transaction
This API is used to get single transaction detail of merchant By providing correct/required filters with the correct access token, merchant user will get a transaction’s details in JSON format.
Transaction Status Description
- Inprogress
- Failed
- Success
- Refund
- Pending
- Onhold
- Rejected
Transaction Mode Description
- Credit Card
- Debit Card
- Sadad
Transaction Entity Description
- Invoice
- Product Invoice
- Add Funds
- Withdrawal
- Transfer
- Order
- Website Payment
- QR Transfer
- SDK Payment
- AJAX Payment
- Product Subscription Detail
- Calender Webcheckout
- GET
Sandbox
https://api-sandbox.sadad.qa/api/transactions/getTransaction
Live
https://api-s.sadad.qa/api/transactions/getTransaction
Permission: Merchant
- Curl
- Ruby
- Python
- PHP
- Java
- Node.js
- Go
- .NET
curl -d "@data.json" -H "Content-Type: application/json" -H "Accept: application/json" -H "Authorization: {ACCESS_TOKEN}" -X GET https://api-s.sadad.qa/api/transactions/getTransaction
require 'net/http'
require 'json'
uri = URI("https://api-s.sadad.qa/api/transactions/getTransaction")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request["Content-Type"] = "application/json"
request["Accept"] = "application/json"
request["Authorization"] = "ACCESS_TOKEN"
request.body = {
invoiceId: "12345"
}.to_json
response = http.request(request)
puts response.body
import requests
url = "https://api-s.sadad.qa/api/transactions/getTransaction"
headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "ACCESS_TOKEN"
}
payload = {
"invoiceId": "12345"
}
response = requests.get(url, headers=headers, json=payload)
print(response.text)
<?php
$url = "https://api-s.sadad.qa/api/transactions/getTransaction";
$data = [
"invoiceId" => "12345"
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Content-Type: application/json",
"Accept: application/json",
"Authorization: ACCESS_TOKEN"
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class GetTransaction {
public static void main(String[] args) throws Exception {
URL url = new URL("https://api-s.sadad.qa/api/transactions/getTransaction");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("Accept", "application/json");
conn.setRequestProperty("Authorization", "ACCESS_TOKEN");
conn.setDoOutput(true);
String jsonInput = "{\"invoiceId\":\"12345\"}";
OutputStream os = conn.getOutputStream();
os.write(jsonInput.getBytes());
os.flush();
os.close();
System.out.println(conn.getResponseCode());
}
}
const fetch = require("node-fetch");
fetch("https://api-s.sadad.qa/api/transactions/getTransaction", {
method: "GET",
headers: {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "ACCESS_TOKEN"
},
body: JSON.stringify({
invoiceId: "12345"
})
})
.then(res => res.json())
.then(data => console.log(data));
package main
import (
"bytes"
"fmt"
"net/http"
)
func main() {
jsonStr := []byte(`{"invoiceId":"12345"}`)
req, _ := http.NewRequest("GET",
"https://api-s.sadad.qa/api/transactions/getTransaction",
bytes.NewBuffer(jsonStr))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Accept", "application/json")
req.Header.Set("Authorization", "ACCESS_TOKEN")
client := &http.Client{}
resp, _ := client.Do(req)
fmt.Println(resp.Status)
}
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "ACCESS_TOKEN");
client.DefaultRequestHeaders.Add("Accept", "application/json");
var json = "{\"invoiceId\":\"12345\"}";
var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.GetAsync("https://api-s.sadad.qa/api/transactions/getTransaction");
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}
Header
| Field | Type | Description |
|---|---|---|
| Authorization | String | User's unique access-token |
| Content-Type | String | application/json |
| User-Agent | String | The User-Agent request header is a characteristic string that lets servers and network peers identify the application, operating system, vendor, and/or version of the requesting user agent. |
| Origin | String | Origin should be available in request header. |
- Header-Example:
{
"Authorization": "BN79o6YNrY4IPP60UF4JmNEM6O8hX9HVUq0e0HWNyo2tt1jqCT9IWnXSBhfr7Mws"
}
Parameter
| Field | Type | Description |
|---|---|---|
| transactionno | String | transaction number to fetch |
- Request-Example:
{
"transactionno": "SD33XXXXXXXXXX8"
}
Success 200
| Field | Type | Description |
|---|---|---|
| entityid | Number | Associated entity id such as invoice/order etc |
| invoicenumber | String | Transaction number |
| isRefund | Boolean | Transaction is refunded or not |
| amount | Number | Transaction amount |
| servicecharge | Number | Service charge of transaction |
| website_ref_no | String | It’s a order_id of checkout page that received from merchant side |
| transaction_summary | String | Transaction summary text |
| refundcharge | Number | If refunded then refund charges |
| id | Number | Unique transaction data id |
| transactiondate | String | Date of transaction |
| transactionentityId | Number | Transaction entity type id such as invoice/order etc |
| transactionmodeId | Number | Transaction payment mode id such as via credit/debit or via sadad |
| transactionstatusId | Number | Transaction status id such as inprogress/success/failure |
| guestuserId | Number | Transaction has been done through non sadad user then received that user id as a guestuserId with detail |
| senderId | Object/Number | Transaction sender id with details |
| receiverId | Object/Number | Transaction receiver id with details |
| transactionentity | Object | Transaction entity id detail |
| transactionstatus | Object | Transaction status id detail |
| transactionmode | Object | Transaction mode id detail |
| guestuser | Object | Guest user id details |
- Success-Response:
{
"entityid": 9230,
"isRefund": false,
"invoicenumber": "SD33XXXXXXXXXX8",
"amount": 1,
"servicecharge": 0.025,
"website_ref_no": null,
"transaction_summary": null,
"refundcharge": 0,
"id": 25291,
"transactiondate": "2021-01-11",
"transactionentityId": 1,
"transactionmodeId": 1,
"transactionstatusId": 3,
"guestuserId": 147,
"senderId": 0,
"receiverId": {
"SadadId": "1853219",
"name": "User1",
"cellnumber": "54XXXXX5",
"id": 466
},
"transactionentity": {
"name": "INVOICE",
"id": 1
},
"transactionstatus": {
"name": "SUCCESS",
"id": 3
},
"transactionmode": {
"name": "CREDIT CARD",
"id": 1
},
"guestuser": {
"cellnumber": "9XXXXXXXXXX3",
"id": 147
}
}
Error 4xx
| Field | Description |
|---|---|
| 401 | Authorization Required |
| 400 | Invalid data |
| 404 | Data not found |
- Response-Example:
{
"error": {
"statusCode": 404,
"name": "Error",
"message": "Transaction not found"
}
}