/

to search

Introducing Setu Changelog Check it out ↗

#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 the status together form the eventType
  • eventId is unique for every event notification sent to the merchant
  • eventTs 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.

Register a callback ↗

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