Retail payment terminal — chargebacks and card payments context
Article

Chargebacks Dispute: The Response Workflow That Decides Winnable Cases

Most winnable chargebacks are lost inside the response workflow, not at the issuer. Here's the operational sequence Shopify merchants need to run before submitting anything.

DE

DisputeDesk Editorial

8 min read
English

The dispute is winnable. The workflow is where it dies.

A chargeback lands in Shopify Admin under Orders > Disputes. The merchant pulls tracking, screenshots the order confirmation, and submits. The issuer rules for the cardholder. The merchant is confused — the evidence was there.

The problem wasn't the evidence. It was the sequence. Evidence submitted without a coherent narrative, in the wrong order, missing one connector — that's what issuers reject. Not weak evidence. Disconnected evidence.

This is the workflow that fixes that. Run it in order. Every time.

Step 1: Read the reason code before you touch the evidence

The reason code determines which evidence actually matters. Pulling tracking confirmation for a "Not as Described" dispute is wasted effort — the issuer isn't asking whether the package arrived. They're asking whether what arrived matched what was sold.

In Shopify Admin, the dispute reason appears at the top of the dispute detail page. Map it before you open a single tab:

  • Fraudulent / Unauthorized (Visa 10.4, Mastercard 4837): The issuer wants authorization signals — AVS, CVV, IP, device fingerprint, behavioral match. Delivery confirmation is secondary.
  • Item Not Received (Visa 13.1, Mastercard 4855): The issuer wants delivery proof tied to the billing address or a confirmed alternate. Tracking alone is insufficient if the carrier shows delivered to a zip code, not a door.
  • Not as Described (Visa 13.3, Mastercard 4853): The issuer wants product specification evidence — listing copy, photos, spec sheets — and proof the customer didn't contact you before filing. Communication logs matter more than shipping records here.
  • Credit Not Processed (Visa 13.7): The issuer wants refund documentation or a clear policy that explains why no refund was owed.

Reason codes vary by network. Confirm exact code definitions with your acquirer or processor if you're on a non-Shopify Payments gateway — Stripe, Braintree, and Adyen each surface these differently.

Step 2: Check the deadline before you check the evidence

Shopify Payments disputes show the response deadline in the dispute detail view. Third-party processors may not surface this in Shopify Admin — you may need to check your processor dashboard directly.

The deadline is not a soft target. A submission at 11:59 PM on day seven is valid. A submission at 12:01 AM on day eight is an automatic loss, regardless of evidence quality. Issuers don't review late submissions. They close them.

Carrier signature confirmation requests are the most common deadline trap. A merchant files a signature confirmation request with UPS or FedEx on day three. The carrier takes five business days to respond. The dispute deadline was day seven. The merchant waits for the carrier. The deadline passes. The case is lost before the carrier responds.

Rule: Never wait for third-party documentation to arrive before submitting. Submit what you have. If your processor allows supplemental evidence after initial submission, confirm that window and use it. If they don't, submit without the carrier confirmation and note in your narrative that it's pending — some issuers will hold the case briefly, most won't, but a submitted case is always better than a missed deadline.

Step 3: Build the narrative before you attach the files

Issuers read the merchant rebuttal first. If the rebuttal is unclear, they may not read the attachments at all. The narrative is the frame — the evidence is the support.

A strong rebuttal narrative does three things in order:

  1. States what happened in one sentence (transaction date, amount, what was ordered, what was delivered)
  2. Identifies the specific claim being disputed and why it's contradicted by the evidence
  3. References each piece of attached evidence by name and explains what it proves

Sample rebuttal opening (adapt to your case):

"On [date], cardholder [name] placed order #[XXXX] for [product] at [amount]. The order was shipped to the billing address on file and confirmed delivered on [date] per carrier tracking [number], with GPS coordinates showing delivery at the registered address. The cardholder's claim of non-receipt is contradicted by the attached delivery confirmation, order-level IP match to the billing zip code, and prior purchase history from the same device. See attached: (1) carrier delivery confirmation with GPS, (2) AVS/CVV match record, (3) IP geolocation report, (4) prior order history."

That's it. No apologies, no speculation about the cardholder's intent, no filler. The issuer is reading dozens of these. Clarity wins.

Decision point: Fight or concede

Before you spend time building a response, make this call explicitly. It changes everything downstream.

Path A — Fight the dispute. You have at least two corroborating signals that directly address the reason code. The order amount justifies the time investment. The cardholder has no prior dispute history with you. The delivery address matches the billing address. Proceed with the full workflow.

Path B — Concede and document. The evidence is thin, the reason code is hard to beat ("Not as Described" disputes have low merchant win rates across most networks), or the order amount is below your internal threshold for response effort. Issue the refund if not already processed, close the dispute, and log the case in your internal dispute tracker with the reason code and order characteristics. That data is how you catch pattern fraud before it scales.

Conceding a $45 dispute to avoid a $25 chargeback fee on top of a lost case is not a failure. Fighting a $45 dispute with weak evidence and losing costs you the $45, the fee, and the time. The math matters.

One consequence most merchants underestimate on Path B: conceding repeatedly on the same customer account or shipping address without flagging it creates a reshipper or friendly-fraud blind spot. Log every concession. Review the log monthly.

Step 4: Assemble evidence in issuer-readable order

Issuers process evidence as a document stack. They don't reorganize it. If your most compelling evidence is buried in attachment five, it may not get weighted properly.

Stack order by reason code:

For Unauthorized / Fraudulent disputes:

  1. Authorization record (AVS result, CVV result — pull from Shopify Payments transaction detail or your processor dashboard)
  2. IP geolocation report showing IP matches billing zip
  3. Device fingerprint or session data if available
  4. Delivery confirmation
  5. Prior purchase history from same card/device (shows established relationship)

