Surcharging

Learn how credit card surcharging works, key legal considerations, and how to post a payment with a surcharge via the Checkout API.

A payment card surcharge (also known as a checkout fee) is an additional fee that a merchant adds to a customer's bill when a credit card is used for payment. The ability to surcharge applies only to credit card purchases and only under certain conditions. United States merchants cannot surcharge debit card or prepaid card purchases.

Compliance / regulation mandates

PCI DSS Level 1

Ensures that all payment processing complies with the highest level of PCI security standards.

PSD2 Strong Customer Authentication

Meets PSD2 requirements for authenticating electronic payments within the European Economic Area.

AML & KYC

Adheres to Anti-Money Laundering and Know Your Customer regulations to prevent financial crime.

GDPR Data Protection

Protects personal data and ensures compliance with EU General Data Protection Regulation.


Create Surcharges

To create a surcharge payment:

  1. Use the POST /checkout/v3/payment/enrich/mxadvantage endpoint to calculate the surcharge. The request must include:
ParameterDescription
mxAdvantageFeeLabelOne of: surcharge, service fee, convenience fee, non-cash adjustment, cash discount.
mxAdvantageFeeTypeType of surcharge (e.g., percentage).
mxAdvantageFeeAmountAmount of surcharge (e.g., 0.03 for 3%).
merchantIdMerchant location ID.
tenderTypeSet to Card for card transactions.
amountTransaction amount (in US currency units).
cardAccountValid card details for the transaction.

Request body:

{
  "merchantId":1000000000,
  "tenderType":"Card",
  "paymentType":"Sale",
  "cardPresentType":"CardNotPresent",
  "cardPresent":false,
  "cardAccount":{
     "expiryMonth":"12",
     "expiryYear":"33",
     "entryMode":"Keyed",
     "number":"4242424242424242",
     "expiryDate":"12/33",
     "avsStreet":"1231",
     "avsZip":"12312",
     "cvv":"123"
  },
  "isAuth":true,
  "isSettleFunds":true,
  "shouldVaultCard":true,
  "mxAdvantageFeeLabel":"surcharge",
  "mxAdvantageFeeType":"percentage",
  "mxAdvantageFeeAmount":"0.03",
  "sourceZip":"30009",
  "amount":1212.12
}

Response:

{
  "merchantId":1000003628,
  "tenderType":"Card",
  "amount":"1248.48",
  "cardAccount":{
    "entryMode":"Keyed",
    "number":"4242424242424242",
    "expiryMonth":"12",
    "expiryYear":"33"
  },
  "surchargeAmount":"36.36",
  "surchargeRate":"0.02999702999702999702999703",
  "surchargeLabel":"surcharge",
  "taxExempt":false
}
  1. Use the POST /checkout/v3/payment endpoint to create the payment. Include the surcharge values from Step 1 in the body:
  • surchargeAmount
  • surchargeRate
  • surchargeLabel

Request body:

{
  "merchantId":1000000000,
  "tenderType":"Card",
  "paymentType":"Sale",
  "cardPresentType":"CardNotPresent",
  "cardPresent":false,
  "cardAccount":{
    "expiryMonth":"12",
    "expiryYear":"33",
    "entryMode":"Keyed",
    "number":"4242424242424242",
    "expiryDate":"12/33",
    "avsStreet":"1231",
    "avsZip":"12312",
    "cvv":"123"
  },
  "isAuth":true,
  "isSettleFunds":true,
  "shouldVaultCard":true,
  "mxAdvantageFeeLabel":"surcharge",
  "mxAdvantageFeeType":"percentage",
  "mxAdvantageFeeAmount":"0.03",
  "sourceZip":"30009",
  "amount":"1248.48",
  "surchargeAmount":"36.36",
  "surchargeLabel":"surcharge",
  "surchargeRate":"0.02999702999702999702999703",
  "source":"QuickPay"
}

Response:

{
  "id":10000001505878,
  "paymentToken":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXbzaQ",
  "merchantId":1000000000,
  "tenderType":"Card",
  "amount":"1248.48",
  "status":"Approved",
  "authCode":"PPSa78",
  "surchargeAmount":"36.36",
  "surchargeRate":"0.03",
  "surchargeLabel":"surcharge",
  "type":"Sale",
  "currency":"USD"
}
  1. Wait for the Payment webhook to learn the outcome of the request.

© 2025 Priority Technology Holdings LLC. All rights reserved.