How to Handle Disputes in Payment Integration with Razor pay
Disputes Overview Disputes arise when a customer or their bank questions a payment's legitimacy. Common reasons include: Unauthorized transactions (customer claims they didn’t authorize the payment). Non-receipt of goods or services. Billing errors or overcharging. When a dispute is initiated, the payment is put under review, and the customer’s bank may reach out to the merchant for resolution. Dispute Phases Fraud: The bank suspects fraud and raises a dispute. Retrieval: The customer requests more details about the transaction (a "soft" chargeback). Chargeback: The customer’s bank starts an official inquiry for a refund. Pre-Arbitration: A chargeback that you won is challenged again by the customer. Arbitration: The chargeback is challenged for the third time, involving card networks, leading to potential high costs. Dispute Statuses Open: The dispute has been created and is under review. Under Review: The bank is assessing the dispute details. Won: Your evidence was accepted, and the money stays with you. Lost: Your evidence was rejected, and the money is refunded to the customer. Closed: The dispute is resolved, either by refunding the customer or providing sufficient information. Dispute Process Flow Dispute Initiation: By Issuing Bank: The bank detects fraud and requests an explanation. By Customer: The customer reports unauthorized charges to their bank. Notification: You receive a dispute notification. Accept the Dispute: Fraud Cases: Refund the customer manually. Other Cases: Razorpay handles the refund automatically. Contest the Dispute: Provide evidence that the transaction was legitimate. Bank Review: The bank reviews your evidence and makes a decision. Outcome: Lost: The disputed amount is deducted and refunded to the customer. Won: You retain the amount if your evidence is accepted. Managing Disputes on Razorpay Using Razorpay Dashboard 1. View Disputes Log in to the Razorpay Dashboard. Navigate to Transactions > Disputes. Click on a Dispute ID to see details. 2. Accept Disputes If the dispute is valid, accept it. Steps: Log in to the Dashboard. Go to Transactions > Disputes. Click on a Dispute ID, then Accept Dispute. Confirm by clicking Yes, Accept. 3. Contest Disputes If you believe the dispute is invalid, contest it with evidence. Steps: Log in to the Dashboard. Go to Transactions > Disputes. Click on a Dispute ID, then Contest & Upload Evidence. Choose full/partial contest, provide an explanation, and upload supporting documents. Click Submit Evidence and confirm. Using Razorpay APIs 1. View Disputes {% raw %} GET /v1/disputes GET /v1/disputes/{dispute_id} {% endraw %} 2. Accept Disputes {% raw %} POST /v1/disputes/{dispute_id}/accept {% endraw %} 3. Contest Disputes {% raw %} POST /v1/disputes/{dispute_id}/contest POST /v1/documents {% endraw %} Subscribe to Webhooks Get real-time dispute notifications by subscribing to webhook events. How to Subscribe: Log in to the Razorpay Dashboard. Navigate to Account & Settings > Webhooks to subscribe. Webhook Events: {% raw %} payment.dispute.created payment.dispute.won payment.dispute.lost payment.dispute.closed payment.dispute.under_review payment.dispute.action_required {% endraw %} For more details, refer to Razorpay’s Webhooks Documentation. Accepting the Dispute Fraud Cases: If the dispute is fraud-related (e.g., unauthorized transactions), refund the customer manually. Use the Refund API or Razorpay’s Dashboard to process the refund. Other Cases: Auto-Refund: If the dispute is not fraud-related (e.g., delivery issues), Razorpay automatically handles the refund. Handling disputes effectively ensures smooth payment processing and better customer relationships.

Disputes Overview
Disputes arise when a customer or their bank questions a payment's legitimacy. Common reasons include:
- Unauthorized transactions (customer claims they didn’t authorize the payment).
- Non-receipt of goods or services.
- Billing errors or overcharging.
When a dispute is initiated, the payment is put under review, and the customer’s bank may reach out to the merchant for resolution.
Dispute Phases
- Fraud: The bank suspects fraud and raises a dispute.
- Retrieval: The customer requests more details about the transaction (a "soft" chargeback).
- Chargeback: The customer’s bank starts an official inquiry for a refund.
- Pre-Arbitration: A chargeback that you won is challenged again by the customer.
- Arbitration: The chargeback is challenged for the third time, involving card networks, leading to potential high costs.
Dispute Statuses
- Open: The dispute has been created and is under review.
- Under Review: The bank is assessing the dispute details.
- Won: Your evidence was accepted, and the money stays with you.
- Lost: Your evidence was rejected, and the money is refunded to the customer.
- Closed: The dispute is resolved, either by refunding the customer or providing sufficient information.
Dispute Process Flow
-
Dispute Initiation:
- By Issuing Bank: The bank detects fraud and requests an explanation.
- By Customer: The customer reports unauthorized charges to their bank.
-
Notification:
- You receive a dispute notification.
-
Accept the Dispute:
- Fraud Cases: Refund the customer manually.
- Other Cases: Razorpay handles the refund automatically.
-
Contest the Dispute:
- Provide evidence that the transaction was legitimate.
-
Bank Review:
- The bank reviews your evidence and makes a decision.
-
Outcome:
- Lost: The disputed amount is deducted and refunded to the customer.
- Won: You retain the amount if your evidence is accepted.
Managing Disputes on Razorpay
Using Razorpay Dashboard
1. View Disputes
- Log in to the Razorpay Dashboard.
- Navigate to Transactions > Disputes.
- Click on a Dispute ID to see details.
2. Accept Disputes
- If the dispute is valid, accept it.
- Steps:
- Log in to the Dashboard.
- Go to Transactions > Disputes.
- Click on a Dispute ID, then Accept Dispute.
- Confirm by clicking Yes, Accept.
3. Contest Disputes
- If you believe the dispute is invalid, contest it with evidence.
- Steps:
- Log in to the Dashboard.
- Go to Transactions > Disputes.
- Click on a Dispute ID, then Contest & Upload Evidence.
- Choose full/partial contest, provide an explanation, and upload supporting documents.
- Click Submit Evidence and confirm.
Using Razorpay APIs
1. View Disputes
{% raw %}
GET /v1/disputes
GET /v1/disputes/{dispute_id}
{% endraw %}
2. Accept Disputes
{% raw %}
POST /v1/disputes/{dispute_id}/accept
{% endraw %}
3. Contest Disputes
{% raw %}
POST /v1/disputes/{dispute_id}/contest
POST /v1/documents
{% endraw %}
Subscribe to Webhooks
Get real-time dispute notifications by subscribing to webhook events.
How to Subscribe:
- Log in to the Razorpay Dashboard.
- Navigate to Account & Settings > Webhooks to subscribe.
Webhook Events:
{% raw %}
payment.dispute.created
payment.dispute.won
payment.dispute.lost
payment.dispute.closed
payment.dispute.under_review
payment.dispute.action_required
{% endraw %}
For more details, refer to Razorpay’s Webhooks Documentation.
Accepting the Dispute
Fraud Cases:
- If the dispute is fraud-related (e.g., unauthorized transactions), refund the customer manually.
- Use the Refund API or Razorpay’s Dashboard to process the refund.
Other Cases:
- Auto-Refund: If the dispute is not fraud-related (e.g., delivery issues), Razorpay automatically handles the refund.
Handling disputes effectively ensures smooth payment processing and better customer relationships.