For Item Not Received disputes:

  1. Carrier tracking with final delivery scan, including GPS coordinates if available
  2. Proof of shipment date relative to order date (shows no unusual delay)
  3. Delivery address confirmation matching billing address on file
  4. Any customer communication acknowledging receipt or requesting a change (check Shopify Admin under the order's Timeline tab — customer emails and notes log there)

For Not as Described disputes:

  1. Product listing copy and photos as of the order date (screenshot with timestamp if possible)
  2. Full customer communication log — every message, in order
  3. Return policy as displayed at checkout
  4. Proof the customer did not contact you before filing the dispute (or, if they did, proof you responded and offered resolution)

The $340 apparel dispute that was winnable and wasn't

A merchant sold a $340 jacket. The customer filed "Not as Described" — claimed the color was wrong. The merchant had the original listing photo showing the correct color, AVS match, delivery confirmation, and a return policy that covered color discrepancies.

What the merchant submitted: tracking confirmation, AVS result, order confirmation PDF.

What the merchant didn't submit: the listing photo, the return policy, or the customer communication log — which showed the customer had emailed asking how to return the jacket three days before filing the dispute, and the merchant had responded with return instructions the same day.

The issuer saw a delivered order and an AVS match. Neither of those addresses a "Not as Described" claim. The merchant lost a case that had the winning evidence sitting in their inbox and their Shopify order Timeline — it just never made it into the submission.

The customer's pre-dispute email asking about returns was the single most valuable piece of evidence in that case. It showed the customer knew a return path existed and chose to dispute instead. Issuers weigh that. It never got submitted.

Step 5: Internal note before you close the workflow

After submission, log the case. This takes two minutes and pays back over months.

Sample internal dispute log entry:

"Order #[XXXX] | $[amount] | Reason: [code] | Submitted [date] | Evidence: AVS Y, delivery confirmation, IP match, prior order history | Narrative: unauthorized claim contradicted by device match and delivery to billing address | Outcome: pending | Flag: customer has two prior orders, no prior disputes"

That log entry is how you identify a cardholder who files a third dispute six months later. It's how you spot a shipping address that appears across three separate dispute cases. It's how you build the pattern evidence that wins pre-arbitration cases — or justifies blocking an account before the next order ships.

Shopify Admin doesn't aggregate dispute history across orders by default. You need an external log — a spreadsheet, a Notion database, a DisputeDesk case record — to see the pattern. DisputeDesk organizes this evidence trail automatically, but the merchant still owns the review decision on flagged accounts.

Where the workflow breaks down in practice

The most common failure point isn't evidence quality. It's handoff friction. A merchant's fulfillment team has the shipping records. The customer service team has the communication logs. The finance team is managing the dispute deadline. None of them are talking to each other fast enough.

By the time the merchant assembles the full evidence set, two things have happened: the deadline is closer than it should be, and the narrative was written before all the evidence was in — so it doesn't reference the customer email that came in from the CS team an hour after the rebuttal was drafted.

Assign one person to own each dispute from intake to submission. That person pulls evidence from every internal source, writes the narrative last (after all evidence is assembled), and submits. Single-owner disputes have materially better submission quality than committee-assembled ones.

Automation improves consistency here, not certainty. A tool that pre-populates AVS results and tracking data from Shopify Admin removes two manual steps and reduces the chance of a copy-paste error in the rebuttal. It doesn't decide whether the evidence is strong enough to fight — that judgment stays with the merchant.

Key Takeaways

Read the reason code before pulling any evidence — the code determines which signals the issuer is actually evaluating.
Never wait for third-party carrier documentation before submitting. A submitted case with incomplete evidence beats a missed deadline every time.
Write the narrative last, after all evidence is assembled — the rebuttal should reference every attachment by name and explain what it proves.
The decision to fight or concede should be made explicitly before building a response. Conceding a weak case is cheaper than losing it.
Log every dispute outcome internally. Shopify Admin doesn't aggregate dispute history across orders — pattern detection requires an external record.

FAQ

How do I find the dispute reason code in Shopify Admin?
Go to Orders > Disputes and open the dispute detail page. The reason code and network category appear at the top of the dispute record. For Shopify Payments disputes, the code is surfaced directly. For third-party processors, you may need to cross-reference your processor dashboard — Shopify Admin may only show a general category.
What's the most common reason merchants lose winnable chargebacks?
Submitting evidence that doesn't address the specific reason code. A merchant with a 'Not as Described' dispute who submits tracking confirmation and AVS results is answering the wrong question. The issuer is asking whether the product matched the listing — not whether it arrived.
Can I submit additional evidence after the initial response?
Depends on your processor and network. Some acquirers allow supplemental submissions within a secondary window. Confirm with your processor before relying on this. Shopify Payments disputes generally do not allow post-submission additions once the response is filed.
Should I always fight a chargeback?
No. If the evidence doesn't directly address the reason code, or the order amount is below your internal threshold for response effort, conceding is the better financial decision. The chargeback fee still applies in most cases, but you avoid spending time on a case you're likely to lose.
Where does customer communication history live in Shopify Admin?
Under the individual order record, in the Timeline tab. Customer emails sent through Shopify, fulfillment notifications, and internal notes all log there. This is often the most overlooked evidence source in 'Not as Described' and 'Item Not Received' disputes.

Disclaimer

This content is for informational purposes only and does not constitute legal advice.

Automate Your Chargeback Responses

DisputeDesk automatically tracks deadlines, collects evidence, and generates winning responses so you never miss a deadline again.