Disputes

List of Dispute APIs available to perform various actions.


A dispute arises when your customer or the issuing bank questions the validity of a payment. It could be raised due to reasons such as unauthorised charges, failure to deliver promised merchandise or excessive charges levied by you. The chargeback raised by your customer can be filed as a dispute with Razorpay.

Using Razorpay APIs, you can manage disputes raised by your customers.

Dispute PresentmentπŸ”—

The process of submitting various evidence/documents to banks and gateways for contesting a dispute is called Dispute Presentment. Razorpay enables you to manage disputes on the Dashboard as well as through APIs, ensuring a seamless dispute management experience. In addition to the existing capabilities of fetching all disputes and fetching details of a specific dispute, now you can:

  • Accept a Dispute
    Allows you to accept the dispute against the payment.

  • Contest a Dispute
    Allows you to respond to the dispute with explanation and supporting evidence documents.

    • Contest Partial or Full Amount - You can specify whether you choose to contest the full amount or specify the partial amount that you want to contest. The default choice is contesting the full amount.

    • Provide Evidence (Text/ Documents) - You can submit evidence for contesting the dispute. In addition to evidence in the form of a written explanation, you can upload documents such as shipping proof, billing proof and so on.

Dispute EntityπŸ”—

id

string Unique identifier of the dispute generated by Razorpay.

entity

string Indicates the type of entity. In this case, it is dispute.

payment_id

string Unique identifier of the payment against which the dispute was created.

amount

integer Amount, in currency subunits, for which the dispute was created.

currency

string 3-letter ISO currency code associated with the amount. List of supported currencies.

amount_deducted

integer The amount, in currency subunits, deducted from your Razorpay current balance when the dispute is lost. This amount will be 0 unless the status of dispute is updated to lost. Learn about the different states of disputes.

reason_code

string Code associated with the reason for dispute.

reason_description

string Text associated with the reason.

respond_by

integer Timestamp (in Unix) by which a response should be sent to the customer.

status

string The status of the dispute. Possible statuses are:

  • open: Indicates that the dispute has been created.
  • under_review: Indicates that the dispute is being reviewed by the issuing bank.
  • won: Indicates that the bank has accepted the remedial documents and you have won the chargeback.
  • lost: Indicates that the bank did not accept the remedial documents and you have lost the chargeback.
  • closed: Indicates that the fraudulent transaction is closed after you provide either the details of the transaction or make a refund to the customer.
phase

string Phase that is associated with the dispute. Possible values are:

  • fraud: A dispute raised by the bank when it suspects a transaction to be fraudulent based on the risk analysis.
  • retrieval: A request initiated by the customer with their issuer bank for additional information about a transaction.
  • chargeback: A refund claim initiated by the customers with their issuer banks. In such cases, the bank starts an official inquiry.
  • pre_arbitration: A chargeback that you have won is challenged by the customer for the second time.
  • arbitration: A chargeback that you have won is challenged for a third time by the customer and the card networks directly get involved.
created_at

integer Timestamp (in Unix) when dispute was created.

evidence

object Provides details of the evidence submitted/saved for contesting a dispute. Use the Documents API to securely share documents with Razorpay.

amount

integer The contested amount in currency subunits, for which evidence is provided. The value can vary from 0 to the dispute amount. The default value is the dispute amount.

summary

string The explanation provided by you for contesting the dispute. Can have a maximum length of 1000 characters.

shipping_proof

list (List of document ids) Document(s) which serves as proof that the product was shipped to the customer at the customer provided address. It should show the customer’s full shipping address, if possible.

billing_proof

list (List of document ids) Document(s) which serves as proof of order confirmation such as receipt.

cancellation_proof

list (List of document ids) Document(s) that serves as a proof that this product/service was cancelled.

customer_communication

list (List of document ids) Document(s) listing any written/email communication from the customer confirming that the customer received the product/service or is satisfied with the product/service.

proof_of_service

list (List of document ids) Document(s) showing proof of service provided to the customer.

explanation_letter

list (List of document ids) Any explanation letter(s) from you specifying information pertinent to the dispute/payment that needs to be taken into consideration for processing the dispute.

refund_confirmation

list (List of document ids) Document(s) showing proof that the refund was provided to the customer.

access_activity_log

list (List of document ids) Document(s) of any server or activity logs which prove that the customer accessed or downloaded the purchased digital product.

refund_cancellation_policy

list (List of document ids) Document(s) listing your refund and/or cancellation policy, as shown to the customer.

term_and_conditions

list (List of document ids) Document(s) listing your sales terms and conditions, as shown to the customer.

others

list Specifies the evidence documents to be uploaded as a part of contesting a dispute. It is a list of tuple consisting of the following:

