Create Accountor Login
Docs

Card Disputes

Part of the MountDev Ops Invoices documentation. Updated October 29, 2026

MountDev Ops Invoices documentation | Updated October 29, 2026

Our Commitment

MountDev Ops is built security first. Your business data belongs to you, and you can export all of it at any time. We never use analytics or tracking of any kind inside MountDev Ops.

Every update passes all 2,461 automated checks before it ships, plus screen tests on 9 screen sizes for everything it changes.

What Happens When a Client Disputes a Charge

When a client asks their card issuer to take back a payment, Stripe tells Invoices at once, and Invoices answers the dispute for you with the facts it kept. It never makes, retries, or changes a charge: it only answers Stripe and keeps the record.

  1. The dispute is matched to the invoice it paid and to your client, and everything that happens to it is logged.
  2. The account closes at the end of the month, permanently. A payment dispute is received as the client's notice that their account ends, under any condition and with no exceptions. The client's whole account is canceled the same way Cancel Account in CRM does it, to close at 5 PM on the last day of this month, and marked permanent: it can never be withdrawn, by anyone. Services keep running until then. After it closes, the closed-account rules apply: the client still signs in to see and download their records, read only, for as long as Closed Account Access says (Closed Accounts), and final website backups stay locked while any balance is open. A cancellation already scheduled for the client becomes permanent, and if it was set to end later than this month, it moves earlier to the end of this month (an earlier date stays). It does not depend on Cancellations being turned on in CRM: with it off, the account closes all the same, the cancellation is kept in the account history, and owners and admins are told.
  3. The evidence packet is built for the dispute's reason, from your client's evidence record (below), and saved on Stripe as a draft.
  4. Owners and admins are told at once, by email and on Run Billing (and Needs You Today), with Submit Now and Add Something. The email goes at any hour, since it is for your own team.
  5. It is submitted: by a person with Submit Now, or automatically 2 days before Stripe's deadline when nobody has. A packet with something a person must decide first (see below) is never submitted on its own; owners and admins are told before the deadline instead.
  6. When it closes: won, lost, or withdrawn, the account still closes on its day: the outcome never undoes it. Lost, the payment is marked Refunded and the invoice is written off (Uncollectible), so no reminder, late fee, or nonpayment step goes for it, and its open balance keeps the final backups locked. Owners and admins hear the outcome either way.

The Disputes Page

Disputes is in Invoices' menu, for owners and admins (action invoices.disputes.list). It lists every dispute, open ones first, with the client, the amount, the reason, the deadline, and when it will be submitted automatically. Open one to see (action invoices.disputes.get):

  • The packet: every written answer and every file, as Stripe will receive it, and whether it is saved on Stripe.
  • Needs a person: anything to decide before it is submitted, and Would be stronger with: anything that is missing, such as your refund policy.
  • Add Something (action invoices.disputes.add): words for one part of the packet, such as anything else the card issuer should know. The packet is built again with them and saved on Stripe.
  • Submit Now (action invoices.disputes.submit): the packet, with anything just added, goes to Stripe. Evidence can be submitted only once.
  • History: opened, the account's termination and its date, updated, built, saved on Stripe, submitted (and by whom, or automatically), what was added, closed, and written off.

The Packet, Reason by Reason

Every packet has what was sold, the client's name and email, when the service was provided, the invoice and its payment as a PDF (with when the receipt was emailed), and what the client agreed to as a PDF (their Terms acceptance, the price they confirmed, and the payment method they saved, each with its time, IP address, browser, and person). Then, for each reason Stripe gives:

  • Fraudulent and unrecognized: the IP address the client bought from, their sign-ins, the proof of service, the emails sent, earlier payments from the same customer with no dispute, the card's CVC, postal code, and 3D Secure checks, and (unrecognized) the name the charge shows on the statement.
  • Service not received: the proof of service (websites connected, updates run, backups taken, uptime, reports delivered, and work done on request), sign-ins, and emails.
  • Service not as described: the proof of service, emails, your refund policy, how it was shown, and why no refund is owed.
  • Subscription canceled: your cancellation policy, how it was shown, the notices sent before the charge, sign-ins and use after it, and that no request to cancel came before the charge. A service removed before the charge shows when it was removed, the words agreed, and the credit for its unused part on the next invoice.
  • Duplicate: that each invoice is charged once, and what the client's other payments were for.
  • Credit not processed: your refund policy, how it was shown, why no refund is owed, and any credit already given.
  • Any other reason: the proof of service, emails, sign-ins, and a summary.

