Skip to content

Surcharge

What Is a Payer-Paid Surcharge?

A payer-paid surcharge is an additional fee added to the total amount the customer pays at checkout. This allows the merchant to recover processing or service costs without reducing the original transaction value. The surcharge is calculated on top of the purchase amount and must be clearly presented to the customer before payment is completed.

Displaying the Surcharge Amount

All merchants are required to clearly display the surcharge amount to the customer before payment is completed. This ensures transparency and compliance with regulatory and card scheme requirements.

There are two supported methods for retrieving the surcharge:

  • Secure Panel v1.1.0+: Returns the surcharge details via a callback, which can then be used to display the surcharge in your UI.
  • Calculate a Surcharge API endpoint: Allows you to retrieve the surcharge amount programmatically based on the transaction details.

If a transaction amount isn’t provided, the surcharge will be returned as a percentage based on the card type (e.g., Visa, Mastercard, AMEX). This allows you to display an estimated fee even before the final amount is known.

Calculating the Payer-Paid Surcharge

When a transaction is processed, the surcharge is calculated based on the original transaction amount and the configured surcharge rate. The surcharge is added on top of the purchase amount, and the total amount charged to the customer.

In the Process a Transaction Request

When calling the Process a Transaction endpoint:

  • The purchase amount is submitted as part of the request.
  • The system automatically calculates the surcharge based on the configured rate.
  • The response will include original transaction amount, surcharge amount and the total amount charged.

Refunding a Transaction with Surcharge

Both full and partial refunds are supported, including the ability to refund the surcharge amount.

To issue a full refund, provide the total amount originally charged (which includes the surcharge) when calling the Refund a Transaction endpoint.

For partial refunds, any portion of the original amount can be specified. The API does not automatically calculate or allocate the surcharge portion, so the refund amount must be explicitly defined based on the intended outcome.