Payment brands, such as card schemes and debit network providers, charge a fee for accepting payments on their payment network, called a payment acceptance fee. As a platform, you must have agreements in place with your users about how the payment acceptance fee is charged for each payment.
Your users can pass on these costs to their customers by adding a surcharge to their payments.
Requirements
Before you begin, take into account the following requirements, limitations, and preparations.
Requirement | Description |
---|---|
Integration type | Make sure you have an existing Terminal API integration with payment terminals or an Android or iOS Tap to Pay Mobile solution. When using payment terminals, note the terminal software version:
|
API credentials | You must have an API credential with an API key and the following roles:
If you have a Terminal API integration with cloud-based communications, you can use the existing API key that you use for Terminal API requests. |
Hardware | It is not possible to configure surcharges for NYC1 card readers in a Mobile solution or SFO1 terminals. |
Limitations | Note the following:
|
Setup steps | Before you begin:
|
Compliance
Surcharges must comply with general requirements. For example, you need to provide signage to inform customers about the payment methods that are subject to surcharges, and the related costs such as the surcharge percentage.
Surcharges must also comply with regional requirements. For example, in the European Economic Area (EEA) surcharges are not allowed on payments made with a consumer card that was issued in the EEA. And in the US surcharges are not allowed on payments made with a debit card.
The Adyen surcharge feature does not enforce compliance. It is your responsibility to use the correct settings when you configure surcharges.
For more information about requirements, see our Surcharge compliance guide.
Compliant receipts
The Adyen-generated receipt data that you receive in the Terminal API response include the surcharge amount, both in the merchant receipt and in the shopper receipt. We strongly recommend using the Adyen-generated receipt data without alterations.
If you customize receipts, it is your responsibility to ensure that all scheme requirements are met, including requirements for disclosing the surcharge amount on the receipt.
If you use a standalone terminal, the built-in printer automatically prints a compliant receipt.
Pilot in CA, EU, and US
Adyen is running a pilot to extend support for the surcharge feature to Canada, Europe, and the United States. Our systems, including Management API, enable you to configure surcharges specifically for these regions.
The pilot is open for more businesses. If you are interested in joining the pilot, contact your Adyen account manager.
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 terminal or mobile device shows a screen with the purchase amount and instructs the 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.
-
If configured, a confirmation screen appears with the total amount of the payment, the surcharge amount, and the card scheme that the extra fee is charged for.
In a Tap to Pay integration, the mobile device does not show a confirmation screen. The surcharge is applied automatically.
-
On the terminal or mobile device, the customer selects the Confirm
key to accept, and the payment is processed. The payment response shows the surcharge amount in the
TotalFeesAmount
field.If the customer doesn't accept the surcharge and selects the Cancel
key, the whole transaction is cancelled.
Skipping the confirmation screen
It takes a bit of time for the customer to review the confirmation screen with the surcharge details. To avoid this delay in the payment flow, you can configure a setting to hide this screen. For Tap to Pay transactions that include surcharges, the confirmation screen doesn't show.
Be aware that regulations require you to inform the customer that a surcharge is added to the payment amount.
The flow will then be:
- You make a payment request like you normally do.
- The customer completes the payment.
- Based on the card that the customer presents, the terminal calculates the surcharge and adds it to the payment amount during the authorization.
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.
To configure surcharges:
-
Check the current surcharge configuration (if any) by making a GET request to the
/terminalSettings
endpoint for the company account, merchant account, store or terminal, and checking thesurcharge
object. -
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
/terminalSettings
endpoint 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 theconfigurations
array 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_australia
ormc
.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 thecurrencyCode
and apercentage
or anamount
(or both).sources
Can be: Credit or Debit. If not specified, the currencies
settings apply to all possible funding sources for thebrand
.country
The country/region of the issuer. If used, the surcharge settings only apply if the payment method was issued in that country/region. commercial
Set 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
A surcharge is a type of transaction fee imposed by the card scheme, paid by your user's customer. Similar to the other transaction fees, you can use split instructions to define how to book the surcharge.
By default, the surcharge amount on a payment is booked to your liable balance account. However, you can book this amount directly to your user's balance account.
-
When splitting a payment, add a split item for the surcharge.
When adding a new split item, always include this in the total number of split items specified in the
split.nrOfItems
field. -
For the split item of the surcharge, specify:
Key Description Example split.item[ITEM_NUMBER].type
The type of split. Set this to Surcharge. split.item5.type=Surcharge split.item[ITEM_NUMBER].account
Account that will receive the surcharge. This is the balanceAccountID
of one of your user's balance accounts.You cannot split the surcharge between multiple balance accounts.split.item5.account=BA00000000000000000000001 split.item[ITEM_NUMBER].reference
Your reference for the surcharge, reflected in the Balance Platform Accounting Report. split.item5.reference=reference_surcharge split.item[ITEM_NUMBER].description
Your description for the surcharge, reflected in the Balance Platform Accounting Report. split.item5.description=description_surcharge You do not need to include the surcharge amount in the
split.totalAmount
orsplit.item[ITEM_NUMBER].amount
fields, because the surcharge amount is only calculated after the customer presents their card.For example, a payment of EUR 636.00 is split into:
- EUR 600.00 to be booked to your user's first balance account as the sale amount.
- The payment fee to be booked to your user's first balance account. This will be deducted from the sale amount.
- EUR 10.00 to be booked to your user's first balance account as the tip.
- EUR 6.00 to be booked to your user's first balance account as the surcharge.
- EUR 20.00 to be booked to your liable account as your platform's commission.
In this case, set the
split.nrOfItems
to 5 andsplit.totalAmount
to 62000 (the amounts for the tip, payment fee, and surcharge are not known when sending the payment request). -
In the
PaymentResponse
note the following:-
POIData.POITransactionID.TransactionID
: Transaction identifier for the payment. -
PaymentResult.AmountsResp
:AuthorizedAmount
: total amount of the payment (the sum of the original transaction amount, tip amount, and surcharge amount).TipAmount
: amount of the tip. If the customer didn't add a tip, this field is not included.Currency
: currency of the payment.
-
Response.Result
: Success -
Response.AdditionalResponse
: additional transaction data. Depending on the format you used in the request, you receive either a string of form-encoded key-value pairs or a Base64 string that you need to decode to get a JSON object. This includes:posadditionalamounts.originalAmountValue
: the original transaction amount in minor units.posAmountGratuityValue
: the tip amount in minor units.authorisedAmountValue
: the total authorised amount in minor units, which includes the surcharge amount.
-
Reporting
To have full visibility of the surcharge amounts that were added to payments, we strongly recommend you add an extra column Surcharge Amount to the following reports:
- Payment Accounting Report (PAR)
- Settlement Detail Report (SDR)
- Balance Platform Accounting Report (BPAR): contains extra lines with information related to surcharges.
- Balance Platform Statement Report (BPSR): contains extra lines showing the impact of the surcharges on the balance account.