Adding a transaction fee to sales

You can use the transaction fees app to charge customers, when making a purchase on your website, when they choose a particular payment gateway.

For example, you may offer customers the choice of paying through a traditional payment gateway like Stripe or WorldPay, or alternatively through PayPal. PayPal charge higher fees than most payment gateways so you may choose to levy a surcharge on PayPal payments of, for example, 2%.

Once you've installed the app in your account navigate to the payment gateways page in your account by selecting 'checkout' from the left menu and then 'payment gateway'.

Beneath each payment gateway listed as active we'll display a 'transaction charge' field.

In here you should enter the percentage fee that you'd like to charge when the customer selects this payment gateway. For example if you enter 2% into this box and a customer's order totals £100 - they'll be charged an additional £2 as a transaction fee.

You can leave the field blank, or at 0%, to charge no fee.


Adding a message to your checkout page

The transaction fees app will not automatically tell your customer that there is an additional fee for using a particular payment gateway. In order to do so you'll need to add the message to your theme's files. This can be done by editing the checkout_address.twig file using the page editor.

An example of such a message is shown below.

If you'd like to tell the customer how much the transaction fee will be, then you'll need to add some twig code to the message to calculate the amount.

Use the code shown below...

{{ currency_value(order.total * 0.02) }}

This will output the £ amount of the transaction charge, there is no need to include the £ symbol as the currency_value function will output this for you automatically.


Order confirmation email

The order confirmation email sent to your customers will not automatically include the transaction charge as a separate line item, so you may like to add this to the email code to display this separately to the customer.

This can be achieved by using the variable order.payment_gateway_fee. Use the format_price function to output with the currency symbol, i.e. {{ format_price(order.payment_gateway_fee) }}.

To add this you'll need to edit the content of your website's emails by following the instructions here.