RecoveryOS
DashboardReported issuesCheckout drop-offsRecovery workbenchTest paymentAbout
RecoveryOSAPI liveAPI readyWorker
Back to reported issues

Recovery case RC-TM-2yKr1BGzJQ

Explain the failure.
Show every decision.

Recovered

A normalized payment record, the proposed recovery path, and the complete audit trail behind it.

RAZORPAY TEST MODELast updated 31 Aug 2026, 9:15 am
Amount at risk₹1pay_TWK42yKr1BGzJQ
Recoverability78/100High confidence band
Proposed actionCreate Payment LinkPolicy-controlled proposal
Recovered value₹1Closed 31 Aug 2026, 9:15 am

Diagnosis and evidence

The normalized cause behind this failed payment.

Customer Auth

Customer authentication failed. A fresh, contextual payment attempt is more useful than repeated automatic retries.

Evidence used

Customer Contact Allowed
  • Error SourceCustomerRazorpay failure origin
  • Error StepPayment AuthenticationPayment-flow step
  • Error ReasonPayment CancelledNormalized failure reason
  • Error CodeBad Request ErrorProvider error code
  • Payment MethodCardNormalized payment method
  • Attempt Count1Failed attempts observed for this order
  • Classification RuleCustomer AuthDeterministic category selected from the observed signals
Payment ID
pay_TWK42yKr1BGzJQ
Order ID
order_TWK3vmXghnEkK1
Payment method
Card
Payment status
Failed
Failure source
Customer
Failure step
Payment Authentication
Failure reason
Payment Cancelled
Occurred
31 Aug 2026, 9:10 am

Recovery actions

Recommendations remain separate from policy approval and execution.

Attempt 1: Create Payment LinkSucceeded
AI proposal · gpt-5.6-terra

This is a contact-safe customer-side authentication cancellation with no prior recovery actions. A payment link gives the customer control to retry without initiating another automatic payment attempt.

  • ERROR_SOURCE: customer — Razorpay failure origin
  • ERROR_STEP: payment_authentication — Payment-flow step
  • ERROR_REASON: payment_cancelled — Normalized failure reason
  • PAYMENT_METHOD: CARD — Normalized payment method
  • ATTEMPT_COUNT: 1 — Failed attempts observed for this order
  • fallbackAction: CREATE_PAYMENT_LINK
Approved
The proposal passed payment-state, merchant, consent, limit, cooldown, recovery-window, and duplicate-action checks.
92% confidence31 Aug 2026, 9:11 amEligible 31 Aug 2026, 9:14 am
✓Test Mode payment recoveredThe ₹1 Payment Link has been paid and needs no retry.

Customer context

The minimum identity and consent context used by policy.

Customer
demo.customer
External reference
+919000000099
Contact preference
Contact allowed

Decision trail

A chronological, inspectable audit of this recovery case.

  1. 01
    Payment.failed.received31 Aug 2026, 9:11 am · Webhook

    A signed Razorpay Test Mode webhook created this recovery case.

  2. 02
    Diagnosis.completed31 Aug 2026, 9:11 am · Diagnosis Engine

    Customer authentication failed. A fresh, contextual payment attempt is more useful than repeated automatic retries.

    Decision: Customer Auth
  3. 03
    Agent.proposal.created31 Aug 2026, 9:11 am · Recovery Agent

    This is a contact-safe customer-side authentication cancellation with no prior recovery actions. A payment link gives the customer control to retry without initiating another automatic payment attempt.

Decision: Create Payment Link
  • 04
    Policy.approved31 Aug 2026, 9:11 am · Policy Engine

    The proposal passed payment-state, merchant, consent, limit, cooldown, recovery-window, and duplicate-action checks.

    Decision: Approved
  • 05
    Recovery.executed31 Aug 2026, 9:14 am · Execution Layer

    BullMQ executed CREATE_PAYMENT_LINK for attempt 1.

    Decision: Succeeded
  • 06
    Recovery.verified.api31 Aug 2026, 9:14 am · Execution Layer

    The Payment Link API state was checked and is not paid.

    Decision: Created
  • 07
    Payment Link.paid.received31 Aug 2026, 9:15 am · Webhook

    A paid Razorpay Payment Link verified recovered revenue.