Fetch Wallet Transactions
curl --request GET \
--url https://api.example.com/api/v1/wallets/fiat/{walletId}/transactions \
--header 'x-api-key: <x-api-key>'import requests
url = "https://api.example.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.example.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.example.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.example.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.example.com/api/v1/wallets/fiat/{walletId}/transactions")
.header("x-api-key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.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 transactions for a wallet with pagination
GET
/
api
/
v1
/
wallets
/
fiat
/
{walletId}
/
transactions
Fetch Wallet Transactions
curl --request GET \
--url https://api.example.com/api/v1/wallets/fiat/{walletId}/transactions \
--header 'x-api-key: <x-api-key>'import requests
url = "https://api.example.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.example.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.example.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.example.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.example.com/api/v1/wallets/fiat/{walletId}/transactions")
.header("x-api-key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.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
The unique identifier of the wallet
Query Parameters
Page number for pagination
Number of transactions per page (max 100)
Filter by transaction type:
deposit or withdrawalStart date filter (YYYY-MM-DD format)
End date filter (YYYY-MM-DD format)
Request
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: fp_live_sk_xxxxxxxx"
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': 'fp_live_sk_xxxxxxxx'
}
});
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": "fp_live_sk_xxxxxxxx"}
response = requests.get(url, headers=headers, params=params)
data = response.json()
transactions = data["transactions"]
Response
Show transaction object
Show transaction object
Unique transaction identifier
Transaction type:
deposit or withdrawalWallet ID (virtual account ID)
Virtual account number
Transaction status
Transaction amount
Transaction fee
Destination wallet account number (for internal transfers)
Transaction narration
Transaction reference
Transaction timestamp
Total number of transactions
Current page number
Transactions per page
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': 'fp_live_sk_xxxxxxxx'
}
});
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.
⌘I

