Handle refunds and disputes
Manage refunds and disputes in your marketplace.
This guide is specific to marketplaces using indirect charges and outlines your responsibilities for managing disputes, chargebacks and refunds. Before you begin, see How disputes work.
Disputes terminology
Term | Description |
---|---|
Dispute | A claim filed by a cardholder or issuing bank regarding a payment. Disputed funds are typically withdrawn immediately and returned only if resolved in favour of the business. |
Disputed amount | The charge amount being disputed. |
Dispute fee | A flat fee that Stripe charges when receiving a dispute. |
Enquiry or retrieval | A preliminary phase initiated by some card networks (for example, American Express) before a claim becomes a formal dispute. Resolving the situation at this stage can avoid dispute fees. |
Indirect charges
For payments using indirect charges, with or without on_
, Stripe always debits refunds, disputed amounts and associated fees from your platform balance. In most cases, you can recover refunds and disputed funds from the connected account by reversing the transfer. Your platform balance is automatically debited for the disputed amount and fee.
If the connected account has a negative balance, Stripe attempts to debit the external account on file only if the account’s debit_
is set to true
. Additionally, some actions, such as refunds and chargebacks, create negative transactions in your Stripe account. When handling these transactions, Stripe attempts to avoid causing negative balances. Learn more about accounting for negative balances.
Chargebacks and responsibilities
Your platform is ultimately liable for chargebacks and related costs for both destination charges and separate charges and transfers. When your platform is the merchant of record, card networks such as Visa and Mastercard monitor your dispute rates. If you exceed their thresholds, you could enter monitoring programmes that might impose fines until you lower your dispute levels. For more details on these monitoring programmes, see the Stripe monitoring programmes.
Chargeback risks
Understanding chargeback risks is essential to protect your platform’s finances and meet evidence submission deadlines:
- Platform balance impact: Chargebacks debit your platform’s balance, creating immediate financial implications.
- Transfer reversal timing: Delaying the reversal of transfers after a chargeback puts your platform at risk for losses.
- Evidence submission deadlines: Missing evidence submission deadlines can lead to an automatic chargeback loss.
Best practices for disputes and chargebacks
To manage disputes and chargebacks effectively, you can implement best practices that focus on preventing disputes (proactive approach) or resolving disputes when they occur (reactive approach).
Stripe debits dispute amounts and fees from your platform account if you use destination charges and separate charges and transfers. You can manage disputes through the Dashboard or the Disputes API.
We recommend setting up a webhook to listen to dispute created events. When that happens, you can attempt to recover funds from the connected account by reversing the transfer through the Dashboard or by creating a transfer reversal.
If the connected account has a negative balance, Stripe attempts to debit its external account if debit_
is set to true
.
If you challenge the dispute and win, you can transfer the funds that you previously reversed back to the connected account. If your platform has an insufficient balance, the transfer fails. Prevent insufficient balance errors by adding funds to your Stripe balance.
Common mistake
Retransferring a previous reversal is subject to cross-border transfer restrictions, meaning you might have no means to repay your connected account. Instead, wait to recover disputed cross-border payment transfers for destination charges with on_
until after a dispute is lost.
To automate dispute management, browse Fraud Stripe Apps on the App Marketplace.
Refunds
How you handle refunds depends on whether you use destination charges or separate charges and transfers. Regardless of the charge type, refunds come from your platform’s balance. You can issue refunds through the Dashboard or the Refunds API.
To recover funds from the connected account for the refund, you can process a transfer reversal to reverse the transaction associated with the original charge, moving funds back to your balance.
If a connected account’s balance becomes negative (due to a dispute or refund), Stripe holds a reserve on the available balance. If debit_negative_balances is set to true
, Stripe automatically attempts to debit the connected account’s external account to cover the negative balance – this feature is available in the U.S. and Canada.
Destination charges
For destination charges, use the Payment Intents API to issue refunds against the most recently created charge. When refunding a charge with transfer_
, the destination account retains the funds by default, which leaves your platform account to cover the negative balance from the refund. To pull back the funds from the connected account, set the reverse_
parameter to true
when creating the refund:
By default, the entire charge is refunded, but you can create a partial refund by setting an amount
value as a positive integer. If the refund results in the entire charge being refunded, the entire transfer is reversed; otherwise, a proportional amount of the transfer is reversed.
Separate charges and transfers
For separate charges and transfers, you can refund charges created on your platform using its secret key. However, refunding a charge doesn’t affect any associated transfers. It’s your platform’s responsibility to reconcile any amount owed back by reducing subsequent transfer amounts or by reversing transfers.
Refunds with funds segregation
The private preview funds segregation feature uses allocated funds for refunds before debiting your platform’s payments balance, providing clean accounting separation.
You can issue refunds to pay customers back for returned goods or to compensate for unsatisfactory services.
Types of charge refunds
Stripe handles refunds for the following charge types:
- For destination charges and separate charges and transfers: If your platform’s balance does not have sufficient funds when issuing the refund, the refund status is set to
pending
. After enough funds are available, Stripe processes pending refunds and updates their status tosuccessful
. - For standard pricing businesses: Fees might apply for refunds when bank transfers are used. For all other payment methods, there are no fees for issuing refunds; however, processing fees from the original transaction are not returned.
- For custom pricing businesses: Refund fees might vary based on your fee schedule with Stripe.
Refund application fees
When refunding a charge with an application fee, the platform account retains those funds by default. To refund the application fee to the connected account, set the refund_application_fee parameter to true
when creating the refund. If the refund results in the entire charge being refunded, the entire application fee is refunded.
Alternatively, you can refund the application fee separately by providing a refund_
value of false.