The information on this page also applies if you process in-person payments.
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 payment 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:
- Interchange
- Scheme Fees
- Adyen's Markup
- Adyen's Commission
There are other fees due to Adyen that cannot be passed on to your users in payment requests:
- Processing costs: These fees are aggregated and also applicable for refused and cancelled payments. Therefore, they cannot be allocated to individual payments. This also applies to other aggregated fees, such as 3DS enrollment costs.
- Tiered pricing: Any discounts that are derived from tiered pricing structures cannot be allocated to individual payments.
To make reconciliation easier, we recommend to always include split instructions for the transaction fees in your payment or capture request, even if you book the fees against your liable balance account. If you do not include booking instructions for any of the transaction fee types in your payment request, Adyen automatically updates the request to include the PaymentFee split type, booking all transaction fees to your platform's liable balance account.
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.
Type | Aggregated fees | Description |
---|---|---|
AdyenCommission | The transaction fee due to Adyen under blended rates. | |
AdyenMarkup | The transaction fee due to Adyen under Interchange ++ pricing. | |
Interchange | The fee paid to the issuer for each payment made with the card network. | |
SchemeFee | The fee paid to the card scheme for using their network. | |
AdyenFees | The aggregated amount of Adyen's commission and markup fees. | |
AcquiringFees | The aggregated amount of the interchange and scheme fees. | |
PaymentFee | The aggregated amount of all transaction fees. |
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.
Type | Behaviour |
---|---|
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:
type
AdyenMarkup: booking Adyen's Markup to your platform's liable balance accounttype
PaymentFee: booking all other transaction fees (interchange, scheme fees, and Adyen's commission) to your user's 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 is 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.
Book transaction fees to specific balance accounts
The following example shows:
- A split payment request, in which the transaction fees are booked to different balance accounts.
- The API response for the successful payment.
The subsequent sections discuss the webhooks you receive for the transaction fees, and how these appear in your reports based on this payment request example.
Payment request
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.
Payment response
In the response, note that your reference
from the request is returned as the merchantReference
. You need this information for reconciliation.
Webhooks
After the transaction fees are calculated, you receive balancePlatform.transfer.created and balancePlatform.transfer.updated webhooks for each split type you sent in the payment request.
The following tabs show the webhooks you receive after sending the payment request in the example above.
Reports and reconciliation
In the Balance Platform Accounting Report, all aggregated transaction fee types (PaymentFee, AcquiringFees, AdyenFees) have their own rows. For these fee types, we show the aggregated amount of the fees in the Amount column. 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 most granular level, in the four Platform Payment columns (Interchange, Scheme Fee, Markup, Commission).
If you do not send split instructions for any transaction fee type in your payment or capture request, Adyen automatically adds the type
parameter with the PaymentFee value to the request, booking all transaction fees to your platform's liable balance account. This is also reflected in your report.
Here you can download a sample report that would be generated based on the example payment request above.