Skip to content

Razorpay Webhooks: Build a Replayable Support Record

Plan Razorpay webhook evidence for duplicate delivery, delayed events and safe support replay while preserving historical purchase facts.

GuideFinance

By

Updated 2 min read
Resolve payment events without guessing: payment illustration with IndieTools branding

A useful webhook support record connects a verified provider event to one intended purchase and one application decision. It lets an operator retry incomplete work without granting duplicate access or rewriting the history of a completed order.

TradeAnalysis appears in the Razorpay technology catalogue, as observed on October 3, 2026. Its listing supplies a paid-software example but reveals no webhook implementation. The discussion below concerns billing operations only, with no assessment of its trading or investment claims.

Record receipt separately from completion

An endpoint can receive an event before the application finishes updating access. Keep those stages distinguishable in the support view: received, verified, matched to a purchase, processed and, where necessary, awaiting repair.

Choose safe identifiers for the provider event, purchase and affected account. Do not copy secrets, payment credentials or unnecessary personal information into logs. The operator should be able to follow the relationship without viewing data unrelated to the incident.

If the handler acknowledges delivery before completing background work, the unfinished work needs its own durable status. An HTTP success response does not mean every downstream business action has finished.

Expect repeats and delayed ordering

Razorpay's webhook guidance explains that duplicate delivery is expected and that events may not arrive in occurrence order. A handler should therefore evaluate the current business state rather than blindly repeat an action every time a request arrives.

Use a provider-supported test event to demonstrate the same notification twice. Confirm that the purchase remains the same record, the resulting entitlement is not duplicated and any notification policy behaves as documented.

Then demonstrate an older event arriving after a later state. The application needs a reasoned rule for accepting, ignoring or investigating it. Sorting by arrival time alone can tell the wrong business story.

Rehearse a partial failure

In an isolated environment, interrupt processing after the event has been recorded but before its final application action. Ask the operator to locate the unfinished item and use the documented retry mechanism.

The retry should reuse the established event and purchase relationship. Creating a new order to make an error disappear can obscure the original payment and complicate future support. Preserve the initial error and the corrective action as separate evidence.

If the provider and application disagree, mark the case for reconciliation. Do not turn an unknown status into paid access merely to clear a queue, and do not automatically ask a customer for another payment while the first remains unresolved.

Give support a narrow repair tool

An operator should see the relevant verified facts, the proposed correction and a reason field. Permissions should limit who can replay work or change access. The tool should make the affected record explicit instead of relying on a name search that could select the wrong account.

Preserve historical amounts and currencies as purchase facts. A later price change is not a reason to synchronize earlier orders to the current catalogue.

Pair this exercise with the pending checkout review. The customer-facing pending state and the operator's event record should describe the same unresolved purchase, even when the browser has long since closed.

More from the blog