Checkout icon

Surcharge

Pass on the scheme fee to customers as a surcharge to their payments.

Payment brands, such as card schemes and debit network providers, charge a fee for accepting payments on their payment network. Usually, businesses include the costs for payment fees in the prices they charge. But in some countries/regions it is common to pass on these costs as a surcharge when the customer makes a payment.

Requirements

Requirement Description
Integration type Make sure that you have an API only online payments integration that can accept card payments with either:
API credential roles You need an API credential with an API key and the Checkout webservice role.
Webhooks Subscribe to Standard webhooks.
Limitations Note the following:
  • The surcharge feature is in pilot, and restrictions may apply. Reach out to your Adyen contact to be part of the pilot.
  • It is not possible to apply surcharges to authorization adjustments or overcaptures, because the surcharge amount cannot be higher than the surcharge amount that was shown to the customer at the moment of purchase.
Setup steps Before you begin:
  • Make sure you comply with the general and regional compliance requirements mentioned in our Surcharge compliance guide. We also recommend to consult your own legal advisor on compliance with regulatory requirements, and review the scheme rules for the latest information.

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 apply surcharges correctly.

For more information about requirements, see our Surcharge compliance guide.

How it works

When your shopper proceeds to pay:

  1. Collect the shopper's card details on your checkout page.
  2. From your server, make a /cardDetails request using the shopper's card details, to get the information that helps to make a decision about the surcharge.
  3. Implement logic to decide if a surcharge is allowed, and to calculate the surcharge amount, using the data from the /cardDetails response.
  4. Display the surcharge amount on your checkout page.
  5. When the shopper proceeds to pay, from your server, make a /payments request that includes the surcharge amount.

Get card details

Use the shopper's raw or encrypted card number to make an API request that retrieves the details of the card that helps to determine whether you can apply surcharge to a payment.

  1. In your payment form, collect the card number of the shopper with either of the following:

  2. From your server, make a /cardDetails request, including:

    Parameter Description
    cardNumber If you accept card payments using raw card data, pass this field.
    A minimum of the first eight digits of the card number. We recommend to pass the full card number for the best result.
    You must be fully PCI compliant to collect raw card data.
    encryptedCardNumber If you accept card payments using our Custom Card Component with encrypted card data, pass this field.
    The encrypted card number you get in the state.data when the Component calls the onSubmit event.
    merchantAccount The name of your merchant account.
  3. In the response, note the following data to:

    • Determine whether a surcharge is applicable for a payment.
    • The amount of surcharge that you can apply.
    Response parameter Description
    brands.type The name of the card brand.
    fundingSource The funding source of the card, for example DEBIT, CREDIT, or PREPAID.
    isCardCommercial Indicates if this is a commercial card or a consumer card. When true, it is a commercial card. When false, it is a consumer card.
    issuingCountryCode The two-letter country code of the country where the card was issued.
  4. Use the data from the response to build your logic that determines whether you can apply surcharge on a payment with this card, and the surcharge amount. Refer to our Surcharge compliance guide when determining to which transactions you can apply a surcharge.

Make a payment including the surcharge

After you calculate the surcharge amount, disclose the surcharge amount to your shopper and include the surcharge in your payment request.

  1. Make a /payments request with your API only with raw card data integration, or with your API only with encrypted card data integration.
  2. In your request include a surcharge object, that specifies the value of the surcharge you apply to the transaction.
  3. Calculate the value you need to pass in the amount.value object in your /payments request by adding the surcharge amount to the original transaction amount.

    For transactions where you apply a surcharge, when you make a capture, or refund request, pass the full amount that includes the surcharge amount.

    The /payments response contains:

    • pspReference: Our unique identifier for the transaction.
    • resultCode: Use this to present the payment result to your shopper.
    • merchantReference: The reference from the /payments request.
    • additionalData: Additional information about the transaction. You can optionally enable receiving the surcharge amount in additional data.

Receive the surcharge in additional data

To receive the amount of surcharge you apply to a transaction in the additionalData object of the /payments response, or in the AUTHORISATION webhook:

  1. In your Customer Area, go to Developers > Additional data.
  2. Select Surcharge amount.
  3. Select Save configuration.

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)

Test and go live

Before going live with your integration, use our test card numbers to test that you make a successful payment that includes a surcharge.

See also