The packet only ever says what the record shows. It waits for a person when the client asked to cancel before the charge (and no credit for it is on record), when the payment is not one of your invoices, when there is no proof of service for a "not received" dispute, or when more than one payment is recorded for the invoice.

The Evidence Record

Each client company has an evidence record, kept as things happen (action invoices.evidence.list, on the Disputes page and from a client's dispute):

  • What they agreed to: their Terms acceptance (the version, a fingerprint of exactly what was agreed, the time, the IP address, the browser, and the person), the price or confirmation screen they saw with its words and amount, anything they asked you to handle for them, and services they removed, with each credit given for them when its invoice is finalized.
  • Each payment method saved, with the card's own CVC and postal code checks and whether it supports 3D Secure.
  • Every billing email sent to them (invoices, receipts, the notice before each charge, and reminders), with when it went and its message id.
  • Their sign-ins, and the service delivered each day, as summaries. A secret, a password, a key, or a DNS record is never kept.

The record only grows: nothing in it is ever changed or removed, and each entry is chained to the one before it, so a packet can show it was not edited. It is kept as long as your company keeps its data.

Before a Dispute: Fewer of Them

  • The notice before each charge: a week and a day before each monthly invoice, the billing contacts get the amount, each item, and the payment method that will be charged, in your business hours.
  • A receipt after every payment, at once.
  • 3D Secure: every card saved asks for 3D Secure where the card supports it, and a charge made later with nobody there leaves it to Stripe and the card issuer.
  • Easy to cancel: where cancellations are requests, your client's Billing page has Cancel a Service, which sends you their request. Where removing a service is self-serve, it stops at once with a prorated credit on the next invoice, and both the removal and the credit are kept in the client's evidence record.

Disputes Settings

On Invoices' Settings page, under Disputes (action invoices.disputes.settings):

  • Submit automatically 2 days before the deadline (on at first).
  • The line on every invoice (off at first): every invoice email, PDF, and invoice page says, near the total, "Questions about this invoice? Contact (your support email) before disputing a charge. A dispute ends your account at the end of that month." Turn it on only if your Terms say a dispute ends the account.
  • Support email: where that line says to write. Empty, it names your From address in Billing Settings.
  • Card statement suffix: up to 10 letters, numbers, and spaces, such as MOUNTDEV, added after your Stripe account's short name on every card payment, so your clients recognize the charge. Useful when one Stripe account serves more than one company.
  • Statement descriptor: the name your clients see on their card statement (5 to 22 letters, numbers, and spaces), such as your product's name. Set the same name in Stripe (below).
  • Support website and Support phone: what Stripe shows your clients, so they reach you before their bank.
  • What you sell, your Cancellation policy, and your Refund policy, in your own words, for the packet. Nothing is written for you: a packet without a policy says it is missing.

Check Stripe (action invoices.disputes.check) reads your Stripe account, changing nothing, and says for each of these whether it is set: the statement descriptor, the support website and phone, and whether the webhook to your workspace sends the dispute events.

What to Set in Stripe

In your Stripe dashboard:

  • Settings, Business, Public details: the statement descriptor (and its shortened form), the support website, the support phone, and the support email.
  • Developers, Webhooks: on the endpoint that sends to your workspace, add charge.dispute.created, charge.dispute.updated, and charge.dispute.closed. Endpoints made from now on include them.
  • Radar, Rules: keep Stripe's default rules on, and turn on its built-in rules Block if CVC verification fails, Block if postal code verification fails, Request 3D Secure if 3D Secure is supported for card, and a review of payments with an elevated risk level.

What Your Client Sees

While their account is closing for a dispute, your client sees Account Status: Payment Dispute at the top of every page in their account. It opens the details, in these words: "A payment dispute was filed on (the date). Under our Terms this ends your account, and it closes on (the end date). This can't be reversed.", that their services keep running until then, and how to reach you. They also get one email saying the same, a billing notice sent in your business hours.

Ask Us Anything

We’d love to hear from you!