Best Practices
Follow these best practices, so that webhooks can work smoothly:
We expect quick response for webhook requests. When hook request is received, do not execute extensive processing in your systems. Validate and store the event and process it asynchronously.
Respond with correct HTTP statuses.
In some cases, it is possible that you receive duplicated webhook requests. You can use eventId to detect duplicates and ignore duplicated messages.
In case that hook fails and is retried, events for a single entity (e.g. payment) can be received out of order. Use eventTimestamp to detect out of order events and possibly ignore them.
Beware of concurrency issues when processing entity updates - use select for update, when needed.