Skip to content
Sign in
An image of the Stripe logo
Create account
Sign in
Home
Payments
Finance automation
Banking as a service
Developer tools
No-code
All products
Home
Payments
Finance automation
Home
Payments
Finance automation
Banking as a service
Developer tools
Overview
Online payments
In-person payments
Multiparty payments
After the payment
Add payment methods
Fraud detection
    Overview
    Risk evaluation
    Risk settings
    Reviews
    Lists
    Rules
    Radar Session
    Testing
    Integration
    Disputes and fraud
      How disputes work
      Responding to disputes
        Best practices
        Using the API
        Categories
      Dispute withdrawals
      Fraud prevention
      Measuring disputes
      Disputes on Connect
      Monitoring programs
      High risk merchant lists
    Analytics
Payment Links
Stripe Checkout UI
Stripe Elements UI
Financial Connections
Crypto
Identity
Climate
About the APIs
Regulation support
Implementation guides
Testing
Radar
·
HomePaymentsFraud detectionDisputes and fraud

Responding to disputes

Learn how to effectively respond to disputes.

When an account owner files a dispute against a payment, their bank alerts Stripe and Stripe notifies you using:

  • Email notification
  • Stripe Dashboard
  • An API charge.dispute.created event (if your integration is set up to receive webhooks)
  • Push notification (if you’ve subscribed)

Each of the dispute notification channels provides a link to the dispute’s details page in your Dashboard, where you can learn more about the reason for the dispute and take appropriate action.

Note

When you receive a dispute notification, take action to resolve it before the deadline. Failing to respond to a dispute results in irretrievable refund to the account holder and a dispute fee charged to your account.

Review the dispute category

When you get a dispute, the corresponding category or reason appears in your Dashboard and as the value for the reason attribute of the dispute object.

Each dispute category specifies different response requirements and recommendations to make it effective in addressing the root claim from the cardholder, so your first step is to review our response guidelines for the category of your dispute so you can collect the best set of evidence to counter the dispute claim.

Inquiries

Inquiries appear as disputed payments in the Dashboard, but they actually represent a pre-dispute stage that’s typically issued when an account owner doesn’t recognize a transaction on their account. Respond in this stage to resolve any questions and prevent a formal dispute escalation, which saves you time, fees, and your rating with the card networks. For more information, see Inquiries.

Note

If an inquiry escalates to a chargeback, you must submit another response for the dispute.

Work with the account owner

When possible, the Dispute details page provides you with a copy of the bank’s submission to Stripe based on the account owner’s claim, and a way to email the account owner. Reviewing the claim and contacting the account owner might give you insight to better understand the complaint and help you decide how to proceed.

Be sure to keep a record of all communication with your customer during this process, as it provides evidence to submit with your response.

Decide to accept or challenge the dispute

Handle disputes through Stripe

You can’t address a formally disputed payment (such as by refunding the customer directly) outside this process because the issuing bank has already refunded the account owner through the chargeback process and you risk refunding the customer twice.

When you have a clear picture of the dispute details, decide whether to accept or challenge the dispute. Consider the following questions in your determination:

  • Is the account owner’s claim valid?
  • If not, do I have the evidence required to disprove the claim?
  • Can I convince the account owner to withdraw their dispute if I resolve their complaint amicably, for example, by offering a store credit or a replacement item?

When you’ve decided how to respond, select the corresponding button on the Dispute details page in your Dashboard:

  • Accept dispute submits a response to the issuing bank affirming that you agree to refund the customer for the disputed payment and pay the dispute fee.
  • Counter dispute opens a form that guides you through the submission process, prompts you for evidence that is relevant to the dispute type and your response type, and allows you to easily upload supporting files.

See Responding to disputes using the API if you prefer to handle disputes programmatically.

Submit evidence through the Dashboard

Caution

