Receive cash-in notifications from VULT processor. This webhook is called when a user deposits funds via VULT.
Request
HMAC-SHA256 signature of the request body
Body Parameters
Card serial linked to the subscriber receiving funds
Optional phone number used to cross-check the linked subscriber
Amount in minor units (e.g., cents)
Response
Whether the cash-in was processed successfully
OLIVE transaction ID for the deposit
Examples
curl -X POST "https://demo.api.vultlocal.com/webhooks/vult/cashin" \
-H "Content-Type: application/json" \
-H "X-Webhook-Signature: abc123..." \
-d '{
"card_serial": "CARD0001",
"phone_number": "+23279123456",
"amount": 50000
}'
{
"success": true,
"transaction_id": "txn_vult_123",
"message": "Cash-in processed successfully",
"new_balance": 75000
}
Signature Verification
Always verify the X-Webhook-Signature header before processing:const crypto = require('crypto');
function verifySignature(payload, signature, secret) {
const expected = crypto
.createHmac('sha256', secret)
.update(payload)
.digest('hex');
return crypto.timingSafeEqual(
Buffer.from(signature),
Buffer.from(expected)
);
}
| Status | Code | Description |
|---|
| 400 | Invalid request | Missing card_serial, invalid amount, inactive card, or subscriber mismatch |
| 401 | Invalid signature | Webhook signature invalid |
| 500 | Internal error | Webhook not configured or processing failed |
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
HMAC-SHA256 signature of request body