All checks were successful
Auto Tag on Version Change / check-version (push) Successful in 2s
6.3 KiB
6.3 KiB
Transaction History
Fetch the user's paginated wallet activity log. Each entry represents a single transaction: top-up, payment, transfer, or withdrawal.
Endpoint
GET https://fahipay.mv/actions/activity/?s={start}&l={limit}&lang=en
Prerequisites
Request
Headers
| Header | Value |
|---|---|
authid |
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
content-type |
multipart/form-data |
User-Agent |
okhttp/4.12.0 |
Accept-Encoding |
gzip |
Connection |
Keep-Alive |
Cookie |
__Secure-sess=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
Query Parameters
| Parameter | Description | Example |
|---|---|---|
s |
Start offset (0-based) | 0, 15, 30 |
l |
Number of entries to return per page | 15 |
lang |
Language | en |
Pagination
The API uses offset-based pagination via the s (start) and l (limit) parameters.
| Page | URL |
|---|---|
| First | /actions/activity/?s=0&l=15&lang=en |
| Second | /actions/activity/?s=15&l=15&lang=en |
| Third | /actions/activity/?s=30&l=15&lang=en |
| N-th | /actions/activity/?s={(N-1)*15}&l=15&lang=en |
The response includes a total count and a next URL. Stop fetching when:
- The returned
entriesarray is empty, or s + entries.length >= total
curl Examples
Page 1
curl --request GET \
--url 'https://fahipay.mv/actions/activity/?s=0&l=15&lang=en' \
--compressed \
--header 'Accept-Encoding: gzip' \
--header 'Connection: Keep-Alive' \
--header 'Cookie: __Secure-sess=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
--header 'User-Agent: okhttp/4.12.0' \
--header 'authid: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
--header 'content-type: multipart/form-data'
Page 2
curl --request GET \
--url 'https://fahipay.mv/actions/activity/?s=15&l=15&lang=en' \
--compressed \
--header 'Accept-Encoding: gzip' \
--header 'Connection: Keep-Alive' \
--header 'Cookie: __Secure-sess=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
--header 'User-Agent: okhttp/4.12.0' \
--header 'authid: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
--header 'content-type: multipart/form-data'
Response
{
"entries": [
{
"date": "2026-05-16 15:10:25",
"name": "Cash Deposit",
"details": "Transferred Via BML ebanking",
"icon": "https://fahipay.mv/images/app/bml.png",
"transaction": "FP20260101120000XXXX",
"type": "topup",
"amount": 0.01,
"success": 1,
"status": "Success"
},
{
"date": "2026-03-01 10:00:00",
"name": "Fitr Zakat Payment",
"details": "Payment for Fitr Zakat - 1447",
"icon": "https://fahipay.mv/images/app/zakat_service.png",
"transaction": "FP20260301100000XXXX",
"type": "payment",
"subtype": "FTZKT",
"data": {
"nid": "A123456",
"name": "Mohamed Ali",
"categories": [
{
"type": 7,
"count": 1,
"price": "10.00",
"name": "Normal Wheet"
}
],
"sadaqat": "0.00"
},
"amount": -10,
"success": 1,
"status": "Success"
},
{
"date": "2026-02-01 09:00:00",
"name": "Ooredoo Raastas",
"details": "Mobile Recharge - 9600000001",
"icon": "https://fahipay.mv/images/app/ooredoo.png",
"transaction": "FP20260201090000XXXX",
"type": "payment",
"subtype": "OORCH",
"amount": -100,
"success": 1,
"status": "Success"
}
],
"total": 42,
"next": "https://fahipay.mv/actions/activity/?s=15&l=15",
"type": "success"
}
Response Fields
Top-level
| Field | Type | Description |
|---|---|---|
entries |
array |
List of transaction entries for this page |
total |
number |
Total number of transactions across all pages |
next |
string |
URL of the next page (null or absent on last page) |
type |
string |
"success" |
Entry Object
| Field | Type | Description |
|---|---|---|
date |
string |
Transaction date/time — format: YYYY-MM-DD HH:mm:ss |
name |
string |
Human-readable transaction name (e.g. "Cash Deposit", "Ooredoo Raastas") |
details |
string |
Secondary description (e.g. "Transferred Via BML ebanking", "Mobile Recharge - 9198026") |
icon |
string |
URL of the merchant/bank icon image |
transaction |
string |
Unique transaction reference ID (e.g. FP20260516151002ZXGD) |
type |
string |
Transaction category — see table below |
subtype |
string |
Optional service-specific subtype code (e.g. OORCH, DHBPY) |
amount |
number |
Transaction amount in MVR — negative = debit, positive = credit |
success |
number |
1 = successful, 0 = failed |
status |
string |
Human-readable status string (e.g. "Success", "Failed") |
data |
object |
Optional. Present on some payment types with extra metadata |
Transaction Types (type field)
| Value | Description |
|---|---|
topup |
Money deposited into the wallet (credit, positive amount) |
payment |
Money paid out for a service (debit, negative amount) |
transfer |
Peer-to-peer transfer to/from another Fahipay user |
withdraw |
Money withdrawn from the wallet to a bank account |
Known Subtypes (subtype field)
| Code | Service |
|---|---|
OORCH |
Ooredoo Raastas (mobile top-up) |
OOBPY |
Ooredoo BillPay |
DHRCH |
Dhiraagu Reload (mobile top-up) |
DHBPY |
Dhiraagu BillPay |
DHPKG |
Dhiraagu Package (data package) |
FTZKT |
Fitr Zakat Payment |
Transaction ID Format
FP + YYYYMMDDHHMMSS + XXXX
Example: FP20260101120000XXXX
FP— Fahipay prefix20260101— date (2026-01-01)120000— time (12:00:00)XXXX— 4-char random suffix
Amount Sign Convention
| Sign | Meaning |
|---|---|
Positive (+) |
Credit — money received (top-up, incoming transfer) |
Negative (-) |
Debit — money spent (payment, withdrawal, outgoing transfer) |
Date Format
All dates are in local Maldives time (UTC+5), formatted as:
YYYY-MM-DD HH:mm:ss
Example: 2026-05-16 15:10:25
← Balance Next → Profile Picture