You have only one opportunity to submit your response. Stripe immediately forwards your response and all supporting files to the issuing bank and you can’t edit the response or submit additional files, so make sure you’ve assembled all your evidence before you submit.

  1. Open the dispute response form: Click Counter dispute to open Stripe’s dispute response form.

  2. Tell us about the dispute: In the first page of the form, tell us why you believe the dispute is in error and the product type of the original purchase. This information along with the dispute category helps Stripe recommend the most relevant evidence to support your challenge on the next page of the form. For example, if your counter to a customer’s claim that they canceled a subscription for an online service is that the customer agreed to a minimum term, it doesn’t make sense to ask you for shipping and tracking details. When your integration supports it, Stripe automatically captures the product type based on the original payment.

  3. Assemble your evidence: The second page of the form has a dynamic set of sections representing the most relevant details you can provide for your individual case.

    In the Supporting Files section, use the File Upload tool to attach evidence that matches the checklist of evidence types relevant to your dispute type and counter argument. For each uploaded file, specify which type of evidence it satisfies. You can only submit one file per type of evidence, so if you have several files representing one type of evidence, combine them into a single, multi-page file.

    Consider the following guidelines to make sure your supporting files are effective:

    • Consult the evidence recommendations for your specific dispute category.
    • Organize each piece of evidence according to the evidence type it satisfies - be as succinct as possible.
    • Combine items of the same evidence type into a single file.
    • Check that your evidence files don’t exceed the combined size limit of 4.5 MB.
    • Banks evaluating the dispute won’t review any external content, so don’t include:
      • Audio or video files
      • Requests to call or email for more information
      • Links to click for further information (for example, file downloads or links to tracking information)
  4. Background evidence: The other sections of the second page vary depending on the dispute type and your answers in the first page. When your integration supports it, Stripe automatically captures the data for these sections and pre-populates both the API evidence object attributes and the form fields in the Dashboard. But if any of these fields aren’t pre-populated, include as much information as you can before you submit your response. These sections can include:

    • Shipping details
    • Refund policy details
    • Customer details
    • Product details

    The more information your integration collects and passes to Stripe when your customer makes a payment, the better your ability to prevent disputes and fraud from occurring, and challenge them effectively when they do.

  5. Submit evidence: Click the checkbox to acknowledge your understanding that your response is final. After you submit it, Stripe automatically puts the evidence you provide into a format accepted by the issuing bank and submits it for consideration. At this point, you can’t amend what you’ve submitted or provide any additional information, so make sure to include every relevant detail.

Check the dispute status

After you submit a response, the status of the dispute changes to under_review. When the issuer informs Stripe of its decision, we inform you of the outcome by email, in the charge.dispute.closed webhook event, and by updating the dispute status in the Dashboard and the Dispute API object to one of the following:

  • won indicates that the bank decided in your favor and overturned the dispute. In this case, the issuing bank returns the debited chargeback amount to Stripe, and Stripe passes this amount back to you. In some regions, the dispute fee might be returned. Please see Stripe pricing for details.

  • lost indicates that the bank decided in the account owner’s favor and upheld the dispute. In this case, the refund is permanent and the dispute fee isn’t returned.

See also

  • Preventing disputes and fraud
  • Dispute monitoring programs
  • Calculating dispute rates
Was this page helpful?
Need help? Contact Support.
Watch our developer tutorials.
Check out our product changelog.
Questions? Contact Sales.
Powered by Markdoc
You can unsubscribe at any time. Read our privacy policy.
On this page
Review the dispute category
Work with the account owner
Decide to accept or challenge the dispute
Submit evidence through the Dashboard
Check the dispute status
See also
Related Guides
How disputes work
Dispute categories
Dispute withdrawals
Preventing disputes and fraud
Stripe Shell
Test mode
Welcome to the Stripe Shell! Stripe Shell is a browser-based shell with the Stripe CLI pre-installed. Login to your Stripe account and press Control + Backtick on your keyboard to start managing your Stripe resources in test mode. - View supported Stripe commands: - Find webhook events: - Listen for webhook events: - Call Stripe APIs: stripe [api resource] [operation] (e.g. )
The Stripe Shell is best experienced on desktop.
$