Skip to main content
The user said no, a pre-replay check refused it, the processor rejected the request, or your runtime cancelled it. reason is user_declined, amount_mismatch (with expected_cents, actual_cents), intent_not_confirmable (with intent_status), processor_refused (with psp_error_code), or merchant_request_aborted. replay_attempted says whether a device may already have sent the card. Razorpay processor refusals can include processor_error with bounded reason, source, step, payment_id, and order_id identifiers. Generic codes such as BAD_REQUEST_ERROR do not establish issuer decline or prove that nothing was charged. Reconcile the merchant payment before another attempt. The event never includes the raw processor response or free-form description; older records may lack structured details.