Automation library

Automate the evidence pack for Shopify Payments chargebacks and inquiries

Updated · By Ecomsellertool editorial team

Short answer

To automate Shopify chargeback evidence, start a workflow from Shopify Flow's Dispute created trigger or the disputes/create webhook. Read the dispute's reason and due date, then pull the order, fulfillment and carrier tracking, delivery proof, customer messages and refund history into the evidence Shopify asks for that reason. A person checks the draft, decides whether to fight or accept, and submits before the deadline.

  • Shopify Payments evidence is due 7 to 21 days after a chargeback or inquiry is filed, in your store's timezone, and cannot be edited after it is submitted (checked October 13, 2026).
  • Shopify's help center names eight dispute reasons, from Fraudulent to General, and lists different evidence for each.
  • Shopify Flow has a Dispute created trigger for stores on Shopify Payments; it maps to the disputes/create webhook.
  • Evidence files must be PDF, JPEG or PNG, each up to 2 MB and 4 MB combined, one file per evidence type.
  • If you do nothing, Shopify submits the data it collected on the due date; the bank, not Shopify, decides the outcome.

The step map: who runs each step

Trigger: Shopify Payments opens a chargeback or inquiry on an order, which fires Shopify Flow's Dispute created trigger and the disputes/create webhook.

Each step of the workflow in order, and whether a fixed rule, an AI model or a person runs it
StepWhat happensWho runs it
1When a dispute opens, rules read its type (inquiry or chargeback), reason, amount and evidence due date, and post it to the dispute queue with a countdown.Rule
2Rules gather the record for that reason: order and billing details, fulfillments and tracking numbers, the carrier's delivery scan, refunds and returns on the order, and the customer's helpdesk thread.Rule
3Rules map each item to the evidence Shopify asks for that reason and build the files: one PDF per evidence type, within Shopify's size and format limits.Rule
4An AI model drafts the short rebuttal text from the gathered facts only, and flags gaps, such as no delivery scan or a refund already issued. It never submits.AI model
5A person reads the pack, decides to fight, accept or refund an inquiry, corrects the draft and submits it in the Shopify admin.Person
6A daily check lists open disputes by due date, packs not reviewed three days before the deadline, and disputes that closed as won or lost.Rule

4 rule steps · 1 AI model step · 1 person step. A rule follows fixed logic you approve; an AI model handles messy input and its output is checked by rules; a person makes the calls listed below.

Person

What stays with a person

  • Whether to fight, accept, or refund an inquiry in full
  • Every word of the rebuttal and every file before it is submitted, since submitted evidence cannot be changed
  • Contacting the customer, and asking for a withdrawal letter if they drop the dispute
  • Disputes where the merchant made the error, such as a double charge, which Shopify says must be accepted
Tools

Which tools can run it

  • Shopify Flow's Dispute created trigger with tags, a Slack alert and a manual pack, for a few disputes a month
  • Shopify Flow or the disputes/create webhook plus Zapier, Make or n8n, to collect tracking and the helpdesk thread into a draft
  • Custom code on your accounts, for carrier APIs, PDF building within Shopify's limits, the evidence fields and the due-date queue

Systems it connects

  • Shopify Payments disputes
  • Shopify Flow
  • Shopify orders and fulfillments
  • Carrier tracking APIs
  • 3PL warehouse system
  • Helpdesk or email
  • Slack or email for the dispute queue

Build size: Medium

Shopify exposes the dispute and its evidence fields; the work is carrier proof, the helpdesk export and files that fit the limits.

A chargeback arrives with a deadline and a reason code, and the proof that answers it is scattered. The order and billing details sit in Shopify. The delivery scan sits with the carrier, or with the 3PL that shipped it. The customer's emails sit in the helpdesk, and any refund sits on the order's payment history. Most brands assemble that by hand, late, for each dispute. This recipe gathers the evidence the moment a dispute opens, sorts it by what the reason needs, and hands a person a ready pack to check and submit. It is one page of our automation library.

What evidence does each Shopify dispute reason need?

