251 lines
6.3 KiB
Markdown
251 lines
6.3 KiB
Markdown
# 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
|
|
|
|
- Valid `authID` from [login](01-login.md) or [OTP](02-otp.md)
|
|
- Valid `__Secure-sess` session cookie
|
|
|
|
---
|
|
|
|
## 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 `entries` array is empty, **or**
|
|
- `s + entries.length >= total`
|
|
|
|
---
|
|
|
|
## curl Examples
|
|
|
|
### Page 1
|
|
|
|
```bash
|
|
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
|
|
|
|
```bash
|
|
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
|
|
|
|
```json
|
|
{
|
|
"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 prefix
|
|
- `20260101` — 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](04-balance.md) **Next →** [Profile Picture](06-profile-picture.md)
|