# Surcharging A credit card surcharge is an additional fee that businesses charge customers when they pay with a credit card, intended to offset the processing fees the business pays to process credit cards. Essentially, it's a way for businesses to recoup some of the costs associated with accepting credit card payments. ## Legality and Disclosure: Businesses must comply with certain rules, including proper disclosure of the surcharge to customers and restrictions on the maximum surcharge, making sure the surcharge does not exceed the cost of transaction processing. Local laws regarding surcharging can vary. Businesses must ensure they are complying with all local laws and regulations when implementing surcharging. ## How it Works: The surcharge is usually a percentage of the purchase amount. The business can choose to apply the full surcharge or a lower percentage, effectively sharing the cost with the customer. ## Surcharging Eligibility: Surcharges are typically only applied to credit card transactions, not debit or prepaid cards. A [Rule Verification](/apis/payments-platform-rest/openapi/rules/rulesverify) request can be sent to determine if the payment method being used is eligible for surcharging. ## Implementing Surcharging ### POS/PMS Vendor Controlled Surcharging If you are planning to implement surcharging within your POS/PMS application you must ensure that your application is complying with all local laws and card brand regulations. You must verify a card is eligible for surcharging before processing the transcation with a surcharge. You can utilize the the [Rule Verification](/apis/payments-platform-rest/openapi/rules/rulesverify) to determine eligibility prior to processing the transcation. Below is a high level process flow: 1. The POS/PMS vendor sends a [Rule Verification](/apis/payments-platform-rest/openapi/rules/rulesverify) request to the Shift4 host including `SURCHARGE` in the [`ruleCheck`](/apis/payments-platform-rest/openapi/rules/rulesverify#rules/rulesverify/t=request&path=&oneof=0/rulecheck) array. 2. The Shift4 host returns the status of the eligibility check in the [`​surcharge`](/apis/payments-platform-rest/openapi/rules/rulesverify#rules/rulesverify/t=response&c=200&path=result/surcharge) response object, containing the following subfields: - [`result`](/apis/payments-platform-rest/openapi/rules/rulesverify#rules/rulesverify/t=response&c=200&path=result/surcharge/result): will return `P` if the card is eligible for surcharging and `F` if it is not. If `F` is returned, you must not apply a surcharge amount to the transaction. If `P` is returned you can add the surcharge amount to the transaction. - [`transactionId`](/apis/payments-platform-rest/openapi/rules/rulesverify#rules/rulesverify/t=response&c=200&path=result/surcharge/transactionid): The transaction ID for the rule check request. - [`percentage`](/apis/payments-platform-rest/openapi/rules/rulesverify#rules/rulesverify/t=response&c=200&path=result/surcharge/percentage): The surcharge percentage that can be added to the transaction amount. 3. The POS/PMS vendor calculates appropriate surcharge amount based on the `surcharge.percentage` and adjusts the transaction amount accordingly. 4. The POS/PMS vendors sends the [Authorization](/apis/payments-platform-rest/openapi/transactions/transactionsauthorization) or [Sale](/apis/payments-platform-rest/openapi/transactions/transactionssale) to the Shift4 host - The `amount.total` field must include the surcharge amount. The request must also include the [`amount.surcharge`](/apis/payments-platform-rest/openapi/transactions/transactionssale#transactions/transactionssale/t=request&path=&oneof=3/amount/surcharge) and [`surcharge.percentage`](/apis/payments-platform-rest/openapi/transactions/transactionssale#transactions/transactionssale/t=request&path=&oneof=3/surcharge/percentage) fields. - For example, if the transaction amount was $100.00 and the surcharge percentage was 1.5%, the request would include `amount.total = 101.50`, `amount.surcharge = 1.50`, and `surcharge.percentage = 1.5` ### Commerce Engine Controlled Devices Surcharging support is simplified when using a Commerce Engine controlled device. If Commerce Engine is configured for surcharging and the merchant account has surcharging enabled, [Authorization](/apis/payments-platform-rest/openapi/transactions/transactionssale) and [Sale](/apis/payments-platform-rest/openapi/transactions/transactionssale) requests processed through Commerce Engine controlled devices will automatically add the appropriate surcharge amounts. Commerce Engine will determine if a card is eligible for surcharging during the course of the transaction flow and will apply the surcharge percentage if the card is eligible. If the transaction was surcharge eligible, Commerce Engine will return the following in the response: - `amount.total` will be incremented to include the surcharge amount. - For example, if the request included `amount.total = 100.00` and the surcharge percentage was 3%, Commerce Engine will return `amount.total = 103.00`, - [`amount.surcharge`](/apis/payments-platform-rest/openapi/transactions/transactionssale#transactions/transactionssale/t=response&c=200&path=result/amount/surcharge): indicating the surcharge amount that was added to the total. - [`surcharge.result`](/apis/payments-platform-rest/openapi/transactions/transactionssale#transactions/transactionssale/t=response&c=200&path=result/surcharge/result): indicating if the card was eligible. - [`surcharge.percent`](/apis/payments-platform-rest/openapi/transactions/transactionssale#transactions/transactionssale/t=response&c=200&path=result/surcharge/percentage): indicating the surcharge percent that was applied. ## Surcharge Receipts ### Formatted Receipts: If you are using formatted receipts the surcharge amount and disclaimer will be automatically added to the receipt text returned in the response and should be printed along with the rest of the receipt data. ### Raw Tags When a surcharge amount is applied to a transaction, the `surcharge.result` field will return `P` in the transaction response indicating the card was surcharge eligible and `amount.surcharge` will indicate if the surchage was applied. The following elements must be printed on the receipt if a surcharge was applied: - SurchargeAmount - SurchargeDisclaimer The amount section of the receipt must contain separate lines for the amount, surcharge amount, and total amount. The surcharge disclaimer must also be printed on the receipt. br See the [Raw Tags](/guides/core-concepts/printing-receipts#raw-tags) section of the Printing Receipts guide for examples of the surcharge keys. br br Below is an example receipt showing the surcharge amount and disclaimer ``` Sample Store 123 Great Road Las Vegas, NV 89144 702-555-5555 06/21/2018 09:21:14 MID: XXXXXXXXXXXX9137 TID: XXX2946 Purchase Mastercard Credit ************6405 Entry Mode: CHIP CVM: PIN VERIFIED Invoice 192029 Clerk 16 Amount: USD$ 100.00 Surcharge: USD$ 3.00 Total: USD$ 103.00 A 2.5% surcharge has been added to cover the cost of accepting credit cards. This fee is not a service charge or gratuity. Response: APPROVED Auth Code: 217983 AID: A0000000041010 TVR: 0820000000 IAD: 092B302A9104 TSI: C800 ARC: 00 CUSTOMER COPY ```