Fee Settings
Info
Fee settings control how transaction fees are calculated and charged. Custom settings override built-in defaults.
Overview
Fee Types
- Percentage: Charge % of transaction amount
- Flat: Fixed fee per transaction
Party Types
- Sender: Person initiating transfer
- Recipient: Person receiving funds
- Agent: Cash-in/cash-out agent
- Processor: POS merchant
Endpoints
List Fees
GET /api/v1/fee-settings
Retrieve all configured fee settings with optional filtering
Get Fee
GET /api/v1/fee-settings/:type/:party
Get specific fee setting by transaction and party type
Update Fee
PUT /api/v1/fee-settings
Create or update fee setting (upsert operation)
Delete Fee
DELETE /api/v1/fee-settings/:type/:party
Remove custom fee and revert to defaults
Transaction Types
| Type | Description | Default Fee |
|---|---|---|
transfer_p2p | Person to person transfer | 1.5% sender |
agent_cashin | Agent deposits to wallet | 0.5% agent |
pos_payment | POS terminal purchase | 1.0% processor |
vult_fund | VULT partner funding | 0% |
wallet_withdraw | Wallet withdrawal | 1.0% sender |
Fee Calculation Example
Transaction Initiated
User transfers 50,000 SLE to another user
Fee Lookup
System checks fee settings for transfer_p2p + sender
Fee Applied
Fee: 1.5% of 50,000 = 750 SLE
Total debited: 50,750 SLE
Recipient Credited
Recipient receives full 50,000 SLE
Configuration Examples
{
"transaction_type": "transfer_p2p",
"party_type": "sender",
"fee_type": "percentage",
"fee_value": 1.5,
"debit_enabled": true,
"credit_enabled": false
}
Warning
Percentage fees cannot exceed 100%. Changes take effect immediately.
Response Structure
{
"settings": [
{
"id": 1,
"transaction_type": "transfer_p2p",
"party_type": "sender",
"fee_type": "percentage",
"fee_value": 1.5,
"debit_enabled": true,
"credit_enabled": false,
"updated_at": "2025-01-15T10:30:00Z",
"updated_by": "admin"
}
],
"count": 12
}