# Collect application fees Monetise your marketplace by collecting application fees from transactions. As a marketplace, you’re responsible for paying Stripe fees. These include transaction fees, per-connected account fees and dispute fees. To offset these fees and ensure that you make a profit, you collect application fees from each transaction rather than transferring the full amount to your connected account. Since you handle Stripe fees, the application fee is the only fee that your connected accounts see. Stripe fees are automatically debited from your Stripe balance. To ensure your balance doesn’t go negative and you have a healthy payments margin, ensure that you charge a large enough application fee. ## Collect fees when using destination charges When a payment is processed, rather than transfer the full amount of the transaction to a connected account, your platform can decide to take a portion of the transaction amount in the form of fees. You can set fee pricing in two different ways: - Use the [platform pricing tool](https://docs.stripe.com/connect/platform-pricing-tools.md) in the Dashboard to set and test application fee pricing rules. - Set your pricing rules in-house, specifying fees directly in a [PaymentIntent](https://docs.stripe.com/api/payment_intents/object.md) using the [application_fee_amount](https://docs.stripe.com/api/payment_intents/object.md#payment_intent_object-application_fee_amount) parameter. Fees set with this method override the pricing logic specified in the Platform Pricing Tool. When creating charges with an `application_fee_amount`, the full charge amount is immediately transferred from the platform to the `transfer_data[destination]` account after the charge is captured. The `application_fee_amount` (capped at the full amount of the charge) is then transferred back to the platform. ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price_data][currency]=usd" \ -d "line_items[0][price_data][product_data][name]=T-shirt" \ -d "line_items[0][price_data][unit_amount]=1000" \ -d "line_items[0][quantity]=1" \ -d "payment_intent_data[application_fee_amount]=123" \ -d "payment_intent_data[transfer_data][destination]={{CONNECTEDACCOUNT_ID}}" \ -d mode=payment \ --data-urlencode "success_url=https://example.com/success" ``` After the application fee is collected, an [Application Fee](https://docs.stripe.com/api/application_fees/object.md) object is created. You can view a list of application fees in the [Dashboard](https://dashboard.stripe.com/connect/application_fees), with the [application fees](https://docs.stripe.com/api/application_fees/list.md), or in [Sigma](https://docs.stripe.com/stripe-data/how-sigma-works.md). You can also use the `amount` property on the application fee object for itemised fee reporting. When using an `application_fee_amount`, know that: - The `application_fee_amount` is capped at the total transaction amount. - The `application_fee_amount` is always computed in the same currency as the transaction. - The application fee *settles* (When funds are available in your Stripe balance) in the same currency as the connected account’s settlement currency. For cross-border destination charges, this might [differ from your platform’s settlement currency](https://docs.stripe.com/connect/currencies/fx-quotes-api.md#application-fees-for-destination-charges-and-converting-balances). - Your platform pays the Stripe fee after the `application_fee_amount` is transferred to your account. - No additional Stripe fees are applied to the amount. - Your platform can use built-in application fee reporting to reconcile [fees collected](https://dashboard.stripe.com/connect/application_fees). - In Stripe-hosted dashboards or components such as the [Payment details component](https://docs.stripe.com/connect/supported-embedded-components/payment-details.md), your connected account can view both the total amount and the application fee amount. ### Flow of funds with destination charges With the above code, the full charge amount (10.00 USD) is added to the connected account’s pending balance. The `application_fee_amount` (1.23 USD) is subtracted from the charge amount and is transferred to your platform. Stripe fees (0.59 USD) are subtracted from your platform account’s balance. The application fee amount minus the Stripe fees (1.23 USD - 0.59 USD = 0.64 USD) remains in your platform account’s balance. ![Flow of funds for destination charges](https://b.stripecdn.com/docs-statics-srv/assets/destination_charge_app_fee.c9ef81298155b38f986df02d0efa9167.png) The `application_fee_amount` becomes available on the platform account’s normal transfer schedule, just like funds from regular Stripe charges. ## Collect fees when using separate charges and transfers When using separate charges and transfers, you can collect fees on a charge by reducing the amount you transfer to the destination accounts. For example, consider a restaurant delivery service transaction that involves payments to the restaurant and to the driver: 1. The customer pays a 100 USD charge. 1. Stripe collects a 3.20 USD fee and adds the remaining 96.80 USD to the platform account’s pending balance. 1. The platform transfers 70 USD to the restaurant’s connected account and 20 USD to the driver’s connected account. 1. A platform fee of 6.80 USD remains in the platform account. You typically need a ledger to keep track of where to route funds, especially if you’re holding the funds for more than a short amount of time. For example, if a ticketing platform holds on to a payment and sends the funds only after a concert is over, they need to have a ledger or some other way to keep track of that logic. > #### Application fees with funds segregation > > Funds segregation is a private preview feature that allows you to debit application fees directly from allocated funds during transfer, providing clean accounting separation. Contact your Stripe account manager to request access. ### Flow of funds with separate charges and transfers ![How a charge is divided into fees for the platform account and transfers for the connected accounts](https://b.stripecdn.com/docs-statics-srv/assets/charges_transfers.c54b814c7e6f88993bf259c8a53f03e8.png) To learn about processing payments in multiple currencies with Connect, see [working with multiple currencies](https://docs.stripe.com/connect/currencies.md). ## Next steps After you configure your monetisation, you can [pay out money](https://docs.stripe.com/connect/marketplace/tasks/payout.md) to your connected accounts.