customer.deposit.success

Sent to your webhook URL when a customer deposit is confirmed. The wallet has already been credited by the time this fires.

Always verify the X-Tulu-Switch-Signature header (HMAC-SHA256 of the raw body, keyed with your webhook secret) before processing. Respond 200 within 10 seconds. Failed deliveries retry up to 3 times (1 s → 5 s → 30 s).

Headers

X-Tulu-Switch-Signature

String

HMAC-SHA256 of the raw request body, signed with your webhook secret. Verify before processing.

X-Tulu-Switch-Event

String

customer.deposit.success

X-Tulu-Switch-Timestamp

String

ISO 8601 dispatch timestamp.

Payload

{
  "event": "customer.deposit.success",
  "data": {
    "customerId": "cus_ada",
    "reference": "cdep_1721375800000_abc123",
    "amount": 5000,
    "currency": "NGN",
    "channel": "WALLET",
    "provider": "Paystack",
    "providerRef": "pstk_txn_yyyyyyy"
  },
  "timestamp": "2026-08-25T09:01:00.000Z"
}