Wallet
Manage wallet balances and initiate top-ups/deposits.
/v3/wallet/
Wallet Types
service
Service wallet used for fees and subscriptions
payments
Payments wallet used for B2C disbursements
GET
/v3/wallet/
Auth Required
Get Wallet Balance
Get current wallet balances (no transaction list).
Headers
| Header | Value |
|---|---|
Authorization |
Bearer YOUR_API_KEY |
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
balance |
string | No | service, payments, payment, service_wallet_balance, or payments_wallet_balance |
Example Response
JSON
{
"success": true,
"data": {
"user_id": 123,
"balances": {
"service_wallet_balance": 850,
"payments_wallet_balance": 5000
}
},
"timestamp": "2024-12-31T12:00:00+03:00"
}
cURL Example
bash
curl -X GET 'https://swiftwallet.co.ke/v3/wallet/' \
-H 'Authorization: Bearer YOUR_API_KEY'
POST
/v3/wallet/
Auth Required
Wallet Operations
Initiate a payments wallet deposit or service wallet top-up.
Headers
| Header | Value |
|---|---|
Authorization |
Bearer YOUR_API_KEY |
Content-Type |
application/json |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
action |
string | Yes | deposit or topup |
wallet_type |
string | No | Optional override: service or payments |
amount |
number | Yes | Amount to top up/deposit |
phone_number |
string | Yes | Phone for STK Push |
user_callback_url |
string | No | Optional callback for wallet deposit updates |
Example Response
JSON
{
"success": true,
"data": {
"message": "Payment request sent to your phone. Please enter your M-PESA PIN to complete.",
"reference_number": "TOPUP-123-1704020000",
"amount": 500,
"phone_number": "254712345678",
"wallet_type": "service"
},
"timestamp": "2024-12-31T12:00:00+03:00"
}
cURL Example
bash
curl -X POST 'https://swiftwallet.co.ke/v3/wallet/' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"action": "deposit",
"wallet_type": "service",
"amount": 500,
"phone_number": "254712345678"
}'
GET
/v3/wallet/status
Auth Required
Wallet Deposit Status
Check the status of a wallet deposit/top-up by reference number.
Headers
| Header | Value |
|---|---|
Authorization |
Bearer YOUR_API_KEY |
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
reference |
string | Yes | Reference number from wallet deposit response |
Example Response
JSON
{
"success": true,
"data": {
"reference_number": "TOPUP-123-1704020000",
"status": "pending",
"amount": 500,
"phone_number": "254712345678",
"created_at": "2024-12-31 12:00:00",
"updated_at": "2024-12-31 12:00:00",
"message": "Your deposit is being processed. Please wait a moment."
},
"timestamp": "2024-12-31T12:00:00+03:00"
}
cURL Example
bash
curl -X GET 'https://swiftwallet.co.ke/v3/wallet/status?reference=TOPUP-123-1704020000' \
-H 'Authorization: Bearer YOUR_API_KEY'