post
https://api.centiiv.com/api/v1/banking/deposit-account
Generate a virtual account for accepting deposits. Funds received in this account will be automatically paid out to the merchant's account.
Recent Requests
Log in to see full request history
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Loading…
callbackUrl
string | optional
The webhook URL where deposit notifications will be sent once a payment is received.
If provided, a POST request containing the deposit payload will be dispatched to this URL.
Webhook Payload Schema
When a deposit is received, Centiiv will send a POST request with the following JSON body:
{
"type": "fiat",
"amount": 50000, // in KOBO
"timestamp": "2026-07-09T16:30:00.000Z",
"requestId": "req_1234567890",
"businessId": "65b2f1a9c8d7e6f5a4b3c2d1",
"env": "live",
"narration": "FND/JOHN DOE/REF123",
"reference": "txn_9876543210",
"currency": "NGN",
"accountNumber": "9912345678",
"senderAccountNumber": "0123456789",
"senderAccountName": "JOHN DOE",
"senderBank": "Access Bank",
"sessionId": "12345678901234567890123456"
}Field Definitions
| Field | Type | Description |
|---|---|---|
| type | string | Always "fiat" for bank transfer deposits. |
| amount | number | The received amount in minor units (e.g., kobo for NGN). |
| timestamp | string | ISO 8601 string of when the deposit was processed. |
| requestId | string | Unique identifier for this webhook trigger attempt. |
| businessId | string | The ID of the merchant business. |
| env | string | Environment mode ("live" or "test"). |
| narration | string | The narration or payment reference attached to the bank transfer. |
| reference | string | Unique transaction reference. |
| currency | string | The currency of the transaction (e.g., "NGN"). |
| accountNumber | string optional | The virtual account number that received the deposit. |
| senderAccountNumber | string optional | The bank account number of the sender. |
| senderAccountName | string optional | The name on the sender's bank account. |
| senderBank | string optional | The bank name of the sender. |
| sessionId | string optional | The unique session ID for the transaction. |
Webhook Signature Verification
Every webhook request includes an X-Centiiv-Signature header. This is an HMAC-SHA256 hash of the raw incoming request payload, generated using your active API Key as the secret.
const crypto = require('crypto');
// Use raw body buffer/string to compute the signature
const signatureHeader = req.headers['x-centiiv-signature'];
const apiKey = CENTIIV_API_KEY
const expectedSignature = crypto
.createHmac('sha256', apiKey)
.update(rawBody)
.digest('hex');
const isValid = crypto.timingSafeEqual(
Buffer.from(signatureHeader, 'utf8'),
Buffer.from(expectedSignature, 'utf8')
);
if (isValid) {
// process webhook
}