What Stripe says when a refund and a dispute meet
These sentences are Stripe's current documentation. They are not a rule for every provider. If the payment is not on Stripe, use that provider's own dispute and refund instructions and do not copy Stripe's statuses onto it.
Stripe describes a dispute, also called a chargeback, as the cardholder questioning the payment with the issuer. The issuer's formal dispute reverses the payment. Stripe then debits the Stripe balance for the disputed amount and a dispute fee. Stripe notifies the business through the Dashboard, email, webhooks, and the API. The disputed amount can be the full charge or a different amount.
While a formal dispute is open, Stripe says you cannot issue a refund outside the dispute process. The response is to accept the dispute or counter it. Accepting submits a response that you are not contesting the refunded amount. Countering opens the evidence form. Stripe says you have one opportunity to submit that response. The issuer decides the outcome. Won means the bank overturned the dispute and the debited chargeback amount is returned. Lost means the bank upheld it. Stripe says the dispute fee is not returned except in the Mexico case its dispute page describes.
A refund that is still pending can collide with a new dispute. Stripe's refund failure reason charge_for_pending_refund_disputed means the customer disputed the charge while the refund was pending. In that case Stripe says to accept or challenge the dispute instead of refunding, to avoid duplicate reimbursements.
Stripe's fraud-prevention page says a customer cannot dispute fully refunded payments, but can dispute partially refunded payments, and that card network rules allow a partially refunded payment to be disputed for the full payment amount. That is Stripe's statement of those rules, not a promise about a particular order. An earlier full refund and a later dispute are still both facts to put on the timeline if both records exist.
Some networks use a preliminary inquiry before a formal dispute. Stripe says an inquiry can be resolved without a dispute fee by satisfactory evidence or by a full refund. The same responding page says accepting an inquiry does not resolve it. Read the record's label, inquiry or dispute, before treating a refund as the response.
For bank-debit methods, Stripe gives a separate warning: a proactive refund while the customer's bank also initiates a dispute can credit the customer twice. Do not apply that bank-debit sentence to a card payment. Stripe also says not to refund a payment by a different method from the one originally used.