Skip to content

Stripe BillingStripe: a payment was disputed (chargeback)

A Stripe dispute is a chargeback: the cardholder questioned the payment with their bank, which reversed it. Stripe debits the amount plus a dispute fee from your balance, and you usually have 7 to 21 days to respond.

Short answer

Open the dispute in the Dashboard and note the reason and the due date. If the customer is right, accept it. If not, gather evidence that matches the reason, such as receipts, login records and emails, and submit it all at once. Handle charge.dispute.created so you never miss a deadline.

Rather not fix it yourself? Stripe Billing Fix and Setup handles it at a fixed price, agreed before work starts.

Why disputes are lost, and the fix

  1. 01

    Nobody saw the dispute in time

    “If you don’t respond before the deadline, you automatically lose the dispute and can’t retrieve the disputed funds.” Stripe, Respond to disputes

    Stripe emails the account owner, but that inbox may be unread. Handle charge.dispute.created and alert whoever answers disputes, with the due date.

    if (event.type === 'charge.dispute.created') {
      const dispute = event.data.object;
      await notifyTeam({
        id: dispute.id,
        reason: dispute.reason,
        dueBy: new Date(dispute.evidence_details.due_by * 1000),
      });
    }
  2. 02

    The evidence went in piece by piece

    “You’ve only one opportunity to submit your response.” Stripe, Respond to disputes (Submit evidence)

    There is no second upload. Collect everything for the dispute reason first: the receipt, proof of delivery or login, your refund policy and customer emails.

  3. 03

    The customer didn’t recognize the charge

    “During the inquiry phase, the cardholder’s bank requests transaction clarification, often because the cardholder doesn’t recognize the transaction description.” Stripe, How disputes work (Inquiries)

    A statement descriptor that doesn’t match your app name looks like fraud on a bank statement. Use a name customers know. Answer inquiries quickly: evidence or a full refund at that stage avoids a dispute fee. A partial refund doesn’t stop an escalation, and a chargeback needs a new response.

  4. 04

    A small dispute costs more to fight

    “Some disputes cost more to counter than the disputed amount, especially when gathering evidence is time-consuming.” Stripe, Respond to disputes

    Countering adds a fee that Stripe returns only if you win. For small amounts, accepting can cost less. Stripe Workflows can accept disputes under an amount you set.

Checked against the vendor’s docs on : Stripe docs: Disputes; Stripe docs: Respond to disputes; Stripe docs: How disputes work; Stripe docs: Use the API to respond to disputes.

Rather hand it over?

Fixed scope, fixed price, paid upfront. The work happens in writing; no call needed.

“Working with Simon makes everything run so smoothly and better than I could ask for it. Amazingly communicative, extremely knowledgeable of coding and the backend processes. I strongly recommend.”
A buyer in the United States, January 2026. App development on Fiverr
All 127 Fiverr reviews

Related: Stripe card declined: fraudulent · Stripe charge_already_refunded · Stripe webhook 200, database not updated · Stripe card_not_supported

Questions

More on this error

How long does a dispute take?

Up to 3 months after you counter it, per Stripe. Stripe emails you the outcome and sends a charge.dispute.closed event.

Should I refund after a dispute opens?

Not once a formal dispute is open. The bank has already pulled the money back, and Stripe doesn’t allow a refund outside the dispute process, so accept it or counter it. A full refund still resolves an inquiry without a dispute fee.

Can you fix it for me?

If one bug is the whole problem, the App Fix Ticket covers it: a written diagnosis first, then the fix. If the app has more going on, the Launch Check is a written check of the whole app. Each issue found is rated critical, high, medium or low, with where it is and how it was confirmed. No issues worth fixing, no charge. If the Launch Check finds nothing rated medium or higher, Simon refunds the full $450. You keep the report either way. This applies to the first 10 Launch Checks bought after October 30, 2026.

A different error?

Describe it and get a written quote

Send the error and what you were doing. You get a written scope, a fixed price and a timeline; Simon replies by email, usually within one business day.