Read Settlement Transaction
curl --request GET \
--url https://api.getsafepay.com/raastwire/v1/aggregators/{raast-aggregator-id}/settlements/transactions/{transaction-id} \
--header 'X-SFPY-AGGREGATOR-SECRET-KEY: <api-key>'import requests
url = "https://api.getsafepay.com/raastwire/v1/aggregators/{raast-aggregator-id}/settlements/transactions/{transaction-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}/settlements/transactions/{transaction-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}/settlements/transactions/{transaction-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}/settlements/transactions/{transaction-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}/settlements/transactions/{transaction-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}/settlements/transactions/{transaction-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": {
"settlement_transaction": {
"id": "13",
"token": "stxn_d646b075-f62b-49f7-ab0f-7df161a6fc0b",
"settlement_batch_id": "sb_8ea56b1e-dc96-4751-9ca6-3bcc47e9a5c2",
"aggregator_id": "agg_8fd114c0-1364-4953-8773-62551397ffe1",
"aggregator_merchant_id": "am_7c9594a6-962d-49c7-94e9-64d9cf285969",
"raast_merchant_id": "mer_e1a38d10-0064-4d7b-a700-f4ba483efb05",
"status": "SETTLEMENT_TXN_POSTED",
"attempt": 1,
"gross_amount": "2000",
"fee_amount": "10",
"net_amount": "1929",
"sales_tax_on_fee_amount": "1",
"sales_tax_withholding_amount": "40",
"income_tax_withholding_amount": "20",
"digital_tax_amount": "0",
"debitor_account_id": "acct_f72d1825-31cc-43a2-a7f6-4463443a1c46",
"creditor_account_id": "acct_7f073fa9-e248-4f96-8e7c-99ddcd282124",
"failure_reason": "",
"created_at": "2026-02-06T16:30:02Z",
"updated_at": "2026-02-06T16:30:04Z"
}
}
}Settlement Operations
Read Settlement Transaction
Retrieve one transaction by token. The ID prefix selects the response shape:
stxn_…returnsdata.settlement_transaction(settlement payout)txn_…returnsdata.transactions(underlying payment/refund ledger transaction)
Invalid prefixes return 400 Bad Request.
GET
/
v1
/
aggregators
/
{raast-aggregator-id}
/
settlements
/
transactions
/
{transaction-id}
Read Settlement Transaction
curl --request GET \
--url https://api.getsafepay.com/raastwire/v1/aggregators/{raast-aggregator-id}/settlements/transactions/{transaction-id} \
--header 'X-SFPY-AGGREGATOR-SECRET-KEY: <api-key>'import requests
url = "https://api.getsafepay.com/raastwire/v1/aggregators/{raast-aggregator-id}/settlements/transactions/{transaction-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}/settlements/transactions/{transaction-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}/settlements/transactions/{transaction-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}/settlements/transactions/{transaction-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}/settlements/transactions/{transaction-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}/settlements/transactions/{transaction-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": {
"settlement_transaction": {
"id": "13",
"token": "stxn_d646b075-f62b-49f7-ab0f-7df161a6fc0b",
"settlement_batch_id": "sb_8ea56b1e-dc96-4751-9ca6-3bcc47e9a5c2",
"aggregator_id": "agg_8fd114c0-1364-4953-8773-62551397ffe1",
"aggregator_merchant_id": "am_7c9594a6-962d-49c7-94e9-64d9cf285969",
"raast_merchant_id": "mer_e1a38d10-0064-4d7b-a700-f4ba483efb05",
"status": "SETTLEMENT_TXN_POSTED",
"attempt": 1,
"gross_amount": "2000",
"fee_amount": "10",
"net_amount": "1929",
"sales_tax_on_fee_amount": "1",
"sales_tax_withholding_amount": "40",
"income_tax_withholding_amount": "20",
"digital_tax_amount": "0",
"debitor_account_id": "acct_f72d1825-31cc-43a2-a7f6-4463443a1c46",
"creditor_account_id": "acct_7f073fa9-e248-4f96-8e7c-99ddcd282124",
"failure_reason": "",
"created_at": "2026-02-06T16:30:02Z",
"updated_at": "2026-02-06T16:30:04Z"
}
}
}Authorizations
Path Parameters
The unique identifier for the aggregator
Example:
"agg_2288490a-2176-4de5-b373-0ffb6f8e2e6e"
Transaction token. Use a settlement transaction id (stxn_…, 41 characters) or a general transaction id (txn_…, 40 characters).
Example:
"stxn_d646b075-f62b-49f7-ab0f-7df161a6fc0b"
Was this page helpful?