April 15, 2026 9 min read

Interchange Fee Optimization — The Engineering Side of Saving 40 Basis Points

Most engineers treat payment processing fees as a business problem. But the difference between 2.10% and 1.70% per transaction often comes down to what data your code sends — and how it sends it. Here's what I learned shaving 40 basis points off our interchange costs.

I spent the better part of six months staring at interchange qualification reports. Not by choice — our CFO dropped a spreadsheet on my desk showing we were paying roughly $180K more per year in processing fees than a competitor running similar volume. The gap wasn't in our negotiated rates with the acquirer. It was in interchange — the fee the card-issuing bank charges on every transaction. And interchange, it turns out, is largely determined by what your authorization request looks like on the wire.

This isn't a finance article. It's an engineering one. I'll walk through the four levers that actually moved the needle for us: MCC classification, Level 2/3 data enrichment, network tokenization, and least-cost routing.

How Interchange Actually Flows

Before diving into optimizations, it helps to see where the money goes. Every card transaction involves a chain of parties, each taking a cut:

Cardholder
Merchant
Acquirer
Network
Visa / MC
Issuer
Interchange fee (largest component, ~70-80% of total processing cost) flows from Acquirer to Issuer

The interchange component is the biggest chunk — typically 70-80% of your total processing cost. And here's the thing most engineers miss: interchange rates aren't fixed. They vary based on dozens of factors, many of which you control through your integration code.

Lever 1: Get Your MCC Right

Merchant Category Codes sound like a business concern, but I've seen engineering teams accidentally inflate costs by not validating MCC assignments during onboarding flows. We had a SaaS client coded as 5999 (Miscellaneous Retail) instead of 5734 (Computer Software Stores). That single misclassification was costing them roughly 15 basis points on every Visa transaction.

If you're building a merchant onboarding system, validate the MCC against the actual business type programmatically. Don't just pass through whatever the sales team enters. We added a lookup step that cross-references the merchant's self-reported category against known MCC mappings and flags mismatches before they hit the acquirer.

Quick win: Audit your top 20 merchants by volume. Check their MCC codes against Visa's and Mastercard's published interchange tables. A single correction on a high-volume merchant can save thousands annually.

Lever 2: Level 2 and Level 3 Data Submission

This was the biggest single improvement we made. Visa and Mastercard offer lower interchange rates for transactions that include enhanced data — what the industry calls Level 2 (L2) and Level 3 (L3) data. The idea is simple: more data means lower fraud risk, so issuers charge less.

Level 2 adds fields like sales tax amount, customer code, and merchant tax ID. Level 3 goes further with line-item detail — product codes, quantities, unit costs, freight amounts. The catch is that most payment integrations don't send this data by default. You have to build it in.

Here's what a typical L3-enriched authorization looks like in practice:

// Enriching a Stripe PaymentIntent with Level 3 data
const paymentIntent = await stripe.paymentIntents.create({
  amount: 245000,
  currency: 'usd',
  payment_method: pmId,
  metadata: {
    customer_reference: 'PO-2026-04821',
  },
  // Level 2 fields
  shipping: {
    address: { postal_code: '94105' },
  },
});

// Level 3 line items sent via acquirer-specific API
await acquirer.submitLevel3({
  transaction_id: paymentIntent.id,
  tax_amount: 19520,
  freight_amount: 1500,
  duty_amount: 0,
  line_items: [
    {
      product_code: 'SRV-ENT-ANNUAL',
      description: 'Enterprise License - Annual',
      quantity: 5,
      unit_cost: 44800,
      unit_of_measure: 'EA',
      tax_amount: 19520,
      discount_amount: 0,
      commodity_code: '81112200',
    },
  ],
});
Card Type Standard Rate With L2/L3 Data Savings
Visa Commercial 2.50% + $0.10 2.10% + $0.10 40 bps
Visa Corporate 2.70% + $0.10 2.35% + $0.10 35 bps
MC Commercial 2.65% + $0.10 2.30% + $0.10 35 bps
MC Corporate 2.80% + $0.10 2.40% + $0.10 40 bps

