Get Virtual Account
Retrieve the details and current balance of a virtual account.
The Get Virtual Account endpoint allows you to retrieve the details of a previously created virtual account.
Use this endpoint to:
- Check the current balance
- Fetch account metadata
- Validate account existence and currency
- Display wallet information in your application
GET /v2/virtual-accounts/{virtual_account_id}
Host: api.chapa.co
| Name | Required | Description |
|---|
Authorization | Yes | Bearer <PRIVATE_API_KEY> |
Content-Type | No | application/json |
| Parameter | Required | Description |
|---|
virtual_account_id | Yes | Unique virtual account identifier |
GET https://api.chapa.co/v2/virtual-accounts/VA_ABC123456
Authorization: Bearer CHAPA_TEST_xxxxxxxxxxxxx
{
"status": "success",
"message": "Virtual account retrieved successfully",
"data": {
"virtual_account_id": "VA_ABC123456",
"account_name": "John Doe Wallet",
"currency": "ETB",
"balance": 12500,
"meta": {
"customer_id": "CUST_12345"
},
"created_at": "2025-11-07T10:00:00Z",
"updated_at": "2025-11-07T12:30:00Z"
}
}
| Field | Type | Description |
|---|
virtual_account_id | string | Unique account ID |
account_name | string | Account label |
currency | string | Account currency |
balance | number | Current available balance |
meta | object | Custom metadata |
created_at | string | Creation timestamp |
updated_at | string | Last update timestamp |
- Show real-time balance to users
- Update after deposits or deductions
- Ensure the account exists before debiting
- Confirm currency compatibility
- Compare your internal ledger with Chapa balance
- Cache account details if accessed frequently
- Always re-fetch balance before deductions
- Handle zero-balance scenarios gracefully
- Secure virtual account identifiers
| HTTP | Error Code | Description |
|---|
| 404 | NOT_FOUND | Virtual account not found |
| 400 | INVALID_FORMAT | Invalid account ID |
| 500 | PROCESSING_FAILED | Failed to fetch account |