Skip to main content
POST
/
webhooks
/
vult
/
cashin
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
}
Receive cash-in notifications from VULT processor. This webhook is called when a user deposits funds via VULT.

Request

X-Webhook-Signature
string
required
HMAC-SHA256 signature of the request body

Body Parameters

card_serial
string
required
Card serial linked to the subscriber receiving funds
phone_number
string
Optional phone number used to cross-check the linked subscriber
amount
integer
required
Amount in minor units (e.g., cents)

Response

success
boolean
Whether the cash-in was processed successfully
transaction_id
string
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)
  );
}

Errors

StatusCodeDescription
400Invalid requestMissing card_serial, invalid amount, inactive card, or subscriber mismatch
401Invalid signatureWebhook signature invalid
500Internal errorWebhook not configured or processing failed

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

X-Webhook-Signature
string
required

HMAC-SHA256 signature of request body

Body

application/json

Cash-in details

amount
integer
required
card_serial
string
required
phone_number
string

Response

Cash-in successful

message
string
new_balance
integer
success
boolean
transaction_id
string