Fetch Wallet Transactions
curl --request GET \
--url https://api-production.fossapay.com/api/v1/wallets/fiat/{walletId}/transactions \
--header 'x-api-key: <x-api-key>'import requests
url = "https://api-production.fossapay.com/api/v1/wallets/fiat/{walletId}/transactions"
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/wallets/fiat/{walletId}/transactions', 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/wallets/fiat/{walletId}/transactions",
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/wallets/fiat/{walletId}/transactions"
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/wallets/fiat/{walletId}/transactions")
.header("x-api-key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-production.fossapay.com/api/v1/wallets/fiat/{walletId}/transactions")
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_body{
"transactions": [
{
"transactionId": "txn_abc123",
"transactionType": "deposit",
"walletId": "wal_xyz789",
"accountNumber": "1234567890",
"status": "completed",
"amount": 50000,
"fee": 0,
"originator": {
"accountNumber": "0987654321",
"accountName": "JOHN DOE",
"bankName": "GTBank"
},
"narration": "Payment from John Doe",
"reference": "FP-20240115-001",
"createdAt": "2024-01-15T10:30:45Z"
},
{
"transactionId": "txn_def456",
"transactionType": "withdrawal",
"walletId": "wal_xyz789",
"accountNumber": "1234567890",
"status": "completed",
"amount": 75000,
"fee": 50,
"beneficiary": {
"accountNumber": "1122334455",
"accountName": "JANE SMITH",
"bankName": "Zenith Bank"
},
"narration": "Payment to Jane Smith",
"reference": "FP-20240115-002",
"createdAt": "2024-01-15T14:20:30Z"
}
],
"total": 125,
"page": 1,
"limit": 10,
"totalPages": 13
}
{
"status": false,
"message": "Wallet not found",
"code": "WALLET_NOT_FOUND"
}
Virtual Wallets
Fetch Wallet Transactions
Retrieve all NGN wallet transactions with pagination
GET
/
api
/
v1
/
wallets
/
fiat
/
{walletId}
/
transactions
Fetch Wallet Transactions
curl --request GET \
--url https://api-production.fossapay.com/api/v1/wallets/fiat/{walletId}/transactions \
--header 'x-api-key: <x-api-key>'import requests
url = "https://api-production.fossapay.com/api/v1/wallets/fiat/{walletId}/transactions"
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/wallets/fiat/{walletId}/transactions', 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/wallets/fiat/{walletId}/transactions",
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/wallets/fiat/{walletId}/transactions"
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/wallets/fiat/{walletId}/transactions")
.header("x-api-key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-production.fossapay.com/api/v1/wallets/fiat/{walletId}/transactions")
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_body{
"transactions": [
{
"transactionId": "txn_abc123",
"transactionType": "deposit",
"walletId": "wal_xyz789",
"accountNumber": "1234567890",
"status": "completed",
"amount": 50000,
"fee": 0,
"originator": {
"accountNumber": "0987654321",
"accountName": "JOHN DOE",
"bankName": "GTBank"
},
"narration": "Payment from John Doe",
"reference": "FP-20240115-001",
"createdAt": "2024-01-15T10:30:45Z"
},
{
"transactionId": "txn_def456",
"transactionType": "withdrawal",
"walletId": "wal_xyz789",
"accountNumber": "1234567890",
"status": "completed",
"amount": 75000,
"fee": 50,
"beneficiary": {
"accountNumber": "1122334455",
"accountName": "JANE SMITH",
"bankName": "Zenith Bank"
},
"narration": "Payment to Jane Smith",
"reference": "FP-20240115-002",
"createdAt": "2024-01-15T14:20:30Z"
}
],
"total": 125,
"page": 1,
"limit": 10,
"totalPages": 13
}
{
"status": false,
"message": "Wallet not found",
"code": "WALLET_NOT_FOUND"
}
Path Parameters
string
required
The unique identifier of the wallet
Query Parameters
number
default:"1"
Page number for pagination
number
default:"10"
Number of transactions per page (max 100)
string
Filter by transaction type:
deposit or withdrawalstring
Start date filter (YYYY-MM-DD format)
string
End date filter (YYYY-MM-DD format)
Request
string
required
API Key for authentication
Request Example
curl "https://api-production.fossapay.com/api/v1/wallets/fiat/wal_abc123xyz/transactions?page=1&limit=10&transactionType=deposit" \
-H "x-api-key: fk_production_DTKUG..."
const response = await fetch('https://api-production.fossapay.com/api/v1/wallets/fiat/wal_abc123xyz/transactions?page=1&limit=10&transactionType=deposit&startDate=2024-01-01&endDate=2024-01-31', {
headers: {
'x-api-key': 'fk_production_DTKUG...'
}
});
const data = await response.json();
const transactions = data.transactions;
import requests
url = "https://api-production.fossapay.com/api/v1/wallets/fiat/wal_abc123xyz/transactions"
params = {
"page": 1,
"limit": 10,
"transactionType": "deposit",
"startDate": "2024-01-01",
"endDate": "2024-01-31"
}
headers = {"x-api-key": "fk_production_DTKUG..."}
response = requests.get(url, headers=headers, params=params)
data = response.json()
transactions = data["transactions"]
Response
array
Show transaction object
Show transaction object
string
Unique transaction identifier
string
Transaction type:
deposit or withdrawalstring
Wallet ID (virtual account ID)
string
Virtual account number
string
Transaction status
number
Transaction amount
number
Transaction fee
object
object
string
Destination wallet account number (for internal transfers)
string
Transaction narration
string
Transaction reference
string
Transaction timestamp
number
Total number of transactions
number
Current page number
number
Transactions per page
number
Total number of pages
Response Example
{
"transactions": [
{
"transactionId": "txn_abc123",
"transactionType": "deposit",
"walletId": "wal_xyz789",
"accountNumber": "1234567890",
"status": "completed",
"amount": 50000,
"fee": 0,
"originator": {
"accountNumber": "0987654321",
"accountName": "JOHN DOE",
"bankName": "GTBank"
},
"narration": "Payment from John Doe",
"reference": "FP-20240115-001",
"createdAt": "2024-01-15T10:30:45Z"
},
{
"transactionId": "txn_def456",
"transactionType": "withdrawal",
"walletId": "wal_xyz789",
"accountNumber": "1234567890",
"status": "completed",
"amount": 75000,
"fee": 50,
"beneficiary": {
"accountNumber": "1122334455",
"accountName": "JANE SMITH",
"bankName": "Zenith Bank"
},
"narration": "Payment to Jane Smith",
"reference": "FP-20240115-002",
"createdAt": "2024-01-15T14:20:30Z"
}
],
"total": 125,
"page": 1,
"limit": 10,
"totalPages": 13
}
{
"status": false,
"message": "Wallet not found",
"code": "WALLET_NOT_FOUND"
}
Pagination Example
// Get all transactions with pagination
let page = 1;
let allTransactions = [];
while (true) {
const response = await fetch(`https://api-production.fossapay.com/api/v1/wallets/fiat/wal_abc123xyz/transactions?page=${page}&limit=50`, {
headers: {
'x-api-key': 'fk_production_DTKUG...'
}
});
const data = await response.json();
allTransactions.push(...data.transactions);
if (page >= data.totalPages) {
break;
}
page++;
}
console.log(`Retrieved ${allTransactions.length} transactions`);
For better performance, use specific date ranges and transaction type filters when possible.
Store transaction IDs for reconciliation and audit purposes.

