Responding to Disputed Charges
If you sell products or services online, there’s a good chance you’ve encountered a disputed charge at some point. It can be frustrating to be on the receiving end of a dispute. But depending on the situation, there is hope that it can be resolved in your favor.
Below we’ll walk through some best practices on responding to disputed charges. Since we use Stripe for our SaaS products, we’ll focus on responding to disputes via the Stripe dashboard.
What is a dispute anyway?
A dispute happens when a customer questions a charge with their bank or credit card issuer. To protect the customer, the bank or card issuer kicks off a formal dispute process. This starts with immediately reversing the payment. The funds are pulled from your account, along with a $15 dispute fee for Stripe users in the US.
To prove the transaction was valid, you need to submit a response. You have a certain amount of time (typically less than 21 days) to give a response after the formal dispute process starts.
If you don’t submit a response, or if you accept the dispute, it is automatically resolved in favor of the customer. They keep the funds and you lose the additional dispute fee.
If you do submit a response, it’s first reviewed by Stripe. Stripe doesn’t make the final decision on any disputes, but they do decide whether your evidence is valid and meets the requirements to potentially resolve the dispute. If your evidence isn’t sufficient, the dispute is closed. If it is sufficient, Stripe sends your evidence to the card issuer. The card issuer then makes a final decision based on that evidence. If you win the dispute, the charge amount plus the dispute fee are returned to your account.
Should I accept the dispute?
When dealing with a disputed charge, I first start by evaluating whether the customer should indeed receive those funds back. If I haven’t had any communication with them yet, I typically reach out to them to find out what happened.
If there was a misunderstanding, the customer can contact their card issuer and request to withdraw the dispute. In that case, I still need to submit a sufficient dispute response. The customer may not be successful in withdrawing the dispute, so the final decision could still be made based on the evidence I submit.
Stripe also mentions it “may be more efficient—and provide a better customer experience—–to accept certain disputes” in situations where both you and the customer agree the dispute should be withdrawn or the charge should be refunded. Resolving a dispute can take several months, even if the dispute is withdrawn. And it’s not possible to issue a refund on a disputed charge. Since the dispute already gave those funds back to the customer, it would likely be faster and provided a smoother customer experience to accept the dispute (and then charge them again, when applicable).
As an example, a while back we received a dispute from a customer who didn’t intend to renew their subscription for another month, but they forgot to cancel before they were charged. Instead of reaching out to our support to request a refund, they disputed the charge. In that case, we accepted the dispute because we agreed they should receive the amount back. Ideally, they would have requested a refund from us first so we could’ve issued it for them and saved us both the trouble of dealing with the dispute. But accepting the dispute resolved the situation so they got their money back.
In other situations, the customer may not be eligible for a refund. That means I need to take a few more steps to respond to the dispute. We’ll walk through those steps next.
What’s the reason for the dispute?
Before I submit a response to a dispute, one of the first things I check is the dispute reason. When a charge is disputed, the card issuer designates a reason based on the customer’s claim. The dispute reason falls under one of eight different areas:
- Credit not processed
- Product not received
- Product unacceptable
- Subscription canceled
It’s important to note which of these eight reasons was assigned to a disputed charge because there are different guidelines to follow when responding to each.
What evidence is needed to respond?
Stripe tells you what types of evidence to submit based on the dispute reason. They offer this handy section where you can select the reason for the dispute and the type of product you offer (physical product, digital product or service, or offline service), and it displays details to help you with your response.
For example, if the dispute reason is “credit not processed” and we offer a “digital product or service”, this is what I’ll see:
So, this gives me:
1. The requirements to overturn the dispute.
The requirements for our example here would be proving the customer was already refunded or that they shouldn’t get a refund.
2. How to respond
The recommendation in this example is to first contact the customer and try to resolve the issue, which we discussed earlier.
3. What evidence to submit
The evidence submitted needs to relate back to #1 and demonstrate what I am trying to prove. If I’m trying to prove that the customer isn’t entitled to a refund, Stripe recommends I submit a screenshot of our refund policy, details about how and when the customer saw the policy prior to purchase, and my own explanation of why they shouldn’t receive a refund. In other cases, you may need to submit screenshots of relevant written communication you had with the customer, the customer’s IP address and activity logs, your cancellation policy, or a receipt for the customer’s purchase.
As I gather the evidence needed, I pay close attention to how I’m formatting it. This can have an impact on whether or not we win a dispute. Here are some formatting tips to keep in mind:
Keep it neutral and matter-of-fact
Don’t use your dispute response as an opportunity to vent. It can be tempting to air your grievances if the customer who disputed a charge was difficult, but it probably won’t help you. Below is an example from Stripe on how to stick to the facts:
Jenny Rosen purchased X from our company on [date] using their Visa credit card. The customer agreed to our terms of service and authorized this transaction. We shipped the product on [date] to the address provided by the customer, and it was delivered on [date].
Get to the point
Card issuers see thousands of dispute responses each day. If you include a long-winded explanation of every interaction you had with the customer, or an entire backstory of the product you provide, it’s not likely to increase your chances of winning the dispute. The person reviewing your response doesn’t have time for those extra details. Give only the necessary info and leave out the rest.
Organize your documents
The reviewer won’t open any links submitted so you need to use screenshots instead. Make sure your document is formatted to US Letter or A4 size and is in portrait orientation. Use 12 point font or larger. If you have more than one screenshot, you can combine them into a single document with multiple pages. But make sure it’s legible because the reviewer can’t zoom in on the document. That means if they can’t read the text, they won’t consider it. It’s generally a good idea to stick to one image per page, otherwise it may be difficult to read.
Highlight the important parts
Always crop your screenshots to show only what’s relevant. Call attention to important details by using bold text, arrows, underlines, etc. I usually circle dates and email addresses on written correspondence, along with underlining important sentences, to make it easy for the reviewer to glance through and get an overall sense of the conversation. Be sure to avoid color highlighting though. Everything should be presentable in black and white, as many card issuers are still using paper fax to transfer dispute evidence.
Use the text fields provided in your Stripe dashboard to explain what your screenshots are and why they’re important. Don’t expect the reviewer to connect the dots themselves. If you want them to draw certain conclusions from your documents, you need to state them plainly. On more than one occasion, I’ve written up a short paragraph for each document submitted, especially when I submit screenshots of email correspondence with the customer. In those paragraphs, I walk through the email conversation and call out specific page numbers to refer to in the document, and then I wrap it up by explaining how that supports my dispute response.
Proofread, and then proofread again!
You can’t edit a dispute response once it’s submitted, so make sure you got everything covered before you hit the submit button. I normally come back the next day and reread the response I drafted before submitting it. (Big shoutout to Stripe for saving unfinished dispute responses!) I try to think about it from a third party perspective when rereading what I wrote. Would this response still make sense to me if I didn’t have a deep understanding of our product or this particular customer’s situation? If I only had the details mentioned here, how would I interpret the situation?
If you’re frequently losing disputes, it might be helpful to review this full list of guidelines on how best to submit a response. There may be some evidence or formatting recommendations you find useful.
What happens next?
Once a response is submitted, it can feel somewhat anticlimactic. A resolution from the card issuer can take about 2-3 months. After a final decision is made, the outcome is reflected on the Stripe dashboard. And as mentioned earlier, if you win the dispute, you receive both the charge amount and the dispute fee back.
In an ideal situation, disputes could be avoided altogether. To help with this, Stripe does give some pointers on which actions to take to try and prevent disputes from happening. In this section we looked at earlier, there’s an area labeled How to Prevent It that offers some tips based on the dispute reason and the type of product. So if you’re receiving repeated disputes with the same reason, it might be a good idea to check out their tips and see if there’s anything you could take action on.
Disputes can be frustrating, but thankfully Stripe offers a guided process for handling them in the dashboard and provides robust documentation to assist.
Want to read more from us? Sign up for our newsletter to stay up-to-date on what we're learning, creating, and enjoying.
How Semantic HTML Improves the Accessibility of a Website
As web developers, we need to make sure that the way in which we build our sites and applications doesn't make them difficult, or even impossible, for some of our users to use. In this post, we'll discuss how using semantic HTML...
Introducing the Zaengle Zeitgeist
The Zaengle Zeitgeist is a monthly newsletter that gives an inside look at our happenings at Zaengle. It’s short and sweet, and we think you’ll like it.