Understanding Surcharges

A surcharge is a fee assessed to credit card transactions by Merchants to their customers as an additional charge to cover specific costs associated with credit card processing.

Surcharges can cause legal complications if each requirement for compliance and registration is not met or the surcharge is not properly configured. The information provided in this guide will outline the steps to properly register and configure a surcharge (where allowed by law).

Getting Started

To begin surcharging you must follow the steps below:

  1. Notify your Relationship Manager that you would like to start a surcharge program to begin setup of the Merchant Group.

  2. The Payrix representative will enable the surcharge parameter allowing you to send the surcharge amount (required by Visa) with transactions.

    1. Note: The surcharge parameter is for reporting purposes only so it does not have any effect on how the fees should be calculated.

  3. Meet each Surcharge Program Setup Requirement.

After the surcharge function and parameter are enabled, set the surcharge collection workflow that works best with your business type. See Potential Surcharge Workflows below to view diagrams outlining other optional setups:

image-20240125-174455.png
Fee Config: Surcharge = Merchant Fees w/ Fee Scheduler
image-20240125-174515.png
Fee Config: Surcharge = Merchant Fees w/ Fee Listener

 

Tip: If you do not find a scenario that meets your needs, contact your Relationship Manager to further scope your request.

Responsibilities by Platform

Referrer Platform

Payrix Platform

Referrer Platform

Payrix Platform

  1. Calculate the surcharge amount charged to the Merchant from a percentage (3%) into an integer (300) and add the amount to the total parameter for a given surcharged transaction.

  2. Pass the fee onto the customer on behalf of the Merchant.

Collect the surcharge fee paid by the credit card customer to the Merchant, from the Merchant transaction amount, on behalf of the Referrer using our Fees system.

Surcharge Program Setup Requirements

The use of a surcharge program can result in legal complications. As a result, it’s imperative to follow each of the compliance requirements below to adhere to card brand and state/local regulations.

Compliance Requirements

  • Surcharges are only permitted on credit cards; they cannot be assessed on debit cards.

  • Surcharges cannot be assessed in states where surcharges are prohibited by law.

  • The maximum recommended surcharge amount is 3% to adhere to Visa and Mastercard restrictions.

  • There must be a separate line item for the surcharge on the checkout page and receipt.

  • Merchants must disclose their full surcharge policy on their checkout page before transaction completion.

Card Brand & Acquirer Registration Requirements

  • Visa - The surcharge parameter must be used to notify Visa of a transaction surcharge through Payrix (via backend Field 28). Values populated in authorization and clearing(Field 28), Visa considers this to be a notification of the surcharge.

  • Mastercard - Registration and notification to Mastercard at least 30 days before surcharging.

  • Discover - No registration required.

  • American Express - No registration required.

  • Acquirer Registration – Payrix will enable the surcharge parameter, sending surcharging Merchants in a given group to the acquirer.

Create a Surcharge in the Portal

  • Step 1: Click GROUPS in the left-hand navigation panel to open the Groups page.

  • Step 2: Locate the group in the table and click on any information in the table row to open the Group Profile page.

  • Step 3: Click FEES in the list of tabs on the left-hand side of the page.

  • Step 4: Click the ADD FEE button in the upper right-hand corner of the page to open the Add Fee lightbox on the page.

  • Step 5: Click the When to Trigger the Fee? drop-down menu and select Capture.

  • Step 6: Click How Much is the Fee? down and select Surcharge.

  • Step 7: Set the Amount field to 3.00 (for 3%) or less.

  • Step 8: Set the Fee Start Date as today’s date.

  • Step 9: Name the Fee using an easy-to-find naming convention. Then, click Advanced Options.

  • Step 10: Enable the surcharge as a transaction fee by clicking the Transaction Fee box.

  • Step 11: Under the Conditional Rules dropdown, select Payment Card Type is, then select Credit from the available options.

Create a Surcharge via API

1: Create the Surcharge.

Request URL & Header

POST /fees HTTP/1.1 Accept: application/json Content-Type: application/json Host: api-test.payrix.com APIKEY:{{private_api_key}}

Example Request Body:

{ "entity": "t1_ent_xxxxxxxxxxxxxxxxxxxxxxx", "forentity": "t1_ent_xxxxxxxxxxxxxxxxxxxxxxx", "org": "t1_org_xxxxxxxxxxxxxxxxxxxxxxx", "type": 1, "name": "3% Surcharge", "schedule": 7, "scheduleFactor": 1, "start": "{{CurrentDateTime}}", "um": 3, "amount": "300", "currency": "USD", "txnFee": 1 }

