Transaction fees refer to the costs you incur on a transaction in your platform, that are not known at the time of payment. They are calculated by Adyen after we receive the /payments or /sessions request.
By default, these fees are deducted from your liable balance account. However, you can also book them directly your user. This is useful if you want to pass on the transaction fees, instead of settling this later by transferring funds between balance accounts. You can charge the following fees directly to your user:
- Scheme Fees
- Adyen's Markup
- Adyen's Commission
Processing fees and discounts due to tiered pricing structures cannot be booked directly to the user’s balance account since these are aggregated amounts (inclusive of refused and cancelled transactions) and cannot be allocated to individual payments.
Book the fees to your user
|account||The unique identifier of the balance account from which all of the transaction fees must be deducted. You cannot split these fees between multiple balance accounts.|
|reference||Your reference for the fees to help you reconcile your balances later.|
|description||Your description for the fees to help you reconcile your balances later.|
|type||The type of split. Set this to PaymentFee.|
We recommend to always include a split item for the transaction fees in your payment or capture request, even if you book the fees against your liable balance account. That way, you can reconcile the fees per transaction using the Balance Platform Accounting Report.
For example, a split payment of USD 400.00 can be split into 3 parts:
- USD 396.00 is the sale amount (booked to the user’s balance account: BA00000000000000000000001)
- USD 4.00 is your platform’s commission (booked to your liable balance account).
- The transaction fees are booked against the user's balance account (BA00000000000000000000001). This will be deducted from the sale amount.
The transaction fees are calculated automatically, so even if you provide an
amount for this split item, it will be disregarded. Once the calculations are done, an an internal transfer request is triggered to deduct these fees from the specified balance account. The transfer request includes the type of fee, the currency and the amount charged. You can find a breakdown of the fees on the Payment details page of the transaction in the Customer Area, and in the Balance Platform Accounting Report.
Book transaction fees separately
This feature is in pilot phase. Reach out to your Adyen contact to enable it for your platform.
Transaction fee types
You can book different types of transaction fees to different balance accounts in your platform. Depending on whether you want to aggregate fees or book individual fee types to specific balance accounts, you can include additional split items with a different
type in your request.
|PaymentFee||Books the aggregated amount of all transaction fees to the specified balance account.|
|AcquiringFees||Books the aggregated amount of the Interchange and Scheme fees to the specified balance account.|
|Interchange||Books the Interchange fees to the specified balance account.|
|SchemeFee||Books the Scheme fees to the specified balance account.|
|AdyenFees||Books the aggregated amount of Adyen's Commission and Markup to the specified balance account.|
|AdyenCommission||Books Adyen's Commission to the specified balance account.|
|AdyenMarkup||Books Adyen's Markup to the specified balance account.|
The following diagram shows how the transaction fee types relate to each other.
If you send a payment request with multiple split items for different transaction fee types, they are processed based on the granularity of the fee type. The booking instructions sent for more granular fee types override the instructions for the aggregated fees.
|PaymentFee||If another fee type is sent in the request as well, it overrides part of the instructions sent for PaymentFee: that specific fee type is booked to another balance account, while the remaining fee types are booked to the balance account specified for PaymentFee.|
|AcquiringFees||Overrides part of the instructions sent for the PaymentFee split type, booking the Interchange and Scheme fees to another balance account.|
|Interchange||Overrides part of the instructions sent for the PaymentFee or AcquiringFees split types, booking the Interchange to another balance account.|
|SchemeFee||Overrides part of the instructions sent for the PaymentFee or AcquiringFees split types, booking the Scheme fees to another balance account.|
|AdyenFees||Overrides part of the instructions sent for the PaymentFee split type, booking Adyen's Commission and Markup to another balance account.|
|AdyenCommission||Overrides part of the instructions sent for the PaymentFee or AdyenFees split type, booking Adyen's Commission to another balance account.|
|AdyenMarkup||Overrides part of the instructions sent for the PaymentFee or AdyenFees split type, booking Adyen's Markup to another balance account.|
For example, you can include two split items for transaction fees in your payment request: one with
type PaymentFee booked to your user's balance account, and another with
type AdyenMarkup booked to your platform's liable balance account.
If only the PaymentFee were specified in the request, all transaction fees would be booked to the same balance account, because PaymentFee aggregates all fee types, including the Markup. However, because AdyenMarkup is also sent in the request, and it's on a more granular level than PaymentFee, AdyenMarkup overrides PaymentFee for booking the Markup. This means that the Interchange, Scheme fee, and Adyen's Commission are booked to BA00000000000000000000001, while the Markup is booked to BA00000000000000000LIABLE.
Example: Split a payment with transaction fees
The example shows:
- A split payment request in which the transaction fees are booked to different balance accounts.
- The API response for the successful payment.
In this example, you send a payment request for EUR 400.00 split four ways:
- EUR 396.00 is booked to your user's balance account as payment for the goods or services rendered.
- EUR 4.00 is booked to your liable balance account as your platform's commission.
- The Interchange and Scheme fees are booked to your user's balance account.
- Adyen's Commission and Markup are booked to your liable balance account.
In the response, note that your
reference from the request is returned as the
merchantReference. You need this information for reconciliation.
Once the acquiring fees are calculated, Adyen sends a balancePlatform.transfer.created webhook with
directionoutgoing, to announce that the acquiring fees will be deducted from your user's balance account. This is the aggregated amount of the interchange and scheme fees.
When the transfer request for the acquiring fees is authorised, Adyen sends a balancePlatform.transfer.updated webhook with
When the funds are deducted from your user's balance account, Adyen sends a balancePlatform.transfer.updated webhook with
statuscaptured and the
Reports and reconciliation
In the Balance Platform Accounting Report, all transaction fee type groups (PaymentFee, AcquiringFees, AdyenFees) have their own rows. In the Amount column on these fee types, we show the aggregated amount of the fees contained in that specific group. For example, the row for all acquiring fees contains the sum of the interchange and scheme fee incurred by the transaction. However, the transaction fee types are also displayed separately, on the highest level, in the four Platform Payment columns (Interchange, Scheme Fee, Markup, Commission).