Transactions Statement¶
Description¶
Returns a list of transactions for an account, optionally filtered by status, reference, and date range.
Auth¶
Bearer token required.
Endpoint & Method¶
Parameters¶
| Query Param | Required | Notes |
|---|---|---|
account_number |
Yes | |
status |
No | e.g. processing |
reference |
No | Filter by transaction reference |
start_date |
No | Format YYYY-MM-DD |
end_date |
No | Format YYYY-MM-DD |
Example Request¶
curl -X GET "https://api.cloudpay365.com/api/v1/transactions/?account_number=<YOUR_MERCHANT_ID>&status=processing&start_date=2026-06-01&end_date=2026-06-30" \
-H "Authorization: Bearer <ACCESS_TOKEN>"
Example Response¶
Pagination is exposed via links, count, pages, and current_page at the top level, alongside data as the array of transaction records.
{
"success": true,
"links": {
"next": null,
"previous": null
},
"count": 2,
"pages": 1,
"current_page": 1,
"data": [
{
"id": 9,
"wallet": {
"id": 4,
"name": "<MERCHANT_NAME>",
"account_number": "<YOUR_MERCHANT_ID>",
"currency_code": "KES",
"balance": "10.00",
"locked_balance": "0.00",
"status": "active"
},
"amount": "10.00",
"charges": "0.00",
"balance_before": "0.00",
"balance_after": "10.00",
"currency_code": "KES",
"date": "2026-06-12",
"type": "credit",
"status": "success",
"narration": "Test Payin",
"merchant_reference": "<YOUR_UNIQUE_REFERENCE>",
"psp": "sasapay",
"rail_reference": "<RAIL_REFERENCE>",
"payment_method": "mpesa",
"channel_code": "63902",
"gateway_reference": "<GATEWAY_REFERENCE>",
"created_at": "2026-06-12T11:01:42.495372+03:00"
},
{
"id": 4,
"wallet": {
"id": 1,
"name": "<MERCHANT_NAME>",
"account_number": "<YOUR_MERCHANT_ID>",
"currency_code": "KES",
"balance": "101.00",
"locked_balance": "0.00",
"status": "active"
},
"amount": "10.00",
"charges": "0.00",
"balance_before": "21.00",
"balance_after": "11.00",
"currency_code": "KES",
"date": "2026-04-08",
"type": "debit",
"status": "processing",
"narration": "Test Payout",
"merchant_reference": "<YOUR_UNIQUE_REFERENCE>",
"psp": "sasapay",
"rail_reference": null,
"payment_method": "mpesa",
"channel_code": "63902",
"gateway_reference": "<GATEWAY_REFERENCE>",
"created_at": "2026-04-08T22:40:21.420005+03:00"
}
]
}
Response fields¶
| Field | Notes |
|---|---|
type |
credit or debit — direction of the ledger entry relative to the wallet |
status |
Per-entry status, e.g. success, processing — distinct from the top-level success envelope flag |
wallet |
Nested wallet object matching the shape returned by Account Balance |
balance_before / balance_after |
Wallet balance immediately before/after this entry — useful for reconciliation |
psp |
Underlying payment service provider that processed the transaction, e.g. sasapay |
channel_code |
PSP-specific channel/shortcode used for the transaction |
gateway_reference / rail_reference |
Downstream identifiers; rail_reference was null on a still-processing entry in the captured example |
amount, charges, balance_before, balance_after |
Returned as strings, not numbers — parse explicitly, consistent with Account Balance |
Notes / Gotchas¶
status,reference,start_date, andend_dateare all optional filters — omit them to fetch the full statement foraccount_number.- Paginate using
links.next/links.previous(full URLs) rather than manually incrementingcurrent_page. - Use this endpoint to reconcile against webhook-driven state, e.g. as the final step of the Quickstart —
balance_before/balance_aftermake it well-suited for ledger reconciliation specifically.