Add Fee Parameter

Required Value

Note

Add Fee Parameter

Required Value

Note

type

1

Fee. A Standard Fee.

schedule

7

Capture. The Fee is triggered at the time of credit card capture for a transaction.

scheduleFactor

0

No schedule factor is needed (0) as this is event-based.

um

3

Surcharge. The Fee is a percentage, specified in the amount field in basis points.

amount

300

The numerical fee amount, written in basis points to represent a percentage. (Example: 300 = 3.00%).

start

{yourStartDate}

YYYYMMDD Format.

It is recommended to use “today’s” date as the Fee Start Date to make the Fee effective immediately.

currency

USD

US Dollars.

txnFee

1

Enabled Transaction Fee

collection

1

Txn-Merchant. The total amount of all transactions per entity.

collectionFactor

0

No Collection Factor

collectionOffset

0

No Collection Offset

inactive

0

Active

frozen

0

Not Frozen

Example Response Body:

{ "id": "t1_fee_xxxxxxxxxxxxxxxxxxxxxxx", "created": "2024-01-24T17:50:38.717Z", "modified": "2024-01-24T17:50:38.717Z", "creator": "t1_log_xxxxxxxxxxxxxxxxxxxxxxx", "modifier": "t1_log_xxxxxxxxxxxxxxxxxxxxxxx", "entity": "t1_ent_xxxxxxxxxxxxxxxxxxxxxxx", "forentity": "t1_ent_xxxxxxxxxxxxxxxxxxxxxxx", "org": "t1_org_xxxxxxxxxxxxxxxxxxxxxxx", "type": "1", "name": "3% Credit Card Surcharge", "schedule": "7", "scheduleFactor": 1, "start": "{{CurrentDateTime}}", "collection": "1", "collectionFactor": "1", "collectionOffset": "1", "um": "3", "amount": "300", "currency": "USD", "txnFee": "1", "inactive": "0", "frozen": "0" }

Parameter

Type

Description

Expected Values

Parameter

Type

Description

Expected Values

id

string

The ID of the newly created Fee.

Format: t1_fee_x...

created

string

The Date and Time that the Fee was created.

Format: YYYY-MM-DDTHH:MM:SS.MS

modified

string

The Date and Time that the Fee was last modified.

Format: YYYY-MM-DDTHH:MM:SS.MS

creator

string

The Login ID for the user that created the Fee.

Format: t1_log_x...

modifier

string

The Login ID for the user that last modified the Fee.

Format: t1_log_x...

entity

string

The entity ID for the entity the Fee is being applied to.

 Format: t1_ent_x...

org

string

The Org ID for the group the Fee is being applied to.

  Format: t1_org_x...

type

integer

The type of Fee being charged to the entity.

1 - Fee. A Standard Fee.

name

string

Custom name for the Fee.

Recommended name: 3% Credit Card Surcharge

schedule

integer

The Fee trigger.

7 - Capture. The Fee triggers at the capture time of a Transaction.

scheduleFactor

string

A multiplier that you can use to adjust the schedule set in the 'schedule' field, if it is set to a duration-based trigger, such as daily, weekly, monthly, or annually.
This field is specified in basis points and its value determines how the interval is multiplied.

0

start

string

The date that the Fee will take effect.

Today’s date.

Format: YYYYMMDD

collection

integer

Applies the fee based on the volume of a resource.

1 - Txn. The total amount of all transactions..

collectionFactor

integer

A multiplier that you can use to adjust the set of data to be used in the collection calculation.
This field is specified in basis points and its value determines the period of time to be used.

1

Format: 2.00 = 2x multiplier.

collectionIncludeCurrent

 

Whether to include the current period for the colleciton calculation.

1 - Don’t inlcude

um

integer

The unit of measure for this Fee.

3 - Surcharge. The Fee is a percentage of the related event amount as a surcharge.

amount

string

 The amount of the fee by unit of measurement (um)

300 - 3% Surcharge

currency

string

The three-digit symbol for the currency that the Fee will be charged and collected in.

USD - US Dollars

txnFee

integer

