Using Management API settings, you can configure surcharge rules for your Adyen company or merchant account, store, or individual terminals. Your rules need to take into account all applicable compliance requirements and aspects such as payment method (card brand), funding source, issuing country, and currency.
Based on the rules you configured, surcharges are then automatically calculated and applied to your in-person payments. In your payment requests, you can use split instructions to define how to book the surcharge amount.
Depending on your use case, you can combine configuration-based surcharge with dynamic surcharge.
Requirements
In addition to the general surcharge requirements, take into account the following information.
| Requirement | Description |
|---|---|
| Integration type | Configuration-based surcharge is supported with:
|
| API credentials | You must have an API credential with an API key and the following roles:
|
| Webhooks | It is recommended to subscribe to Standard webhooks and enable receiving the surcharge amount in AUTHORISATION webhook messages. |
| Hardware | Configuration-based surcharge is not supported with SFO1 terminals or with NYC1 card readers (in a Mobile solution). |
| Limitations | Note the following:
|
| Setup steps | For surcharges on Tap to Pay transactions, ask our Support Team to enable single tap. |
How it works
After the surcharge amounts and/or percentages are configured:
-
You make a payment request like you normally do. There are no special parameters required to trigger the surcharge.
-
The payment terminal or mobile device shows a screen with the purchase amount and instructs your user's customer to present their card.
-
Based on the card that the customer presents, the terminal or Mobile SDK calculates the surcharge using the surcharge amounts and/or percentages you configured.
-
Depending on your configuration and solution, the surcharge confirmation screen appears. This enables your user's customer to accept the surcharge, or cancel the transaction.
In a Mobile solution or if you choose to skip the confirmation screen, you must provide another form of disclosure.
-
If your user's customer accepts the surcharge, the payment is processed and the payment response shows the surcharge amount in the
TotalFeesAmountfield.
Configure surcharges
The payment acceptance fee charged to your user depends on the payment method brand (scheme), funding source (credit or debit), currency, and the country/region that issued the payment method (domestic or international). Therefore, the surcharge that your user passes on to the customer must be specific for the combination of brand, funding source, currency, and country/region.
The surcharge can be a fixed amount for each transaction, a percentage of the sum of the purchase amount and the tip, or both a fixed amount and a percentage. You can configure the surcharge logic for payments based on the agreements you have with your users.
In addition, you can:
- Specify a maximum surcharge amount.
- Indicate if the surcharge should only be applied if the payment method is a commercial/business card. This is important in countries/regions where surcharges on consumer cards are not allowed.
- Indicate if the surcharge should not be applied to gratuities (tips). This is important in countries/regions where it is prohibited to apply charges to tips.
- Indicate if the surcharge confirmation screen should be shown. If you hide this screen, regulations require you to provide another form of surcharge disclosure.
To configure surcharges:
-
Check the current surcharge configuration (if any) by making a GET request to the
/terminalSettingsendpoint for the company account, merchant account, store or terminal, and checking thesurchargeobject. -
Create an overview of all surcharges that you want to apply. For example:
Brand Only commercial cards Funding source Country/ region Currency Percentage Amount Max. amount eftpos false Debit AUD (none) AUD 0.10 (none) Mastercard false Credit AUD 0.58 % AUD 1 (none) Mastercard false Debit AUD 0.58 % (none) AUD 10 Visa false Credit or Debit AU, NZ AUD 0.63 % (none) (none) Visa false Credit or Debit AUD 1.63 % (none) (none) Visa true Credit or Debit NL EUR 1.63 % (none) (none) Specifying a country/region applies the surcharge settings only to payment methods issued in that country/region. If not specified, the surcharge applies to all payment methods that meet the rest of the conditions.
-
Make a PATCH request to the
/terminalSettingsendpoint for the company account, merchant account, store or terminal.
In the request body, specify a surcharge object with the following properties:Parameter Data type Description askConfirmation Boolean Indicates whether to show (true) or hide (false) the surcharge confirmation screen on the payment terminal. excludeGratuityFromSurcharge Boolean Indicates whether to apply surcharges only to the purchase amount (true) or to the total of purchase amount and tip amount (false). Set this parameter to true if your country/region prohibits deducting charges from the tips that customers leave for the employees. configurations Array[Object] Array of payment methods for which to apply surcharges. Each payment method is an array item that includes details about how to apply the surcharge. The order of array items inside theconfigurationsarray impacts the order of execution. The condition that is met first is executed without checking the rest of the configuration.For each array item in the configurations object, specify:
Parameter Required Description brand
A payment method supported for Management API, for example eftpos_australiaormc.currencies
An object with: currencyCode: (required) the three-character ISO currency code.percentage: surcharge percentage per transaction up to two decimal places. For example, 1% or 2.27%.amount: surcharge amount per transaction, in minor units.maxAmount: the maximum surcharge amount per transaction, in minor units.
This object must contain thecurrencyCodeand apercentageor anamount(or both).sourcesCan be: Credit or Debit. If not specified, the currenciessettings apply to all possible funding sources for thebrand.countryThe country/region of the issuer, in two-letter ISO 3166-1 alpha-2 country code format. If used, the surcharge settings only apply if the payment method was issued in that country/region. commercialSet to true to indicate that the surcharge should be applied only in case of a commercial/business card. If not specified, the default value false is used. This setting is important in countries/regions where a surcharge is not allowed for consumer cards. This check is not supported on mobile devices used in a Mobile solution. On payment terminals this check is not supported when the internet connection is down.The response returns the surcharge settings as well as all other terminal settings at the level where you made the request.
-
(Optional) Ask our Support Team to configure single tap. When this feature is enabled, the customer doesn't need to present their contactless card again after the terminal has calculated the total amount.
When accepting payments with surcharges using Tap to Pay on a mobile device, only the single tap flow is available. Ask our Support Team to configure single tap.
Book the surcharge to your user
To ensure the automatically calculated surcharge is booked to your user's balance account
-
When you gather the split instructions for the payment, add a split item for the surcharge:
- Increase the
split.nrOfItemsby one, to accommodate the surcharge split item you are adding. -
In the split item for the surcharge, specify:
Key Description split.item[ITEM_NUMBER].typeThe type of split. Set this to Surcharge. split.item[ITEM_NUMBER].accountThe account that will receive the surcharge. This is the balanceAccountIDof one of your user's balance accounts.You cannot split the surcharge between multiple balance accounts.split.item[ITEM_NUMBER].referenceYour reference for the surcharge, reflected in the Balance Platform Accounting Report. split.item[ITEM_NUMBER].descriptionYour description of the surcharge, reflected in the Balance Platform Accounting Report.
Because the surcharge amount is only calculated after the customer presents their card, you do not need to include a surcharge amount in the
split.totalAmountfield or add asplit.item[ITEM_NUMBER].amountfield for the surcharge. - Increase the
-
Format the split data in one of the following ways:
- Option 1: as a string of form-encoded key-value pairs (using & as a separator).
- Option 2: as a JSON object converted to a Base64-encoded string.
As an example, we use a payment of USD 626.00 that is split into:
- USD 600.00 to be booked to your user's first balance account as the sale amount.
- USD 20.00 to be booked to your liable account as your platform's commission.
- The payment fee to be booked to your user's first balance account. This will be deducted from the sale amount.
- USD 6.00 to be booked to your user's first balance account as the surcharge.
In this case, the
split.nrOfItemsis 4 and thesplit.totalAmountis 62000 because the amounts for the payment fee and the surcharge are not known when sending the request. -
Make a Terminal API payment request, passing the formatted string of split instructions in the
SaleToAcquirerDatafield of the PaymentRequest object. -
In the PaymentResponse note the following:
POIData.POITransactionID.TransactionID: The transaction identifier in the format tenderReference.pspReference. Use the PSP reference to keep track of the payment.PaymentResult.AmountsResp:TotalFeesAmount: The surcharge amount.AuthorizedAmount: The total authorized amount, consisting of the original amount plus the surcharge amount.
-
Response.AdditionalResponse:posAuthAmountValue: The total authorized amount in minor units.-
surchargeAmount: The surcharge amount in minor units.
Opting out for MOTO and MKE
With terminal software version v1.117 and later, the surcharge configuration that you set up also applies to Mail Order/Telephone Order (MOTO) and Manual Key Entry (MKE) payments.
If you have previously developed your own solution for surcharging MOTO and MKE payments, there is a risk of double surcharging: once through the surcharge configuration, and once through your own solution. To avoid this issue, you can opt out of the Adyen surcharge feature for MOTO and MKE payments. You can set this on any level: company account, merchant account, store, or individual payment terminals.
Reach out to your Adyen account manager or technical contact if you want to opt out.