Skip to main content

Endpoint

POST /clients/business/virtual-accounts/transfer

Headers

Authorization
string
required
Bearer YOUR_ACCESS_TOKEN
SECRET_KEY
string
required
Your API secret key.
businessId
string
required
Your business ID.

Request body

amount
integer
required
Amount to transfer, in kobo. For example, 110000 equals ₦1,100.
payerAccountNumber
string
required
The virtual account number to debit (the source of funds).
receiverAccountNumber
string
required
The destination bank account number to credit.
receiverBankCode
string
required
The bank code of the receiving bank. Use the billers list from Get billers to look up codes.
retrievalReference
string
required
A unique reference you generate for this transaction. Used for idempotency and reconciliation.
narration
string
required
A description of the transfer, visible to both parties.

Response

status
boolean
true on success.
message
string
Confirmation message, e.g. "Transfer successful".
data.amount
string
Amount transferred, in kobo.
data.transactionCharge
string
Fee charged for the transfer, in kobo.
data.totalAmount
string
Total amount debited from the payer account (amount + charge), in kobo.

Code examples

curl -X POST https://sandbox.stellasbank.com/api/v1/clients/business/virtual-accounts/transfer \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "SECRET_KEY: YOUR_SECRET_KEY" \
  -H "businessId: YOUR_BUSINESS_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 110000,
    "payerAccountNumber": "9012345678",
    "receiverAccountNumber": "0123456789",
    "receiverBankCode": "044",
    "retrievalReference": "txn_ref_001",
    "narration": "Payment for services"
  }'

Example response

{
  "status": true,
  "message": "Transfer successful",
  "data": {
    "amount": "110000",
    "transactionCharge": "10000",
    "totalAmount": "120000"
  }
}
All amounts are in kobo. Divide by 100 to convert to naira.