Indicator to extract fee from txn supplied fee. When set, amount will correspond to the fee amount in the txn and only that amount will be extractable, anything over that amount will not be extracted.

1 - Enabled. Fee will be calculated based on transaction fee.

inactive

integer

Whether or not this fee is active.

0 - Active

frozen

integer

Whether or not this fee is temporarily frozen.

0 - Not frozen


2: Add the Credit-Only Fee Rule

Request URL & Header

Example Request Body:

Parameter

Type

Required

Descriptions

Required Value

Parameter

Type

Required

Descriptions

Required Value

fee

string

Required

The Fee ID for the Fee you want to apply the Fee Rule to.

Fee ID from Step 1 response body.

Format:t1_fee_x....

name

string

Optional

Custom name for the Fee Rule for easy identification.

Recommended name:

Credit-Only Surcharge Rule

description

string

Optional

Custom description for the Fee Rule for clarification.

Recommended description:

Only allows surcharging on credit cards.

type

string

Required

The type of rule you’ll be applying to the specified Fee.

methodType - Method type. The Fee applies based on the given payment method.

 

application

string

Required

When this Fee Rule will be applied.

both - Both. The rule should apply to the fee and to the calculation of collections.

value

string

Required

 

credit

inactive

integer

Required

Whether or not this Fee Rule is inactive.

0 - Active.

frozen

integer

Required

Whether or not this Fee Rule has been frozen.

0 - Not frozen.

Example Response Body:

Parameter

Type

Description

Expected Values

Parameter

Type

Description

Expected Values

id

string

The ID of the newly created Fee Rule.

Format: t1_frl_x...

created

string

The Date and Time that the Fee Rule was created.

Format: YYYY-MM-DDTHH:MM:SS.MS

modified

string

The Date and Time that the Fee Rule was last modified.

Format: YYYY-MM-DDTHH:MM:SS.MS

creator

string

The Login ID for the user that created the Fee Rule.

Format: t1_log_x...

modifier

string

The Login ID for the user that last modified the Fee Rule.

Format: t1_log_x...

name

string

Custom name for the Fee Rule for easy identification.

 

description

string

Custom description for the Fee Rule for clarification.

 

type

string

The type of rule you’ll be applying to the specified Fee.

methodType

Method type. The Fee applies based on the given payment method.

application

string

When this Fee Rule will be applied.

both

Both. The rule should apply to the fee and to the calculation of collections.

value

string

This field refers to either the numerical amount for type parameter selections that require an amount.

credit

Credit Card. The fee rule will only apply when the payment methodType is credit.

inactive

integer

Whether or not this Fee Rule is inactive.

0 - Active

frozen

integer

Whether or not this Fee Rule has been frozen.

0 - Not Frozen


 

Applying a Surcharge through a Transaction

After your fee and fee rule have been enabled using the Portal or API, you can apply the Surcharge using one of the following methods:

1: Separate Transaction & Surcharge Calculation: POST /txns

This process directly calculates the fee amount, ensuring the amount is 100% of the value provided in the fee parameter.

Step 1: In the fee parameter, enter the calculated surcharge amount (3% of the transaction total)

Step 2: In the total parameter, enter the original transaction total, plus the surcharge total.

  • Example: 3% Surcharge for $100 original transaction total = $103.00 total amount.

Step 3: Using the Portal, create a fee or adjust the existing surcharge fee with the following values:

Add Fee Parameter

Required Value

Note

Add Fee Parameter

Required Value

Note

When to trigger the fee?

Capture

The Fee triggers at the capture time of a Transaction.

How much is the fee?

Percentage

 

Amount

100%

100% of the amount of the value sent using the fee parameter for POST /txns.

Fomatted as 10000.

Fee Start Date

{yourStartDate}

It is recommended to use “today’s” date as the Fee Start Date to make the Fee effective immediately.

Transaction Fee

Enabled

Checkbox available under the “Advanced Options” section of the lightbox.

Example Transaction:


2: Combined Transaction & Surcharge Calculation: POST /txns

This process reverse-calculates the fee amount, ensuring that the 3% is calculated from the transaction amount alone, rather than the transaction amount + surcharge amount together.

  • Step 1: In the fee parameter, enter the calculated surcharge amount (3% of the transaction total)

  • Step 2: In the surcharge parameter, enter the calculated surcharge amount (3% of the transaction total)

  • Step 3: In the total parameter, enter the original transaction total, plus the surcharge total.

  • Step 3: Using the Portal, create a fee with the following values:

Add Fee Parameter

Required Value

Note

Add Fee Parameter

Required Value

Note

When to trigger the fee?

Capture

The Fee triggers at the capture time of a Transaction.

How much is the fee?

Surcharge

 

Amount

3%

3% of the pre-caluclated transaction amount as shown of the value sent using the fee and surcharge parameters for POST /txns.

Fomatted as 300

Fee Start Date

{yourStartDate}

It is recommended to use “today’s” date as the Fee Start Date to make the Fee effective immediately.

Transaction Fee

Enabled

Checkbox available under the “Advanced Options” section of the lightbox.

Example Transaction:

 

 

Apply a Surcharge through a PayFields Token

As PayFields does not currently offer a direct connection to the surcharge parameter available through the /txns endpoint, a workaround is to tokenize the payment method only using PayFields, then create a subsequent POST /txns API request using the new token as the payment method with the Surcharge applied.

In the following scenario, we are applying a 3% surcharge for credit card payments.

Step 1: Create your payment page through PayFields like normal, using the following parameters to create a new payment token from payment methods submitted by customers:

Step 2: When a transaction is created, PayFields are configured to automatically tokenize the payment method (see the code snippet example below) when a transaction is submitted. Locate the token value in the response data for the transaction.

For this example, we’ll use $100 as the amount for the initial transaction total.

  • Example Token: 123abc456defxxxxxxxxxxxxxxxxx

  • Example PayField Tokenization:

Step 3: Make a request to the following endpoint:

Example Request URL:

Step 4: In the response body, locate the payment method type via the method and type parameter.

  • The method parameter must be 1, 2, 3, 4, or 5.

  • The type parameter should display as credit.

Example Response:

Step 5: Once the method and type have been verified as a credit card payment, make a request to the following endpoint to create the credit card capture transaction and apply the 3% surcharge to the original transaction amount:

Example Request Body:

Result: Your PayFields payment page credit card transaction has now been properly assessed the surcharge from the tokenized credit card and the Merchant has been assessed the surcharge through their Referrer.

Debit Card Handling

You can handle this compliance rule by querying our /tokens endpoint to determine if the card is credit or debit. If it is debit then you can handle this in a few ways:


Comparing Surcharges, Convenience Fees, and Service Fees

As the following fee types are similar in setup and collection process, it’s important to understand the differences between them to avoid legal complications and possible chargebacks.

Surcharges

Surcharges, or Surcharge Fees, as mentioned earlier, are specifically designed for credit card-only transactions at all times. These types of fees are inclusive of all credit card transactions under a Merchant or Group and can be applied consistently as long as card brand and legal requirements are met.

Convenience Fees

Convenience Fees are fee charges passed on to customers for the ability to pay for a product or service using an alternative payment method that is not standard for a business.

Generally, a convenience fee cannot be implemented in in-person settings (such as physical card terminals) – typically this refers to Internet and over-the-phone transactions.

Service Fees

Service Fees are actually a type of convenience fee that comes with specific rules and regulations resulting from certain limited qualifying MCCs, as opposed to a general convenience fee mentioned above where the fee can be assessed generally for alternative payment method usage. For comparison, we will classify Service Fees under Convenience Fees.

Conclusion

While both Convenience Fees and Surcharges are similar in their setup and collection processes, there are important legal and compliance distinctions as well as different requirements for when each fee type can be applied.

Convenience Fees

  • Allowed only on Card-Not-Present transactions.

  • Applies to alternative payment methods from the Merchant’s standard payment options.

  • The fee is a flat or fixed amount.

  • Applicable to credit and signature debit.

  • Disclosed before the completion of the transaction and the cardholder is allowed to cancel.

  • Included as part of the total sale.

  • Allowed on credit and signature debit.

Surcharges

  • Allowed on Card-Not-Present and Card-Present transactions.

  • Applicable only to credit cards, not debit.

  • The fee is a percentage of the sale.

  • Cardholder Disclosure of Surcharge policy required.

  • Disclosed before the completion of the transaction and the cardholder is allowed to cancel.

  • Included as part of the total sale.

  • 30 days notice must be provided to the Mastercard card brand network, Payrix and/or the acquiring bank before starting to surcharge.

  • Merchants must complete registration directly with Mastercard.

  • Surcharges are prohibited in some states.

 

References