---
title: "Razorpay Webhook"
method: POST
path: "/api/razorpay/webhook"
tags: ["razorpay"]
---

# Razorpay Webhook

`POST /api/razorpay/webhook`

## Request

- Base URL: `https://app.dataassist.io` (the document declares no server; this is the origin it was published from)
- URL: `https://app.dataassist.io/api/razorpay/webhook`
- Auth: none declared

Razorpay sends POST events here.

Configure in Razorpay Dashboard → Settings → Webhooks:
  - URL:    https://<host>/api/razorpay/webhook
  - Secret: must match RAZORPAY_WEBHOOK_SECRET
  - Active events:
      - payment.captured  (required — money received, credit the balance)
      - payment.failed    (optional — flip pending row to failed for clean UX)
All other events are acknowledged with 200 so Razorpay stops retrying.

## Response `200`

Successful Response

- unknown

---

[API](https://skmtc.dev/dataassist/apis/dataassist-io-server.md) · [All operations](https://skmtc.dev/dataassist/apis/dataassist-io-server/llms.txt) · [OpenAPI document](https://skmtc.dev/dataassist/apis/dataassist-io-server/revisions/43b22ccf75fe?raw)
