Razorpay records the payment as paid, signature-verified.
Chronological facts from Razorpay and merchant sources.
Merchant order state observed as pending.
merchant-order:order_TXETwFhIuB0KOq
{
"payment_id": "pay_TXEUBoDXbpJwA1",
"order_id": "order_TXETwFhIuB0KOq",
"order_state": "pending",
"amount_minor": 29900,
"currency": "INR",
"operation": "capture",
"idempotency_key": "webhook:pay_TXEUBoDXbpJwA1"
}Razorpay webhook received with payment state captured.
webhook:evt_demo_pay_TXEUBoDXbpJwA1_1788366174009
{
"event_id": "evt_demo_pay_TXEUBoDXbpJwA1_1788366174009",
"event_type": "payment.captured",
"payment_id": "pay_TXEUBoDXbpJwA1",
"payment_state": "captured",
"amount_minor": 29900,
"currency": "INR",
"idempotency_key": "webhook:pay_TXEUBoDXbpJwA1",
"signature_verified": true,
"operation": "capture"
}Razorpay payment details fetched: captured.
provider-payment-fetch:pay_TXEUBoDXbpJwA1
{
"result": "success",
"payment_id": "pay_TXEUBoDXbpJwA1",
"status": "captured",
"captured": true,
"amount_minor": 29900,
"currency": "INR",
"order_id": "order_TXETwFhIuB0KOq",
"amount_refunded": 0,
"refund_status": null,
"error_code": null,
"error_description": null,
"fetched_at": "2026-09-02T16:23:03.430Z",
"freshness_ms": 1782,
"operation": "read",
"idempotency_key": "webhook:pay_TXEUBoDXbpJwA1"
}Razorpay order details fetched: paid.
provider-order-fetch:order_TXETwFhIuB0KOq
{
"result": "success",
"order_id": "order_TXETwFhIuB0KOq",
"status": "paid",
"amount_minor": 29900,
"amount_paid": 29900,
"amount_due": 0,
"currency": "INR",
"attempts": 1,
"fetched_at": "2026-09-02T16:23:04.074Z",
"freshness_ms": 642,
"operation": "read",
"idempotency_key": "webhook:pay_TXEUBoDXbpJwA1"
}What the evidence shows happened, and the mismatch diagnosed from it.
Razorpay records the payment as paid, signature-verified.
Razorpay shows the payment paid, but the merchant order is still pending.
Diagnosed before the repair; the verification card carries the recorded outcome.
Whether policy authorizes a merchant-side repair.
Reconcile merchant order order_TXETwFhIuB0KOq to paid.
Razorpay and merchant observations agreed before this exception closed.
| Check | Razorpay observation | Merchant observation | Result |
|---|---|---|---|
| State | Paid (verified) | Paid | Holds |
| Amount | ₹299.00 | ₹299.00 | Holds |
| Identity | Razorpay payment linked | order_TXETwFhIuB0KOq | Holds |
Razorpay: Paid (verified)
Merchant: Paid
Razorpay: ₹299.00
Merchant: ₹299.00
Razorpay: Razorpay payment linked
Merchant: order_TXETwFhIuB0KOq