Create a charge
To accept a payment from a customer, you must first create a charge. The type of charge you create—direct, destination, or separate charges and transfers—determines how these funds are split among all parties involved, impacts how the charge appears on the customer’s bank or billing statement (with your platform’s information or your user’s), and determines who will be debited for refunds and chargebacks.
Charge types
There are many factors to consider when choosing a charge type, as listed in the table below. Your platform’s business model is particularly important because it can affect how funds flow through Stripe. To know which charge type is recommended for your business, refer to your platform profile.
Charge type | Use when | Examples |
---|---|---|
Direct charges |
|
|
Destination charges |
|
|
Separate charges and transfers | Any one of these instances:
|
|
You can use a single approach, more than one approach, or switch approaches as appropriate for your organization.
Direct charges
When using Standard accounts, Stripe recommends that you create direct charges. Though uncommon, there are times when it’s appropriate to use direct charges on Express or Custom accounts. With this charge type:
- You create a charge on your user’s account so the payment appears as a charge on the connected account, not in your account balance.
- The connected account’s balance increases with every charge.
- Your account balance increases with application fees from every charge.
- The connected account’s balance will be debited for the cost of Stripe fees, refunds, and chargebacks.
Caution
Only connected accounts with the card_payments capability can be directly charged.
Destination charges
When using Express or Custom accounts, Stripe recommends that you create destination charges. With this charge type:
- You create a charge on your platform’s account so the payment appears as a charge on your account. Then, you determine whether some or all of those funds are transferred to the connected account.
- Your account balance is debited for the cost of the Stripe fees, refunds, and chargebacks.
Caution
In most scenarios, destination charges are only supported if both your platform and the connected account are in the same region (for example, both in the US). For cross-region support, you can specify the settlement merchant to the connected account using the on_behalf_of attribute on the charge. For more information about cross-region support, see Cross-border transfers.
Separate charges and transfers
For Express and Custom accounts, Stripe recommends that you create separate charges and transfers if destination charges don’t meet your business needs. With this charge type:
- You create a charge on your platform’s account and also transfer funds to your user’s account. The payment appears as a charge on your account and there’s also a transfer to a connected account (amount determined by you), which is withdrawn from your account balance.
- You can transfer funds to multiple connected accounts.
- Your account balance is debited for the cost of the Stripe fees, refunds, and chargebacks.
Caution
In most scenarios, your platform and any connected account must be in the same region. Attempting to transfer funds across a disallowed border returns an error. For information about cross-region support, see Cross-border transfers.
Using separate charges and transfers requires a more complex Connect integration. You can use this charge type if your business has any of these traits:
- A one-to-many relationship. For example, a payment made to a delivery service needs to be split between the store (the source of the items being delivered) and the delivery person.
- A many-to-one relationship. For example, a carpool trip with a ride-hailing service.
- Charges created before the destination account is known. For example, a janitorial service could process a payment before deciding which janitor to assign to the job.
- Need to transfer funds before receiving a payment, or while the charge is pending. For example, an ad network needs to purchase ad space before they can sell ad time or before receiving any payment from customers.
- Transfer amounts greater than the associated payments. For example, a platform provides a discount to its customer but pays its user the full amount.
In some cases, the transfer amount is greater than the charge amount, or the transfer is made before the payment is processed. You must monitor your account balance carefully to make sure it has enough available funds to cover the transfer amount. You can also associate a transfer with a charge so the transfer doesn’t occur until the funds from that charge are available.
on_behalf_of parameter
To make the connected account the business of record for the payment use the on_behalf_of
parameter. When on_behalf_of
is set to the ID of the connected account, Stripe automatically:
- Settles charges in the country of the specified account, thereby minimizing declines and avoiding currency conversions.
- Uses the fee structure for the connected account’s country.
- Uses the connected account’s statement descriptor.
- If the account is in a different country than the platform, the connected account’s address and phone number shows up on the customer’s credit card statement (as opposed to the platform’s).
- The number of days that a pending balance is held before being paid out depends on the
delay_days
setting on the connected account.
Stripe fees
There are two components to Stripe payment fees with Connect: which pricing plan applies to the payment and which account pays Stripe payment fees.
Direct charges use the connected account’s pricing plan and are assessed on the connected account.
Destination charges and separate charges and transfers typically use the platform’s pricing plan and are assessed on the platform. The only exception is when on_behalf_of
is set, where the country of the connected account is used to determine the pricing plan and fee instead.
For more information on Connect fees and how to request custom pricing, please see Connect pricing.
Refunds
You can issue a refund to pay back the money spent on the returned good or to compensate for unsatisfactory service. Below describes how refunds are handled for each charge type:
Charge Types | Account Types | Pending Refunds |
---|---|---|
|
| If the connected account’s balance is sufficiently negative at creation time, the refund object is set to a status of pending . When enough funds are available in the connected account’s balance, Stripe automatically processes any refunds with a pending status and updates the status to successful . |
| If the connected account’s balance and your platform’s account balance are sufficiently negative at creation time, the refund object is set to a status of pending . When enough funds become available in your connected account’s or platform’s balance, Stripe automatically processes the refunds with a pending status and updates their status to successful . | |
|
| If your platform’s account balance is sufficiently negative at creation time, the If the connected account’s balance is sufficiently negative and a refund request also attempts a transfer reversal, the refund request returns an error, instead of creating a refund with |
Disputes and chargebacks
For payments created on Standard accounts using direct charges, those accounts are responsible for disputes and any funds are withdrawn from their account balance (not your platform’s).
For disputes where payments were created on Express or Custom accounts, Stripe attempts to debit their balance first. If this fails, your platform is ultimately liable for the disputed amount and associated fee. If the connected account turns out to be fraudulent, it’s unlikely Stripe’s attempt to debit the card issuer account will be successful and the required amount and fee is then deducted from your account balance.
For disputes where payments were created on your platform using destination charges or separate charges and transfers with or without on_behalf_of
, your account balance is automatically debited for the disputed amount and fee. When this happens, your platform can attempt to recover funds from the connected account by reversing the transfer either through the Dashboard or by creating a transfer reversal.
If there is a negative balance on the connected account, Stripe attempts to debit its card issuer account only if debit_negative_balances
is set to true
.
For more details, see Disputes and fraud and Dispute categories.