Start from the reason, because the evidence changes with it. The table below uses the eight reasons Shopify's help center names on its page of reasons for a chargeback or inquiry, with the evidence Shopify suggests for each (checked October 13, 2026). The third column is where an automation finds that proof, with the field in the dispute evidence object it fills. The last column is the call that stays with a person.

Shopify reasonEvidence Shopify suggestsWhere the automation pulls it fromWhat a person decides before submitting
FraudulentFulfillment date and time, billing information, IP address and country, shipping and trackingShopify order (billing address, purchase IP), fulfillments and tracking numbers, the carrier's delivery scan; Shopify's fraud analysis on the orderWhether the order looked risky before it shipped; if it was truly unauthorized, accept rather than argue
UnrecognizedThe same four items as FraudulentShopify order and fulfillment; the store name the customer sees on the card statement, written into the rebuttalWhether to email the customer first, since a customer who recognizes the store may drop the dispute
DuplicateWhy there were two charges, receipts showing different products, messages telling the customer about bothShopify transactions on both orders, both receipts, the helpdesk threadWhether it really was charged twice; if so, Shopify says the chargeback must be accepted
Subscription canceledYour cancellation policy, cancellation emails, when and where the customer saw the policy; for digital products, an access log after the cancellation dateSubscription app records, policy pages, helpdesk thread, app or login activityWhether the cancellation reached you in time under your own policy
Product not receivedFulfillment date and time, billing information, shipping and tracking; for digital products, an access logShopify fulfillments, the carrier's tracking events and delivery scan, signature or photo proof where the carrier has it, the 3PL's ship confirmationWhether the scan really shows delivery to the customer's address; a lost parcel is a refund or a carrier claim, not a fight
Product unacceptableFulfillment date and time, billing information, shipping and tracking, product descriptions or pictures showing it was as described; proof of any return attempt or replacementProduct page text and images as they were at the time of order, fulfillment and tracking, the returns record and helpdesk threadWhether the complaint has merit; check the return the customer tried to start before arguing
Credit not processedRefund and return policies, when the customer saw them, refund emails, why no refund was due; proof of any refund already madePolicy pages, refunds and returns on the order, the 3PL's inspection grade, helpdesk threadWhether the customer was owed a refund under your policy; if a refund already went out, prove it
GeneralProducts ordered, fulfillment date, billing information, IP address and country, customer messages, carrier tracking, prior refunds or replacementsEverything above, because the reason does not say what the complaint isWhat the customer actually objects to, usually by contacting them

Two more groups do not appear on that help page. The Admin API's ShopifyPaymentsDisputeReason list has fourteen values, adding bank-side reasons such as insufficient funds, bank cannot process, debit not authorized, incorrect account details and noncompliant, plus customer initiated (checked October 13, 2026). Shopify publishes no evidence list for those, so the automation routes them straight to a person with the order attached. And if the customer drops the dispute, Shopify asks for the bank's withdrawal letter in the Chargeback response form; the pack has a slot for it. Subscription canceled disputes are easier to answer when every failed renewal and dunning email is already logged, which our failed subscription payment follow-up recipe does.

How fast do you have to respond, and what does Shopify do on its own?

Fast. Shopify's page on chargebacks in the admin says due dates range from 7 to 21 days after the chargeback or inquiry is filed, shown in your store's timezone, and that a date with no time means 11:59 PM that day (checked October 13, 2026). Evidence cannot be sent after the deadline. Open disputes appear under Orders with the Chargeback and inquiry status filter, and notices go to the store contact email, which is why a dispute can sit unseen in an inbox nobody reads.

The same page sets the file rules the pack must fit: PDF, JPEG or PNG only, PDFs in PDF/A format under 50 pages, each file up to 2 MB and all files together up to 4 MB, one file per evidence type, and no audio, video or links. Progress saves as you work and can be edited until the due date. Shopify's page on resolving a chargeback adds that once evidence is submitted, you cannot change it or add more (checked October 13, 2026).

If nobody acts, Shopify still responds. The resolving page says Shopify fills in available data, such as product details, addresses and tracking, and sends a response on the due date. For Product not received disputes, the admin page says AI-generated insights are added to the evidence unless you opt out, and the reasons page says Shopify uploads a PDF of all fulfillment events. That default is a floor, not a defense: it cannot add the customer's messages, a carrier's delivery photo or your policy history.

