Surcharging

Learn how to implement credit card surcharging to pass processing costs to customers. Includes setup requirements, compliance rules, security guidelines, and technical implementation guidance.

Surcharging

A credit card surcharge is a fee that is added to a payment when a customer uses their credit card. Surcharging allows merchants to pass on some of the costs of accepting credit cards to their customers.

🔒

When implementing surcharging, ensure you follow PCI DSS compliance guidelines and never store sensitive card data. All card information should be tokenized before processing. Learn more about the connection between tokenization and PCI compliance.

Getting Started

What is Surcharging?

A fee added to credit card payments that allows merchants to pass processing costs to customers. Only applies to credit cards, not debit or prepaid cards.

Setup Required

Contact Stax to set up your merchant account for surcharging. We'll handle customer notifications and compliance requirements for you.

Rules and Requirements

Basic Rules

  • Credit cards only - Surcharges can only be applied to credit card transactions, not debit or prepaid cards
  • Account setup required - Your merchant account must be configured for surcharging
  • Existing merchants - Current Stax merchants can contact us to enable surcharging
  • Customer notification - Required notice to customers (we handle this automatically)

Compliance Requirements

Mastercard Disclosure: Complete the required form: Mastercard Surcharge Disclosure

Transaction Requirements:

  • Software must notify customers of surcharge fees on payment screens, receipts, and emails
  • Customers can cancel before transaction completion
  • Surcharges must appear on payment pages and receipts

Automatic Restrictions - No surcharges applied when:

  • Payment method is a debit card (detected by BIN)
  • Billing/shipping address is in prohibited states/territories

Refund Handling: Full surcharge amount refunded (pro-rated for partial refunds)

Implementation Guide

Technical Flow

Follow this implementation sequence:

  1. Create a customer (optional)
  2. Tokenize the credit card - Creates customer if none exists
  3. Calculate surcharge amount using the tokenized card
  4. Charge the tokenized card

Making Surcharge Payments

Important: Do NOT include the surcharge amount in your API request total.

Example: For a $100 transaction with $3 surcharge:

  • Display to customer: "$103 will be charged (includes $3 surcharge)"
  • Send to API: "total": 100 (not 103)
{  
  "payment_method_id": "853c9tt3-e361-4194-97eb-03a268a832e9",  
  "meta": {  
    "tax": 0,  
    "subtotal": 100  
  },  
  "total": 100,  
  "pre_auth": 0  
}

Checking merchant setup:

Calculating Surcharge Amount

Use the Review a transaction's surcharge information endpoint to:

  • Verify merchant surcharging setup
  • Check payment method BIN type is "CREDIT"
  • Get surcharge rate and amount for UI display

Example Response (for $100 transaction at 3% rate):

{ 
  "bin_type": "CREDIT",  
  "surcharge_rate": 3.0,  
  "surcharge_amount": 3.00,  
  "total_with_surcharge_amount": 103.00 
}

Note: Debit cards return no surcharge information.

Refunding Surcharge Transactions

Full refunds only: When refunding a surcharged transaction, the entire amount (including surcharge) must be refunded to the customer.

Example:

  • Original charge: $103 ($100 + $3 surcharge)
  • Refund to customer: $103 (full amount)
  • Merchant account debited: $100 (original transaction amount)

Testing and Compliance

Testing Surcharging

Sandbox Setup:

  • Request a sandbox account specifically configured for surcharging
  • Contact support to enable surcharging on your test account
  • Test the complete implementation flow with our test card numbers

Test Cards Available:

  • CREDIT BIN type cards
  • DEBIT BIN type cards
  • When BIN type is unavailable, assume DEBIT (no surcharge)

Digital Wallets Limitation

Important Limitation:

Digital wallet payments (Apple Pay, Google Pay) are processed as non-surcharged transactions because:

  • We cannot check the BIN type before processing
  • Standard card-not-present rates apply instead of surcharge rates

This affects all digital wallet transactions on surcharging-enabled merchants.

Important: This documentation covers card-not-present transactions only. Contact support for card-present implementation details.