Representative US interchange rates. Actual rates vary by program and region.

The tricky part isn't the data model — it's getting the data reliably. Your invoicing system, your product catalog, and your payment service all need to agree on line-item details at authorization time. We ended up building a small enrichment service that sits between our checkout flow and the acquirer API. It pulls order details, computes tax breakdowns, maps product SKUs to commodity codes, and attaches everything to the authorization request.

The result? Our L3 qualification rate went from about 12% to 78% of eligible transactions within two months. On commercial and corporate card volume, that translated to roughly 35-40 basis points in savings.

Lever 3: Network Tokens

Network tokens replace raw PANs with network-issued tokens that are scoped to your merchant ID. Visa and Mastercard both offer lower interchange rates for token-authenticated transactions — Visa calls it the "Token Service Provider" discount, and it can shave 5-10 basis points off the interchange rate.

But the real savings come indirectly. Network tokens improve authorization rates by 2-4% because the token stays valid even when the underlying card is reissued. Fewer declines means fewer retry costs, fewer lost sales, and less customer churn on subscription billing.

Watch out: Not all PSPs pass through the network token interchange discount. Some pocket the difference. Check your acquirer agreement and verify that token-based transactions actually show the reduced rate on your interchange qualification reports.

We migrated our stored credentials from raw PANs to network tokens over about three months. The migration itself was straightforward — most modern PSPs expose a token provisioning API. The harder part was updating our retry logic and dunning flows to take advantage of the automatic card updates that network tokens provide.

Lever 4: Least-Cost Routing

Dual-network debit cards (cards that carry both a Visa/Mastercard logo and a PIN debit network like Star, NYCE, or Pulse) can be routed over either network. The PIN debit networks almost always have lower interchange rates — sometimes 50+ basis points lower for certain transaction sizes.

If you're processing US debit volume and not implementing least-cost routing, you're leaving money on the table. The Durbin Amendment requires acquirers to support at least two unaffiliated networks on debit cards, and you have the right to choose which one to route over.

In practice, this means inspecting the BIN table to identify dual-network cards and then specifying the preferred network in your authorization request. We built a routing engine that evaluates the transaction amount, card BIN, and each network's interchange schedule to pick the cheapest path in real time.

40
basis points saved
on commercial cards
78%
L3 qualification rate
(up from 12%)
$180K
annual savings
recovered

Monitoring and Ongoing Optimization

Interchange optimization isn't a one-time project. Card networks update their rate tables twice a year (April and October), and your transaction mix shifts constantly. We built a dashboard that tracks interchange qualification rates by card type, flags transactions that downgraded to a higher rate category, and alerts when our L2/L3 submission success rate drops below threshold.

The most useful metric turned out to be the "downgrade rate" — the percentage of transactions that qualified for a lower interchange tier but got bumped up because of missing or malformed data. Common culprits include missing tax amounts, invalid postal codes in AVS data, and settlement timing (settling more than 24 hours after authorization almost always triggers a downgrade on Visa).

Settle fast: Visa's interchange tables penalize late settlement. If you're batching settlements once a day, make sure the batch runs within 24 hours of authorization. We moved to near-real-time settlement and eliminated an entire category of downgrades.

Where to Start

If you're an engineer at a company processing any meaningful card volume, here's the order I'd tackle these in:

  1. Pull your interchange qualification report from your acquirer. Understand your current effective rate and where downgrades are happening.
  2. Implement Level 2 data first — it's lower effort than L3 and captures most of the savings on commercial cards.
  3. Audit MCC codes for your top merchants by volume.
  4. Evaluate network token migration, especially if you store cards for recurring billing.
  5. If you process significant US debit volume, build or enable least-cost routing.

None of these are glamorous projects. They won't make it into a conference talk. But at scale, the compounding effect of shaving 30-40 basis points across millions of transactions is substantial — and it's engineering work that directly hits the bottom line.

References

Disclaimer: This article reflects the author's personal experience and opinions. Product names, logos, and brands are property of their respective owners. Pricing and features mentioned are subject to change — always verify with official documentation.