The money moves before you answer. Shopify's chargeback process page says a chargeback takes the disputed amount and a fee at once, lists the US fee as $15, says review can take up to 75 days after you submit, and that the decision is final (checked October 13, 2026). Its chargebacks overview says the fee might be refunded after a win depending on your country or region. An inquiry takes no money while the bank looks at it, but it can escalate.

Can Shopify Flow start the workflow?

Yes. Shopify Flow's Dispute created trigger starts a workflow when a chargeback or inquiry is created on an order, and only for stores that use Shopify Payments (checked October 13, 2026). It passes one variable, the dispute, which is the Admin API's ShopifyPaymentsDispute object: the amount, the evidence due date, the reason details, the status, the order and whether it is an inquiry or a chargeback. Shopify says the trigger corresponds to the disputes/create webhook.

JobIn Shopify FlowWhere custom code or a workflow tool takes over
Notice the disputeDispute created triggerThe disputes/create and disputes/update webhooks, which need the read_shopify_payments_disputes scope
Tag the order and customer, hold related ordersAdd order tags, Add customer tags, Hold fulfillment orderNothing more needed
Alert the team with the due dateA Slack or email action using the dispute's fieldsA queue that sorts every open dispute by due date
Fetch carrier proof and helpdesk messagesNo built-in wayCarrier and helpdesk APIs
Build the evidence filesNo built-in wayPDF building within Shopify's limits
Write evidence into the disputeNo built-in actionThe disputeEvidenceUpdate mutation

Two Flow actions bridge the gap. Send HTTP request can hand the dispute to your own service, and Shopify lists it for the Shopify Plus, Advanced and Grow plans. Send Admin API request runs most Admin API mutations but excludes deprecated, asynchronous and some app-specific ones, and the page does not say whether disputeEvidenceUpdate is offered (both checked October 13, 2026). Check the action's mutation list in your store before you design around it. For the wider picture, see our guide to what Shopify Flow automates.

What does the automated evidence pack contain?

One folder per dispute, built by rules in the order the table needs. The order record gives billing and shipping addresses, the purchase IP, line items and the payment history. The fulfillments give ship dates and tracking numbers; the carrier's API gives each tracking event and the delivery scan, with signature or photo proof where the service level includes it. If a 3PL shipped the order, its ship confirmation and pick record join the folder, which is easier when orders already flow to it through a recipe like Shopify orders to a 3PL.

The customer side comes from the helpdesk: every message on that order, exported as one dated PDF, plus refunds, returns and replacements from Shopify. Policy pages are captured as they read on the order date, because the bank asks what the customer saw then. The rules then fill the matching fields of the evidence update input: customerCommunicationFile, shippingDocumentationFile, refundPolicyFile and its disclosure text, and uncategorizedText for the rebuttal. That input also has a submitEvidence flag, false by default (checked October 13, 2026). Our build never sets it.

The AI model has one narrow job: write the rebuttal in plain sentences from the facts the rules gathered, and list what is missing. For example, "tracking shows delivered on the 4th to the shipping address; the customer emailed on the 9th asking about a return; no refund was issued" is a draft a person can check in a minute. It does not invent facts, guess at intent or decide to fight. If the folder has no delivery scan for a Product not received dispute, the draft says so at the top.

What stays with a person?

The decision, and the submit button. The disputeEvidenceUpdate mutation needs the write_shopify_payments_dispute_evidences scope and a staff member with the manage disputes permission (checked October 13, 2026), and submitted evidence is final. So the automation drafts, and a named person reads the pack, fixes the rebuttal and submits it in the admin. A daily list shows every open dispute by due date, and any pack not reviewed three days before its deadline goes to a second person.

Some disputes should not be fought. If you charged twice or charged after a cancellation, Shopify's reasons page says to accept the chargeback. For an inquiry, the resolving page says a full refund can end it, while a partial refund does not prevent a full chargeback. And stores enrolled in a network dispute resolution program have some disputes refunded automatically with no evidence window at all (checked October 13, 2026). The rules mark those cases; a person makes the call. Customer contact goes through your support-ticket triage flow.

