Razorpay · AsyncAPI Specification
Razorpay Webhooks
Version 1.0.0
AsyncAPI description of Razorpay's webhook surface. Razorpay POSTs JSON event payloads to a merchant-configured webhook URL whenever a subscribed event occurs (payments, orders, refunds, subscriptions, invoices, settlements, virtual accounts, payment links, Route transfers, disputes, and payment downtime notifications). Each delivery includes an `X-Razorpay-Signature` header containing an HMAC-SHA256 hex digest of the raw request body, computed with the merchant's webhook secret as the key. Receivers must validate this signature against the unparsed raw body before processing the event.
View Spec
View on GitHub
PaymentsPayment GatewayFintechIndiaUPISubscriptionsPayoutsCheckoutAsyncAPIWebhooksEvents
Channels
webhook
Receive Razorpay webhook events.
Single inbound channel that receives every subscribed Razorpay event. The specific event is identified by the `event` field of the payload and mirrored in the `X-Razorpay-Event-Id` delivery header.
Messages
PaymentAuthorized
Payment Authorized
A customer payment moved to the `authorized` state and is awaiting capture.
PaymentCaptured
Payment Captured
An authorized payment was captured (funds will move to settlement).
PaymentFailed
Payment Failed
A payment attempt failed.
PaymentDowntimeStarted
Payment Downtime Started
A payment method (UPI/cards/netbanking/etc.) is experiencing reduced success rates.
PaymentDowntimeUpdated
Payment Downtime Updated
An ongoing payment downtime advisory was updated.
PaymentDowntimeResolved
Payment Downtime Resolved
A previously reported payment downtime has been resolved.
PaymentDisputeCreated
Payment Dispute Created
A customer or issuing bank raised a dispute on a payment.
PaymentDisputeWon
Payment Dispute Won
Merchant evidence prevailed; the dispute was resolved in merchant's favor.
PaymentDisputeLost
Payment Dispute Lost
The dispute was resolved against the merchant.
PaymentDisputeClosed
Payment Dispute Closed
The dispute lifecycle has been closed.
PaymentDisputeUnderReview
Payment Dispute Under Review
Submitted dispute evidence is being evaluated.
PaymentDisputeActionRequired
Payment Dispute Action Required
Merchant action is needed to respond to the dispute.
OrderPaid
Order Paid
An order has been fully paid; fires alongside `payment.captured`.
RefundCreated
Refund Created
A refund has been initiated against a payment.
RefundProcessed
Refund Processed
A refund was successfully processed.
RefundFailed
Refund Failed
A refund attempt failed.
RefundSpeedChanged
Refund Speed Changed
The processing speed for a refund (normal vs optimum) changed.
SubscriptionAuthenticated
Subscription Authenticated
A subscription mandate was authenticated by the customer.
SubscriptionActivated
Subscription Activated
The first charge succeeded and the subscription is now active.
SubscriptionCharged
Subscription Charged
A scheduled subscription charge succeeded.
SubscriptionCompleted
Subscription Completed
All scheduled subscription cycles have completed.
SubscriptionUpdated
Subscription Updated
Subscription details (plan, quantity, addons) were modified.
SubscriptionPending
Subscription Pending
A charge attempt failed; subscription is in retry/pending state.
SubscriptionHalted
Subscription Halted
Retries are exhausted; subscription has been halted.
SubscriptionPaused
Subscription Paused
Subscription has been paused by the merchant or customer.
SubscriptionResumed
Subscription Resumed
A paused subscription has resumed.
SubscriptionCancelled
Subscription Cancelled
Subscription has been cancelled.
InvoicePaid
Invoice Paid
An invoice has been paid in full.
InvoicePartiallyPaid
Invoice Partially Paid
An invoice has received a partial payment.
InvoiceExpired
Invoice Expired
An invoice expired without being paid.
SettlementProcessed
Settlement Processed
A settlement payout was processed to the merchant's (or sub-merchant's) bank account.
VirtualAccountCreated
Virtual Account Created
A Smart Collect virtual account / UPI ID was created.
VirtualAccountCredited
Virtual Account Credited
Funds were received into a virtual account via bank transfer or UPI.
VirtualAccountClosed
Virtual Account Closed
A virtual account was closed.
PaymentLinkPaid
Payment Link Paid
A payment link received a full payment.
PaymentLinkPartiallyPaid
Payment Link Partially Paid
A payment link received a partial payment.
PaymentLinkCancelled
Payment Link Cancelled
A payment link was cancelled.
PaymentLinkExpired
Payment Link Expired
A payment link expired without being paid.
TransferProcessed
Transfer Processed
A Razorpay Route transfer to a linked account completed.
TransferFailed
Transfer Failed
A Razorpay Route transfer to a linked account failed.
ProductRouteActivated
Route Product Activated
Razorpay Route has been activated for the account.
ProductRouteUnderReview
Route Product Under Review
Razorpay Route activation is pending review.
ProductRouteNeedsClarification
Route Product Needs Clarification
Razorpay Route activation requires additional information.
Servers
https
merchant-endpoint
{merchantWebhookUrl}
Merchant-controlled HTTPS endpoint configured in the Razorpay Dashboard that receives webhook event deliveries from Razorpay.