razorpay / razorpay/razorpay-node
Razorpay Webhook Failing Due to Missing X-Razorpay-Signature Header(Test Mode)
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 243
- Forks
- 128
- PR merge metrics
- No merged PRs in 30d
Description
Summary
We're experiencing an issue where incoming webhook requests from Razorpay are failing due to the absence of the X-Razorpay-Signature header. This header is required to verify the authenticity of webhook events.
Expected Behavior
Webhook requests from Razorpay should include the X-Razorpay-Signature header to allow our server to verify the request using the webhook secret.
Actual Behavior
Webhook requests are reaching our server, but the X-Razorpay-Signature header is missing.
As a result, our verification logic rejects the webhook due to signature mismatch or absence.
This is causing critical events like payment.authorized to go unprocessed.
raw_req:
{
"REQUEST": {
"body": {
"entity": "event",
"account_id": "acc_QHMJOxK7sIesA6",
"event": "payment.authorized",
"contains": [
"payment"
],
"payload": {
"payment": {
"entity": {
"id": "pay_Qq7fR54m5Qt1bl",
"entity": "payment",
"amount": 580000,
"currency": "INR",
"status": "authorized",
"order_id": "order_Qq7esG4hZ5OZlM",
"invoice_id": "inv_Qq7erL95r9fLEs",
"international": false,
"method": "upi",
"amount_refunded": 0,
"refund_status": null,
"captured": false,
"description": "Monthly Subscription",
"card_id": null,
"bank": null,
"wallet": null,
"vpa": "fhcytf@okhdfcbank",
"email": "singh1@gmail.com",
"contact": "+9199",
"customer_id": "cust_QiAwzxjzrOzlif",
"token_id": "token_Qq7fRdMbCPCoEM",
"notes": [],
"fee": null,
"tax": null,
"error_code": null,
"error_description": null,
"error_source": null,
"error_step": null,
"error_reason": null,
"acquirer_data": {
"rrn": "001000100002",
"upi_transaction_id": "npci_txn_id_for_Qq7fR54m5Qt1bl"
},
"created_at": 1751879341,
"upi": {
"vpa": "fhcytf@okhdfcbank"
}
}
}
},
"created_at": 1751879342
},
"headers": {}
}
}
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No source file, test, or entry point is identified in the report. Start by locating the webhook and request-header handling in the Node.js SDK, compare it with the supplied test-mode request, and add a focused regression test; done means the Razorpay signature header is available for verification.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, nodejs
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100