#Events and notifications
PREREQUISITES
🌟 Quickstart ↗UPI Setu has a robust notification system to provide a transparent experience for our merchants.
Retries to ensure notification delivery to customers
Coverage of statuses across all financial and non-financial flows
Configurable notification endpoints at merchant and aggregator levels
#What are events?
Whenever the state
of a resource(type of a transaction record) changes on our platform, an event gets raised. For example, when a customer tries to make a payment on dynamic QR, a payment.initiated
event is raised. Merchants can subscribe to these events to get timely updates on current state of a transaction.
Events are categorized based on the resources on top of which they are raised, they are
Every notification sent to the merchant follows the same base payload as seen below,
resource
and thestatus
together form theeventType
eventId
is unique for every event notification sent to the merchanteventTs
records the time at the event was triggered
{"eventType": "payment.initiated","eventId": "01ARZ3NDEKTSV4RRFFQ69G5FAV","eventTs": "2023-09-04T12:08:20+0530","resource": "payment","status": "initiated"}
In addition to these attributes, based on the eventType
more attributes get added.
#Notification signature
Every notification sent to the merchant will have a x-setu-signature
to authenticate the webhook and verify its payload. Read more here ↗
#Subscribing to events
A Merchant can recieve status updates by registering a callback URL and subscribing certain events under it. Though merchants can configure any number of callback URLs, an event can be subscribed to only once at a merchant level.
Did you miss a notification because of a downtime? You don't have to be worried.
If any of our notifications to the merchant fail, we retry the notification 3 times with an exponential backoff strategy, the backoff interval is 3 minutes