Appearance
Wallet
Read your current balance and transaction history. Wallet endpoints require a vendor or admin account. Any other account gets 403 with error code FORBIDDEN.
GET/api/v1/wallet/balance
Returns the ZAR wallet balance for the authenticated vendor.
Query parameters
| Parameter | Type | Required | Notes |
|---|---|---|---|
user_id | integer | No | Admin only. Reads a specific vendor's balance. Vendor tokens ignore this field. |
Example request
bash
curl --request GET "{{BASE_URL}}/api/v1/wallet/balance" \
--header "Accept: application/json" \
--header "Authorization: Bearer {{TOKEN}}"php
<?php
use Illuminate\Support\Facades\Http;
$response = Http::baseUrl(env('FLUXR_API_BASE_URL', 'https://redemption.fluxr.co.za'))
->withToken(env('FLUXR_API_TOKEN'))
->acceptJson()
->get('/api/v1/wallet/balance');
$body = $response->json();Success response: 200
json
{
"success": true,
"message": "OK",
"data": {
"currency": "ZAR",
"balance": 92.0,
"pending_balance": 0.0,
"on_hold_balance": 0.0
}
}| Field | Type | Notes |
|---|---|---|
currency | string | Always ZAR. |
balance | float | Available balance. |
pending_balance | float | Credits not yet cleared. |
on_hold_balance | float | Funds held during a review or another hold. |
GET/api/v1/wallet/transactions
List wallet transactions, newest first.
Query parameters
| Parameter | Type | Required | Notes |
|---|---|---|---|
type | string | No | credit (money in), debit (money out), or all (default). |
from | date | No | Start date filter (inclusive). |
to | date | No | End date filter (inclusive). |
per_page | integer | No | Default 15, max 100. |
user_id | integer | No | Admin only. Reads a specific vendor's transactions. |
Transaction object
| Field | Type | Notes |
|---|---|---|
uuid | string | Unique transaction ID. Use it as your reconciliation key. |
type | string | Processor that created the transaction, such as deposit. This field is not the credit or debit direction. Use the type query parameter to filter by direction. |
amount | float | Gross transaction amount. |
received | float | Net amount received. |
commission | float | Commission charged on the transaction. |
currency | string | ISO currency code. |
status | string | Transaction status, such as paid. |
meta | object | Transaction context. Redemption credits include redemption_id and provider. |
created_at | string|null | ISO-8601 UTC timestamp. |
Example request
bash
curl --request GET "{{BASE_URL}}/api/v1/wallet/transactions?from=2026-08-01&to=2026-08-31&type=credit&per_page=15" \
--header "Accept: application/json" \
--header "Authorization: Bearer {{TOKEN}}"php
<?php
use Illuminate\Support\Facades\Http;
$response = Http::baseUrl(env('FLUXR_API_BASE_URL', 'https://redemption.fluxr.co.za'))
->withToken(env('FLUXR_API_TOKEN'))
->acceptJson()
->get('/api/v1/wallet/transactions', [
'from' => '2026-08-01',
'to' => '2026-08-31',
'type' => 'credit',
'per_page' => 15,
]);
$body = $response->json();Success response: 200
json
{
"success": true,
"message": "OK",
"data": {
"items": [
{
"uuid": "da6c3d8e-3e15-4f30-bf5a-5ca40f0e7e31",
"type": "deposit",
"amount": 98.0,
"received": 98.0,
"commission": 0.0,
"currency": "ZAR",
"status": "paid",
"meta": {
"name": "Voucher redemption credit",
"provider": "ott",
"redemption_id": 123
},
"created_at": "2026-08-19T10:00:02.000000Z"
}
],
"meta": {
"current_page": 1,
"last_page": 1,
"per_page": 15,
"total": 1
}
}
}Forbidden: 403
Both wallet endpoints return this response when the account is not a vendor or admin:
json
{
"success": false,
"message": "Forbidden.",
"errors": {
"user": ["FORBIDDEN"]
}
}
