Channels API
Programmatically manage your payment channels: Paybill, Till Number, Bank Settlement, and Wallet channel.
Paybill
Business paybill numbers
- Paybill number
- Account number
- Account name
Till Number
Business till numbers
- Till number
- Account name
- Business name
Bank Settlement
Bank account details
- Bank selection
- Account number
- Account name
Wallet Channel
Auto-configured wallet
- Auto-generated
- No setup required
- Instant activation
Base Endpoint
GET
/v3/channels/
All endpoints require an API key. Manage keys at
/api_keys.php.List Channels
GET
/v3/channels/
Authorization: Bearer YOUR_API_KEY
Optional Filters
id: specific channel idchannel_type:paybill|till_number|bank_settlement|wallet
{
"success": true,
"data": {
"count": 2,
"channels": [
{
"id": 101,
"channel_name": "Main Till",
"channel_type": "till_number",
"account_number": "123456",
"account_name": "Shop Name",
"is_default": 1,
"is_active": 1,
"created_at": "2025-08-01 10:00:00"
}
]
},
"timestamp": "2025-08-12T12:00:00+03:00"
}
Create Channel
POST with action = add. Supply fields by channel type.
Paybill
{
"action": "add",
"channel_name": "Acme Paybill",
"channel_type": "paybill",
"paybill_number": "400200",
"account_number": "ACC123",
"account_name": "Acme Ltd",
"is_default": true
}
Till Number
{
"action": "add",
"channel_name": "Shop Till",
"channel_type": "till_number",
"account_number": "123456",
"account_name": "Shop Name"
}
Bank Settlement
{
"action": "add",
"channel_name": "Bank Settlement",
"channel_type": "bank_settlement",
"bank_id": 1,
"account_number": "0112345678900",
"account_name": "Acme Ltd"
}
Wallet Channel
Wallet channels are auto-configured to your payment wallet. Account details are auto-generated.
{
"action": "add",
"channel_name": "Wallet Channel",
"channel_type": "wallet",
"is_default": true
}
Success Response
{
"success": true,
"data": {
"message": "Payment channel added successfully",
"channel_id": 205,
"channel": {
"id": 205,
"channel_name": "Acme Paybill",
"channel_type": "paybill",
"account_number": "ACC123",
"account_name": "Acme Ltd",
"paybill_number": "400200",
"is_default": true
}
},
"timestamp": "2025-08-12T12:05:00+03:00"
}
Update Channel
POST /v3/channels/
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"action": "update",
"channel_id": 205,
"channel_name": "Acme Paybill (Main)",
"channel_type": "paybill",
"paybill_number": "400200",
"account_number": "ACC123",
"account_name": "Acme Ltd",
"is_default": true
}
Activate/Deactivate Channel
POST /v3/channels/
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"action": "toggle",
"channel_id": 205,
"is_active": false
}
Delete Channel
You cannot delete channels with existing transactions; deactivate instead.
POST /v3/channels/
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"action": "delete",
"channel_id": 205
}
Error Model
{
"success": false,
"error": "Error message description",
"code": 400,
"timestamp": "2025-08-12T12:00:00+03:00"
}
Common Codes
- 400 - Bad Request
- 401 - Unauthorized
- 404 - Not Found
- 405 - Method Not Allowed
- 500 - Internal Server Error
Validation Messages
- Channel name and type are required
- Invalid channel_type
- Bank selection, account number, and account name are required
- Cannot delete channel with existing transactions