
Why how you showed the policy matters more than what it says
When a cardholder tells their bank that they were refused a refund, the bank does not start by reading your policy. It asks whether the cardholder was made aware of the policy before completing the purchase. Card network rules for credit-not-processed and cancelled-merchandise disputes put the burden on the merchant to show the terms were properly disclosed at the time of the transaction, on the checkout screen or through a required acknowledgment. A well-written policy that lived in a footer link the customer never saw is treated as if it did not exist. A plain, even slightly clumsy policy that appeared next to the pay button with a checked box is treated as an agreement.
The other thing to internalize is that your policy operates inside the network rules, not above them. 'All sales final' does not defeat a claim that the product never arrived or was materially different from the listing. A no-refund clause does not override subscription rules that expect notice before certain renewals and an easy way to cancel. What a good policy can do is win the disputes that are really disagreements about your terms: the customer who wants a refund on day forty-five of a thirty-day window, the customer who used a digital product for two weeks and then wants their money back, or the customer who cancelled after the renewal and wants the whole period refunded. Write for those cases. Related: How do you prove a subscriber actually used your software before disputing a renewal charge?
Keep reading: Why Most Chargebacks Are Lost, Building a Strong Evidence Packet, Understanding Chargeback Reason Codes. See how DisputeLoom helps you chargeback evidence packager for stripe sellers.
Write the terms in plain language with specific conditions
Vague policies lose because the analyst cannot tell whether the customer's request fell inside or outside them. Be specific about the window and what starts it (days from delivery, not from order, for physical goods); the condition required (unused, original packaging, tags attached); who pays return shipping; any restocking charge and how it is calculated; the rules for digital goods, downloads, and services already performed; how subscription cancellation works (takes effect at the end of the paid period, no prorated refunds unless stated); and the exceptions for custom, personalized, or perishable items. Say how refunds are issued and roughly how long they take to appear, and note that refunds go back to the original payment method.
Then create a short summary version, three or four lines, that can sit at checkout and in the confirmation email, with the full policy one click away. Both versions need to be versioned. Store each revision with its effective dates so that, when a dispute arrives for an order placed last spring, you can produce the exact text that was in force that day rather than today's text. A simple table of policy version, effective date, and the stored text is enough. If your checkout records the policy version the customer accepted, even better, because that ties the acknowledgment to the words.
Capturing proof of disclosure at the moment of purchase
The acknowledgment is the evidence. Put a required checkbox at checkout that references the refund policy by name and links to it, and store the timestamp, the customer identifier, the policy version, and the IP address when it is checked. Do not pre-check it. If you use Stripe Checkout, it supports collecting terms-of-service consent and displaying custom text on the payment page, which lets you place the summary where the buyer sees it before paying. Include the summary again in the order confirmation email so the customer has it in writing, and keep a copy of that email as sent. Related: When should a Stripe seller refund an early fraud warning instead of waiting for the chargeback?
Also keep a record of what the checkout page actually looked like. Screenshots taken when a dispute arrives show today's page, which may not match what the customer saw. Either capture a rendered copy of the checkout template each time you change it, with a date, or take periodic dated screenshots and file them. When you respond to a dispute, Stripe's evidence object has dedicated fields for the refund policy document, a description of how and where it was disclosed, and an explanation of why a refund was refused. Filling those in with the version, the disclosure location, and the acceptance timestamp is what turns a policy into evidence. Related: What Banks Look For in Evidence
Using the policy in an actual dispute response
The response should read like a short comparison between the customer's request and the terms they accepted. State the purchase date, the policy version in force, where the customer saw it, and when they acknowledged it. State when the customer first asked for a refund, quoting their message, and which clause applied. If you offered something (partial refund, exchange, store credit), say so with the date. If the customer never contacted you before disputing, say that too; banks pay attention to whether the merchant was given a chance to resolve the issue. Attach the acceptance record, the policy text, the checkout capture, and the customer conversation, each labeled.
Be honest about the cases you should not fight. If the policy was not visible at purchase, if the customer's request fell inside your window and was refused anyway, or if the product had a real problem, responding with policy language will likely lose and cost you the fee. Refund and accept, then fix the gap. Over time, the goal is that policy disputes become rare because the terms are clear, the acknowledgment is captured, and support applies the policy consistently. When a dispute does arrive, the packet should take minutes to assemble because every piece was recorded at the time of sale. Related: Building a Strong Evidence Packet
- Banks ask whether the policy was disclosed before purchase, so placement and acknowledgment matter more than the wording.
- Specify the window, its starting point, conditions, shipping and restocking terms, digital and subscription rules, and exceptions in plain language.
- Capture a required, unchecked-by-default acknowledgment with timestamp and policy version, and keep dated captures of the checkout page.
- Frame the response as a comparison between the customer's request and the accepted terms, and refund when the policy was not properly shown.
Fight chargebacks with a complete evidence packet
Chargeback evidence packager for Stripe sellers. DisputeLoom is built to help you put this into practice.
Build a responseMore from the DisputeLoom blog

Why Most Chargebacks Are Lost

Building a Strong Evidence Packet

Understanding Chargeback Reason Codes
Get the DisputeLoom playbook
Practical guides on chargeback defense, straight to your inbox as we publish them. No spam, unsubscribe any time.