type
string Describes the custom type of evidence document(s) provided
document_ids
list (List of document ids) Document(s) corresponding to the customer evidence type.
Copy[ { "type": "receipt_signed_by_customer", "document_ids": [ "doc_EFtmUsbwpXwBH7", "doc_EFtmUsbwpXwBH6" ] } ]
submitted_at

integer Timestamp (in Unix) when the dispute was last submitted by you (for review) to Razorpay. Default value is null.

Fetch all DisputesπŸ”—

You can fetch all the disputes raised by your customers using the below endpoint.

/disputes

Fetch a DisputeπŸ”—

Use the below endpoint to fetch the details of a specific dispute.

/disputes/:id

Path ParameterπŸ”—

id mandatory
string Unique identifier of the dispute.

Accept a DisputeπŸ”—

Accepting a dispute charge indicates that you do not wish to contest the dispute, acknowledging it as lost.

The status of the dispute will change from open to lost. Accepting a dispute is irreversible.

/disputes/:id/accept

Path ParameterπŸ”—

id mandatory
string Unique identifier of the dispute.

Contest a DisputeπŸ”—

Contesting a dispute indicates that you would like to challenge the dispute raised against a payment. In addition to explicitly contesting a dispute, the contest process can also be triggered by:

  • Attaching an evidence document (A document uploaded to the Razorpay ecosystem using Documents API having purpose set to dispute_evidence).
  • Providing the evidence in textual format.
  • Specifying the contest amount (partial or full)
    . In case, the contest amount is not specifically mentioned, it is assumed to be a full dispute contest.

Handy Tips

  • Ensure you pass the action parameter as submit to confirm the contest of the dispute. Dispute evidence draft does not get auto-submitted.

  • Ensure you provide a minimum of one document for contesting a dispute. Add as many relevant documents as possible to maximise the chances of dispute resolution in your favor.

/disputes/:id/contest

Path ParameterπŸ”—

id mandatory
string Unique identifier of the dispute.

Request ParametersπŸ”—

amount optional

integer The amount being contested. In case, the contest amount is not mentioned, we will assume it to be a full dispute contest.

summary

string The explanation provided by you for contesting the dispute. Can have a maximum length of 1000 characters.

shipping_proof

list (List of document ids) Document(s) which serves as proof that the product was shipped to the customer at the customer provided address. It should show the customer’s full shipping address, if possible.

billing_proof

list (List of document ids) Document(s) which serves as proof of order confirmation such as receipt.

cancellation_proof

list (List of document ids) Document(s) that serves as a proof that this product/service was cancelled.

customer_communication

list (List of document ids) Document(s) listing any written/email communication from the customer confirming that the customer received the product/service or is satisfied with the product/service.

proof_of_service

list (List of document ids) Document(s) showing proof of service provided to the customer.

explanation_letter

list (List of document ids) Any explanation letter(s) from you specifying information pertinent to the dispute/payment that needs to be taken into consideration for processing the dispute.

refund_confirmation

list (List of document ids) Document(s) showing proof that the refund was provided to the customer.

access_activity_log

list (List of document ids) Document(s) of any server or activity logs which prove that the customer accessed or downloaded the purchased digital product.

refund_cancellation_policy

list (List of document ids) Document(s) listing your refund and/or cancellation policy, as shown to the customer.

term_and_conditions

list (List of document ids) Document(s) listing your sales terms and conditions, as shown to the customer.

others

list Specifies the evidence documents to be uploaded as a part of contesting a dispute. It is a list of tuple consisting of the following:

type
string Describes the custom type of evidence document(s) provided.
document_ids
list (List of document ids) Document(s) corresponding to the customer evidence type.
Copy[ { "type": "receipt_signed_by_customer", "document_ids": [ "doc_EFtmUsbwpXwBH7", "doc_EFtmUsbwpXwBH6" ] } ]
action optional

string The action to be taken for this contest. Possible values:

  • draft - Allows you to contest the dispute by updating the dispute entity. This action does not submit the dispute yet. The absence of the key action or a corresponding value would default the action to draft.
  • submit - Allows you to contest the dispute by updating the dispute entity and also submits the same to Razorpay. You need to provide a minimum of one document id (across any of the evidence object attributes) for a successful submission. Submit for review would change the status of your dispute from open to under_review. This would also trigger the webhook event payment.dispute.under_review.

Handy Tips
Add as many relevant documents as possible to maximise the chances of dispute resolution in your favor.

Error CodesπŸ”—

All successful responses are returned with HTTP Status code 200. In case of failure, Razorpay API returns a JSON error response with the parameters that detail the reason for the failure.

Know more about error codes.

Γ—