Skip to main content

Webhooks

IMBA POSTs terminal (and smoke-test) events to the HTTPS URL configured for your tenant.

Delivery semantics

  • At-least-once delivery
  • Idempotency key: event_id (UUID). Duplicate delivery → return 200 without applying twice
  • Signature header: X-IMBA-Signature
  • Content-Type: application/json
Allowlist IMBA egress IPs (list from onboarding / ops) on your firewall if required.

Signature

Verify against the raw request body bytes before JSON parsing. Use the HMAC secret you registered with IMBA. Constant-time compare recommended.

Envelope

Field name is event (not event_type).

Event types (v1)

Not in v1: chargebacks, separate reconciliation settled events, unfreeze events.

data fields

Minimum: ext_id, status, document_status. Often also ref_id / order_id, card_id, http_status, error / message, and when present amount / currency / network / to_address / offer_id.

Secrets — never trust webhooks for these

Webhook payloads must not be treated as a source of card numbers, CVV, JWE, epin, or LPA.

Smoke test

IMBA can send test.ping from the admin console. Expect HTTP 2xx. Respond 200 for duplicate event_id.