Surcharging

Add flexibility at checkout by enabling surcharges on eligible credit card transactions.

A surcharge is an additional fee added to certain card payments to partially or fully offset the costs of card processing (interchange, scheme fees, acquiring costs). Instead of embedding all card costs into product prices, some merchants choose to apply surcharges to cards that incur higher costs (e.g. credit cards).

Key points:

  • The ability to surcharge only applies to credit card purchases and only under certain conditions. United States merchants cannot surcharge debit card or prepaid card purchases.
  • Local, regional, and card-scheme rules govern where surcharging is allowed, how much can be charged, and how it must be disclosed.
  • Merchants must comply with applicable state or federal laws which may prohibit or restrict surcharging of credit transactions.
  • Surcharge is added to the original transaction amount; any captures, refunds, or adjustments also must consider the surcharge.
  • Surcharging is allowed for all merchant category codes (MCCs) but is currently prohibited in Connecticut, Colorado, Kansas, and Massachusetts.
  • Merchants must also comply with federal laws regarding deceptive or misleading disclosures.
  • MX™ Advantage Surcharge must be implemented according to Card Brand rules, and the type(s) of hardware/software solutions available for each method may also vary.

For current rules and regulations regarding Surcharging visit:https://usa.visa.com/support/consumer/visa-rules.html

Merchants must comply with all state and federal laws, as well as Card Brand rules regarding surcharging and disclosures.


How it works

Follow these steps to create a payment with surcharge amount:

  1. Verify Merchant Eligibility: Confirm that MX™ Advantage is enabled for the merchant.
  2. Determine Applicable Surcharge: Identify the surcharge percentage or flat fee to be applied. Ensure that it complies with Card Brand rules and local/state laws.
  3. Create a Payment with Surcharge: Include the surcharge amount as part of the payment creation request. Submit the payment request and confirm the response includes both the transaction amount and the surcharge.

Enable MX™ Advantage Surcharge

To start using surcharging, the MX™ Advantage Surcharge feature must be activated in compliance with card brand rules and applicable regional regulations.

The availability of surcharge functionality may vary depending on your payment setup, including the hardware or software solution used at checkout.

If you’re not sure whether surcharging is enabled for your environment or would like to learn more about the MX™ Advantage product suite, please contact your Account Representative or Support Team.

Ensure your surcharge configuration complies with all relevant card scheme and jurisdictional requirements before enabling this feature.


Verify Merchant eligibility for MX™ Advantage

You can use the GET /checkout/v3/appStore?merchantId={merchantID} API to check whether the MX™ Advantage Surcharge feature is active for a merchant.

Replace merchantId with the relevant merchant ID.

A successful response indicates the surcharge status. If the feature is active, the response includes:

{
  "appCode": "MXADV",
  "activated": true
}

This confirms that MX™ Advantage Surcharge is enabled for that merchant and ready for use.

You can integrate this verification step into your onboarding or setup flow to automatically confirm surcharge eligibility before initiating surcharged transactions.


Determine applicable Surcharge

Once the merchant is enabled for MX™ Advantage Surcharge, you can fetch the applicable surcharge amount or percentage using the POST checkout/v3/payment/enrich/mxadvantage API endpoint, with following details:

Parameter

Required

Description

amount

Amount to charge (in USD currency)

cardAccount

Valid Payment details eg. Card or secure Token. Refer to Card Tokenization for steps to generate a token for future use. Note: CVV, avsZip, and avsStreet may only be required based on your Loss Prevention settings.

merchantId

The Merchant's unique identifier that is used to process the payment.

tenderType

Set to CARD for card transactions.

paymentType

Type of transaction. It is defaulted to SALE

mxAdvantageEnabled

Confirmation if the MX Advantage feature is enabled. Should be passed as TRUE.

mxAdvantageFeeType

Surcharge fee type, should be passed as PERCENTAGE.

mxAdvantageFeeAmount

Surcharge fee value.

The surcharge may vary by card brand, transaction type, and region.

In the response, note the following:

  • surchargeRate: The surcharge rate (in percentage) applicable to the merchant.
  • surchargeAmount: The surcharge amount applicable on the payment on the payment amount provided in the request.

Create Payment with Surcharge

To create a surcharge payment:

  1. Customer provides payment info (e.g., swipes or enters card details).

  2. Your system sends a POST /checkout/v3/payment payment request with:

    Parameter

    Required

    Description

    amount

    Amount to charge (in USD currency), inclusive of surcharge amount.

    cardAccount

    Valid Payment details eg. Card or secure Token. Refer to Card Tokenization for steps to generate a token for future use. Note: CVV, avsZip, and avsStreet may only be required based on your Loss Prevention settings.

    merchantId

    The Merchant's unique identifier that is used to process the payment.

    tenderType

    Set to CARD for card transactions.

    paymentType

    Type of transaction. It is defaulted to SALE

    surchargeAmount

    Surcharge amount.

    surchargeRate

    Surcharge rate (in percentage) applicable to the merchant.

  3. PCE processes the payment and returns a response body as part of the request based on your echo query parameter selection. In the response, note the following:

    • id: Unique identifier for the payment (used in GET, void, etc.)
    • paymentToken: Secure token used for refunds, adjustments, or finalizing pre-auth.
  4. It is recommended to store the id and paymentToken for:

    1. Retrieving payment details later.
    2. Voiding the payment (if needed).
    3. Issuing partial or full refunds.
    4. Making post-sale adjustments.
  5. You can learn the outcome of the request via GET /checkout/v3/payment/{id} or wait for the PaymentSuccess webhook .


Webhook for Sale

You can subscriber to these webhooks to get Sale Payment updates:

  • PaymentSuccess: Indicates the payment was successfully approved by the issuing bank.
  • PaymentFail: Indicates the payment was declined. This can happen due to multiple reasons.

See Also

Open / Pending items to be discussed

  • How will a merchant get the merchant id to create a payment?
  • How will a merchant Contact our team for enabling MX Advantage
  • Need to add Verify Surcharge Enablement API Tryouts and provide correct link here
  • Need to add Calculate Surcharge API Tryouts and provide correct link here
  • Need to correct the Loss Prevention setting link

© 2025 Priority Technology Holdings LLC. All rights reserved.