ChapaChapa Docs

Create Virtual Account

Create a new virtual account with optional initial deposit

Create a new virtual account with optional initial deposit. This API is restricted to pre-approved businesses.

Endpoint: https://api.chapa.co/v1/virtual-account
Method: POST
Authorization: Pass your secret key as a bearer token in the request header to authorize this call.

Request Parameters

ParameterRequiredTypeDescription
account_nameYesstringThe name associated with the virtual account
initial_depositNonumberInitial amount to deposit. Account created with zero balance if not provided
account_aliasNostringCustom alias for easy reference

Example Request Body

{
  "account_name": "Abebe Bikila",
  "initial_deposit": 1000,
  "account_alias": "JD_VA"
}
cURL
PHP
Python

Successful Response

{
  "status": "success",
  "message": "Virtual Account Created Successfully",
  "data": {
    "account_name": "SEMER NUR",
    "account_number": 100314252,
    "account_alias": "4242424",
    "balance": 20,
    "status": "active",
    "currency": "ETB",
    "created_at": "2025-02-21T08:06:54.000000Z",
    "updated_at": "2025-02-21T08:06:54.000000Z"
  }
}

Response Parameters

ParameterTypeDescription
statusstringStatus of the request (success/error)
messagestringResponse message
data.account_namestringName associated with the virtual account
data.account_numbernumberUnique identifier of the virtual account
data.account_aliasstringCustom reference name for the account
data.balancenumberCurrent balance in the account
data.statusstringCurrent status of the account (active)
data.currencystringCurrency of the account (ETB)
data.created_atstringTimestamp of account creation
data.updated_atstringTimestamp of the most recent update

Failed Response

{
  "status": "error",
  "message": "Failed to create virtual account",
  "errors": null
}

If specifying an initial_deposit, your business balance must have sufficient funds to cover the amount.

Refer to our Error Codes page for all responses for this request.

Use Cases

  • Customer Accounts: Create individual virtual accounts for customers
  • Sub-accounts: Manage sub-accounts for different business units
  • Escrow Services: Hold funds in separate virtual accounts
  • Multi-party Payments: Facilitate payments between multiple parties

Next Steps

On this page