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.
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.
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.
Separate charges and transfers are supported only if both your platform and the connected account are in the same region. For example, both in Europe or both in the U.S.
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.
- It’s unknown at charge time which connected account should receive the funds. For example, a janitorial service could process a payment immediately but not know which janitor will be doing the cleaning.
- 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.
- A transfer could be for a greater amount than the associated payment. For example, a platform provides a discount to the customer but still pays their 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 there are enough funds available to cover the transfer amount.
With Destination and Separate Charges and Transfers, you can use the on_behalf_of
parameter. The on_behalf_of
parameter is the ID of the connected account to use as the business of record for the payment. When it is set, 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.
- 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).
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 refund object is set to a status of pending . When enough funds become available in your platform’s balance, Stripe automatically processes the refunds with a pending status and updates their status to successful . |
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.