None of this changes who decides the outcome. Shopify says the bank decides and Shopify cannot overturn it, so this recipe promises a complete, on-time pack, not a win rate. What you can measure is your own process: packs ready before the due date, disputes that went out with only Shopify's default data, and which reasons you lose most often. Those numbers belong in your weekly review, next to payouts reconciled in your marketplace payouts to QuickBooks or Xero flow.

Who builds chargeback evidence automation for Shopify brands?

Ecomsellertool builds workflow automation on your own Shopify store, carrier accounts and helpdesk. We have built software on Amazon's seller APIs since 2017 and shipped 50+ tools for 100+ teams. For disputes we map your reasons and evidence with you first, then build the trigger, the carrier and helpdesk pulls, the evidence files, the draft and the due-date queue. Send a project brief or read how our workflow automation service works.

The building blocks are work we have shipped:

  • Alerts on account events that need a response. For AccountDr we built rule-based automation that notifies Amazon sellers about performance metrics, negative seller comments, hijackers, listing faults and stranded inventory, by push and email, so a person acts before it costs them.
  • Carrier connections in one place. Ecom Global was built for 100M+ products, 20+ marketplaces and 13+ carriers, with carrier types, coverage and routing rules held in one shipping master.

The workflow can run on Ecomsellertool Growth OS beside your order and returns flows.

Get your dispute evidence flow built

Send us your dispute reasons and your carriers

Describe the workflow you want automated. We reply with a written plan: scope, timeline and a fixed price.

A few sentences is enough: what happens today, who does it and how often.

Starts when you fill in the form

A quick private check that runs in your browser. No tracking, no puzzles.

A person reads every brief. You get a written plan within 2 business days; no obligation.

Frequently asked questions

Can I automate Shopify chargeback responses?

You can automate the gathering and the draft, not the judgment. Shopify Flow's Dispute created trigger or the disputes/create webhook starts the run, and rules pull the order, tracking, delivery scan, customer messages and refunds into the evidence Shopify asks for. A person reads the pack, decides whether to fight and submits it, because submitted evidence cannot be changed.

Does Shopify Flow have a chargeback trigger?

Yes. Shopify Flow's Dispute created trigger starts a workflow when a chargeback or inquiry is created on an order, for stores that use Shopify Payments. It passes the dispute object, so a workflow can tag the order and customer, hold fulfillment of related orders and alert your team. Flow has no built-in action that writes evidence.

How long do I have to respond to a Shopify chargeback?

Shopify says evidence is due 7 to 21 days after the chargeback or inquiry is filed. The due date shows on the order in your store's timezone; with no time shown, it is 11:59 PM on that date. Evidence cannot be sent after the deadline, and Shopify sends what it collected on the due date if you have not submitted.

What evidence wins a Shopify chargeback?

No evidence wins every time, because the cardholder's bank decides. Shopify lists evidence per reason: for Product not received, fulfillment dates, billing details and tracking; for Fraudulent, also the IP address and country; for Credit not processed, your refund policy and when the customer saw it. Send what answers the reason the customer gave.

Should I refund the customer instead of fighting?

For an inquiry, a full refund can end it; Shopify notes a partial refund does not prevent a full chargeback. Once a chargeback is made you cannot refund the customer, because the bank already took the money. If you made the mistake, such as a double charge, Shopify says to accept the chargeback.

Can the automation submit evidence through the API?

The disputeEvidenceUpdate mutation can write the evidence fields and has a submitEvidence flag, with the write_shopify_payments_dispute_evidences scope and a staff member with the manage disputes permission. We leave that flag off and let a person submit, because nothing can be added or changed after submission.

Jaimin Dholakia, founder of Ecomsellertool
Jaimin Dholakia · Founder
Schedule a call

Get this workflow built on your own systems.

Prefer to talk the workflow through first? Schedule a free call with the engineers who would build it. Selling on Amazon? The free 24-hour diagnostic finds the operations gaps in your account: connect it with Login with Amazon, on Amazon’s own consent screen (we only read data; we never change listings, prices, stock or ads), and get a report within 24 hours of connecting, on business days.

Free · 30 minutes · Pick any open slot