Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Repair Windows errors before they cause bigger problems3Fix the driver behind crashes, sound loss and screen glitchesiTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
Who pays for a Stripe Connect refund depends on how the original charge was created. A direct-charge refund debits the connected account; a destination-charge or separate-charge-and-transfer refund debits the platform. In the latter two flows, refunding the customer does not automatically recover money already transferred to a connected account. Application fees are separate, too.
Start by identifying the charge type
Stripe Connect supports three common charge flows. The account that created the charge determines which Stripe balance funds a customer refund, while transfers and application fees have their own recovery or refund operations. Stripe’s charge-type guide describes these differences.
| Charge type | Where the charge is created | Balance debited for a customer refund | Transfer and recovery | If the refund balance is insufficient |
|---|---|---|---|---|
| Direct charge | Connected account | Connected account | The charge proceeds to the connected account, with any application fee credited separately to the platform. | The refund can remain pending until the connected account has sufficient funds; Stripe processes pending refunds in creation order. |
| Destination charge | Platform | Platform | Funds are transferred immediately to one connected account. The platform can request a transfer reversal to recover funds, subject to constraints. | The refund can remain pending until the platform has funds. If a requested transfer reversal cannot be completed because the connected account lacks sufficient balance, Stripe returns an error rather than creating a pending reversal-backed refund. |
| Separate charges and transfers | Platform | Platform | The platform creates transfers separately, potentially at a different time and to multiple accounts. A refund does not reverse them; the platform can use reversals or reconcile through later transfer activity. | The refund can remain pending until the platform has sufficient funds. A transfer reversal can fail depending on connected-account available balance or reserves. |
How each refund flow works
Direct charges: the connected account bears the refund debit
A direct charge is created on the connected account. Refunds and chargebacks reduce that account’s balance, as Stripe explains in its direct-charge documentation. If its balance is insufficient when a refund is created, Stripe can mark the refund pending and process pending refunds in creation order as funds become available.
Free tools Windows power users keep installed
One-click scans. No signup required.
The platform may have collected an application fee, but that fee is a separate amount credited to the platform. Refunding the customer does not, by itself, refund that fee.
#1 Best Overall
Destination charges: the platform pays Stripe, then may recover from the connected account
A destination charge is created on the platform, and funds are transferred immediately to one connected account. Stripe debits the platform for the customer refund. The platform can request a reversal of the connected-account transfer to recover the amount, as described in Stripe’s destination-charge guide.
There are two separate balance checks to keep in mind. If the platform lacks sufficient funds for the customer refund, the refund can remain pending. If the refund request also includes a transfer reversal and the connected account lacks sufficient balance for that reversal, Stripe returns an error instead of creating a pending refund with the reversal.
Rank #2
Separate charges and transfers: refund and transfer are independent
With separate charges and transfers, the platform creates the charge and separately sends one or more transfers. The timing can differ: a transfer need not happen at the time of the charge. Stripe debits the platform for the refund, but the refund itself does not affect the associated transfer. The platform must decide whether to reverse a transfer or account for the amount through future transfer activity. See Stripe’s separate charges and transfers guide.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →A reversal is subject to constraints. For example, the connected account’s available balance or reserves can affect whether a reversal succeeds. The Transfer Reversals API reference documents the reversal operation and related options.
Rank #3
Refunding the customer is not the same as recovering a transfer
Think of an indirect-charge refund as two possible actions, not one:
- Refund the customer: Stripe debits the platform balance for a destination charge or a separate charge and transfer.
- Recover funds from the connected account, if appropriate: the platform requests a transfer reversal. If that is not possible or not the chosen approach, the platform may reconcile the amount through later transfers.
A customer refund can therefore succeed or be pending independently of whether the platform has recovered money it previously sent to a connected account. Do not treat a refund record as proof that a transfer was reversed; track the refund and any reversal as distinct transactions.
Rank #4
Handle application fees separately
An application fee is not the customer’s charge refund. The platform can issue a separate application-fee refund, either partially or in multiple operations up to the remaining unrefunded amount. The funds return to the Stripe account that collected the fee. Stripe documents this in the application fee refund API reference.
A transfer reversal can also be configured with the refund_application_fee option for a related fee. Its behavior depends on the reversal amount, so choose deliberately whether to retain or return the fee rather than assuming the customer refund handles it automatically. Consult the versioned Transfer Reversals API reference for the option’s current details.
A practical workflow for platform teams
- Find the original PaymentIntent or Charge. Establish whether it is a direct charge, destination charge, or separate charge and transfer. Use that type to determine which account context and balance apply.
- Create the customer refund against the charge. Use the platform or connected-account context appropriate to the original charge. Check the refund status: insufficient funds in the account bearing the debit can leave it pending.
- For an indirect charge, inspect transfers. Determine whether funds were sent to a connected account and whether your platform needs to recover them. If so, consider a transfer reversal and check the relevant balance constraints.
- Make a separate application-fee decision. Retain the fee or refund some or all of it using the appropriate fee-refund operation or transfer-reversal option.
- Reconcile the records. Match Stripe balance transactions, customer refunds, transfer reversals, and application-fee refunds against your order records, internal ledger, and connected-account records.
Why a Connect refund may be pending or fail
- Pending direct-charge refund: the connected account, whose balance is debited, does not have enough funds. Stripe can process pending refunds in creation order once funds are available.
- Pending destination-charge or separate-charge-and-transfer refund: the platform does not have enough funds for the refund debit. It can remain pending until funds become available.
- Transfer-reversal error: the connected account may not have sufficient balance for a requested reversal. For a destination-charge refund that includes a reversal, Stripe returns an error rather than creating a pending refund with that reversal.
- Separate-charge transfer not recovered: this is not necessarily a refund failure. A charge refund does not itself affect a separately created transfer, so recovery or later reconciliation is a distinct action.
API parameters, eligibility, and account behavior can vary with Stripe API version and account configuration. Check the API version your integration pins and the current settings for the relevant Stripe accounts.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

