Get Payout by ID
curl --request GET \
--url https://api-production.fossapay.com/api/v1/payouts/{id} \
--header 'x-api-key: <x-api-key>'import requests
url = "https://api-production.fossapay.com/api/v1/payouts/{id}"
headers = {"x-api-key": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<x-api-key>'}};
fetch('https://api-production.fossapay.com/api/v1/payouts/{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-production.fossapay.com/api/v1/payouts/{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-api-key: <x-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-production.fossapay.com/api/v1/payouts/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<x-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-production.fossapay.com/api/v1/payouts/{id}")
.header("x-api-key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-production.fossapay.com/api/v1/payouts/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<x-api-key>'
response = http.request(request)
puts response.read_bodyMaster Wallet Payouts
Get Payout by ID
Retrieve a master-wallet payout using its FossaPay payout ID
GET
/
api
/
v1
/
payouts
/
{id}
Get Payout by ID
curl --request GET \
--url https://api-production.fossapay.com/api/v1/payouts/{id} \
--header 'x-api-key: <x-api-key>'import requests
url = "https://api-production.fossapay.com/api/v1/payouts/{id}"
headers = {"x-api-key": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<x-api-key>'}};
fetch('https://api-production.fossapay.com/api/v1/payouts/{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-production.fossapay.com/api/v1/payouts/{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-api-key: <x-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-production.fossapay.com/api/v1/payouts/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<x-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-production.fossapay.com/api/v1/payouts/{id}")
.header("x-api-key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-production.fossapay.com/api/v1/payouts/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<x-api-key>'
response = http.request(request)
puts response.read_bodystring
required
The active live API key belonging to the merchant that created the payout.
string
required
The
data.payoutId returned when the payout was created. This is not the transactionId or providerReference.curl --request GET \
--url https://api-production.fossapay.com/api/v1/payouts/a9af907d-965f-4ad8-9472-f437fc11df21 \
--header 'x-api-key: YOUR_LIVE_API_KEY'
{
"status": "success",
"statusCode": 200,
"message": "Payout retrieved successfully",
"data": {
"payoutId": "a9af907d-965f-4ad8-9472-f437fc11df21",
"transactionId": "5a0bb85c-268b-44fa-a57d-70b2944688bc",
"reference": "PAYOUT-10025",
"status": "completed",
"route": "external_bank",
"amount": "5000.00",
"fee": "80.00",
"totalDebited": "5080.00",
"currency": "NGN",
"recipient": {
"bankCode": "058",
"bankName": "Guaranty Trust Bank",
"accountName": "ADA LOVELACE",
"accountNumber": "0123456789"
},
"providerReference": "PYT_K8Q4D2M7N5R3T9A_1789098000000",
"metadata": { "invoiceId": "INV-10025" },
"completedAt": "2026-09-11T12:05:10.000Z",
"failedAt": null,
"reversedAt": null
}
}
| HTTP status | When it occurs |
|---|---|
401 | Missing, invalid, or inactive API key. |
403 | Merchant is not eligible. |
404 | Payout does not exist for the authenticated merchant. |

