Transaction Report
Generate and retrieve transaction reports for reconciliation.
Environment
The examples below use sandbox: https://sandbox.payscribe.ng/api/v1. Switch to https://api.payscribe.ng/api/v1 only with a production key after completing the go-live checklist.
Get Transaction Report
GET /my-account/transactions?page=1&page_size=20&start_date=2026-01-01&end_date=2026-07-18
- cURL
- Node.js
- Python
- Go
curl -X GET "https://sandbox.payscribe.ng/api/v1/my-account/transactions?page=1&page_size=20&start_date=2026-01-01&end_date=2026-07-18" \
-H "Authorization: Bearer $PAYSCRIBE_API_KEY"
const response = await fetch('https://sandbox.payscribe.ng/api/v1/my-account/transactions?page=1&page_size=20&start_date=2026-01-01&end_date=2026-07-18', {
method: 'GET',
headers: {Authorization: `Bearer ${process.env.PAYSCRIBE_API_KEY}`},
});
const result = await response.json().catch(() => null);
if (!response.ok) throw new Error(`Payscribe request failed: ${response.status}`);
console.log(result);
import os
import requests
response = requests.get(
'https://sandbox.payscribe.ng/api/v1/my-account/transactions?page=1&page_size=20&start_date=2026-01-01&end_date=2026-07-18',
headers={'Authorization': f"Bearer {os.environ['PAYSCRIBE_API_KEY']}"},
timeout=20,
)
response.raise_for_status()
print(response.json())
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
var body io.Reader
request, err := http.NewRequest(http.MethodGet, "https://sandbox.payscribe.ng/api/v1/my-account/transactions?page=1&page_size=20&start_date=2026-01-01&end_date=2026-07-18", body)
if err != nil { panic(err) }
request.Header.Set("Authorization", "Bearer "+os.Getenv("PAYSCRIBE_API_KEY"))
response, err := http.DefaultClient.Do(request)
if err != nil { panic(err) }
defer response.Body.Close()
responseBody, _ := io.ReadAll(response.Body)
if response.StatusCode < 200 || response.StatusCode > 299 { panic(fmt.Sprintf("Payscribe request failed: %s", response.Status)) }
fmt.Println(string(responseBody))
}
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
page | integer | No | Page number (default: 1) |
page_size | integer | No | Items per page (default: 20, max: 100) |
start_date | date | No | Start date (YYYY-MM-DD) |
end_date | date | No | End date (YYYY-MM-DD) |
currency | string | No | Filter by currency (NGN, USD) |
status | string | No | Filter by transaction status |
product | string | No | Filter by product slug (for example airtime, cards, transfers) |
Response
{
"status": true,
"description": "Transactions fetched successfully.",
"message": {
"details": {
"data": [
{
"trans_id": "TRX-20260718-0001",
"invoice_id": null,
"amount": 5000,
"fee": 25,
"currency": "NGN",
"status": "success",
"description": "Airtime purchase",
"product": "AIRTIME",
"created_at": "2026-07-18 09:12:00"
}
],
"pagination": {
"total": 1,
"page": 1,
"page_size": 20,
"pages": 1
}
}
},
"status_code": 200
}
See also My Account > Transactions.
Was this page helpful?