Skip to main content
Webhooks push real-time updates to your server when objects in DollarPe change state. Use them instead of polling. They are the recommended way to drive your integration logic.
To configure your webhook URL, see the Webhook Configuration API reference.

How it works

When an event fires, DollarPe sends an HTTP POST to your configured endpoint. Your server must respond with a 2xx status code to acknowledge receipt. Non-2xx responses are treated as delivery failures.

Webhook structure

All events share the same envelope:
Use id to deduplicate events. Webhooks may occasionally be delivered more than once, so your handler should be idempotent.

Signature validation

Every request includes two headers:
  • X-TIMESTAMP โ€” Unix timestamp when the webhook was generated
  • X-SIGNATURE โ€” HMAC-SHA256 of the request, Base64 encoded
Validate both on every incoming request. Reject anything with a stale timestamp or a signature mismatch.
Usage:
Always validate the signature before processing any webhook payload. Never trust the payload without verification.

Metadata fields

The metadata object carries event-specific context.

Payin events

  • failure_reason โ€” present on FAILED. Values: INCORRECT_UTR, PAYMENT_NOT_RECEIVED, and others. See Failure Reason Reference
  • refund_reason โ€” present on REFUND_INITIATED and REFUNDED. Values: INCORRECT_AMOUNT, PAYMENT_FROM_NON_WHITELISTED_ACCOUNT, THIRD_PARTY_PAYMENT

Payout events

  • utr โ€” present on SUCCESS. The UTR number for the bank transfer, usable as a reconciliation reference

Customer events

  • failure_reason โ€” present on FAILED. Values: DOCUMENT_VERIFICATION_FAILED, TAX_VERIFICATION_FAILED, KYC_FAILED

Bank events

  • failure_reason โ€” present on FAILED. Values: ACCOUNT_TYPE_NRE, PENNY_DROP_FAILED, NAME_MISMATCH, BANK_RISK_CHECK_FAILED
Metadata fields are only present when relevant. Successful events typically have an empty metadata object.

Event catalog

Customer events

Fired when a customerโ€™s KYC status changes.

Bank events

Fired when a bank account or UPI ID verification resolves.

Payin events

Fired when a payin order changes state.

Payout events

Fired when a payout order changes state.

EDD events

Fired when Enhanced Due Diligence verification resolves.