# Transactionfees

## Surcharging fees

As per January 1st 2018 the rules regarding surcharging has been changed. These rules have been changed:

- PSD2 directive - valid from January 1st 2018
- Law regarding payments - als valid from January 1st 2018 (DK)

The change is that per January 1st 2018 it is no longer legal to surcharge fees on payments from consumer cards - if they are issued by banks/card issuers within the EU. This law applies for both debit and creditcards.

Consumer cards = card issued to a private consumer

Therefor we have updated the **autofee** function. Now autofee can differentiate between consumer and private cards. This means that you can now activate autofee, then we will add the fee if the card is either a corporate card or a consumer card that is issued outside the EU.

### Activating autofee

There are 2 ways to activate **autofee**, it can be doneeither in the QuickPay manager or in your shops admin panel.

In the QuickPay Manager, log in and navigate to **Settings > Integration** and activate the autofee button

In your shopsystem, login to your administration panel and navigate to where you can configure the QuickPay module/plugin. Here you will find the possibility to activate autofee.

It is only necessary to activate it one of the possible places.

### Formal demands when surchargin transaction fees

If surcharging the fee, there are som simple rules that must be obeyed:

-Your terms must clearly state that the cardholder pays the transactionfee.

- It is not allowed to charge a higher fee than the fee the acquirer charges you. In the paymentprocess, the transaction fee must clearly be shown as a seperate post before the payment window and in the payment window. QuickPay’s API can be used calculate the exact fee for the different cards and amount. This will demand some coding on your behalf.

Transactionfees are set in the QuickPay manager under Settings -> Acquirers -> Select acquirer -> Fees

(Click to enlarge)

(Click to enlarge)

The fees can be set for each payment method for each acquirer.

- “n” being the transaction amount
- Amount, units, amount is always in the smallest unit in the currency in question(in example EUR has cent as the smallest unit)

The fee is calculated using formulas. An example:

Every formula is made from a “conditional expression”. ie

```
n < 5000 => 100
```

If the transaction amount, n, is under 5000 units (in EUR, 5000 cent = 50 EUR), the fee is 100 (in EUR, 100 cent = 1 EUR)

Next step is to add

```
n < 5000 => 100 || => 200
```

The two vertical line means that if the statement in front is not valid(if the amount is bigger than 5000 units).

In this case, if the amount is below 5000 units the fee is 100 units, else the fee is 200 units.

Often the fee is a percentage of the transaction amount. This is can be done as such:

```
n < 5000 => n * 0.02 || => n * 0.01
```

Which means that if the amount is below 5000 units the fee is 2%, else the fee is 1% of the transaction amount.

If you want a fixed fee, it is done like so:

```
=>100
```

Then the fee will always be 100 units, regardless of the amount. In the same way if you wish set the fee for a given card to zero you set it to =>0

Another example is:

```
n * 0.0275 > 185 => n * 0.0275 || => 185
```

Which translates to:

If 2.75% of the transaction amount (n * 0.0275) is more than 185 units, the fee should be 2.75% of the transaction amount. Otherwise the fee should be 185.

Another way to describe the formula is that the fee is 2.75% of the transaction amount, with a minimum of 185 units.

## Add VAT to the fee

Including VAT in the payment fee is unfortunately not as easy, as adding 25% (The Danish VAT is 25%) to the calculated fee. As only the final amount is sent to the acquirer, the payment fee will be calculated on amount including VAT.

This ‘infinite’ loop can luckily be shortened down to a more simple formula, which in essence means that charge 33,333….% instead.

In example

```
n < 5000 => 70 || => 145 + n * 0.01
```

You add 33,33%, which means we need to multiply the fee by 4/3, equivalent to 1,3333

Which means

```
n < 5000 => 70*(4/3) || => 145 + n*0.01*(4/3)
```

Which gives

```
n < 5000 => 93.33 || => 145 + n*0.0133
```

** Contact QuickPay Support **

Need help?