Since April 2026, a US merchant that sends Visa a tax amount and a PO number gets nothing for it, unless it sells fuel. The Level 2 rate has gone from Visa's interchange schedule, Level 3 is now called Product 3, and every transaction flagged for the new Commercial Enhanced Data Program pays Visa 5 basis points. Several payment companies read the rules as charging that fee even when the data fails Visa's review.
Several of the pages ranking for "level 2 vs level 3 processing" still quote the old Visa Level 2 rates. Several confuse enhanced card data with PCI merchant levels, and one advises typing "0" into fields that don't apply, which is now exactly what Visa's validation rejects. None of the guides I read gives a field limit beyond the 12-character product code. The figures below come from Visa's US interchange schedule of 24 October 2026, its UK schedule of February 2026, Mastercard's US rates effective 17 April 2026, and PSP API documentation, all checked on 1 November 2026.
What Is Level 2 and Level 3 Card Data?
Every card authorisation carries Level 1 data: amount, date, merchant name and MCC. Level 2 adds a sales tax amount and a customer code, usually the buyer's PO number. Level 3 adds the invoice itself, one line per item, with description, product code, quantity, unit of measure, unit price and line total, plus order-level freight, duty and postal codes.
The data matters only on commercial cards: business, corporate, purchasing and fleet. Companies issue those cards with spend controls and tax reclaim in mind, so issuers want line items and pay for them through lower interchange. On a consumer card the extra fields change nothing about the fee.
In Visa's clearing records, Level 2 travels in TC50 "PURCHA" records and Level 3 in TC50 "PURCHL" records, according to Worldpay's CEDP error guide. Mastercard calls the same tiers Data Rate I, II and III, because "Level" already means something else in its fee tables.
Level 2 vs Level 3 Processing: Which Fields Each Needs
| Field | Level 1 | Level 2 | Level 3 |
|---|---|---|---|
| Amount, date, merchant name, MCC | Yes | Yes | Yes |
| Sales tax amount | Yes | Yes | |
| Customer code or PO number | Yes | Yes | |
| Tax indicator (taxable or exempt) | Yes | Yes | |
| Per-line description, product code, quantity, unit of measure, unit price, line total | Yes | ||
| Commodity code, discounts, freight, duty, ship-from and destination postal codes | Yes |
Two rules trip people up. Level 2 tax cannot be zero: it must fall between 0.1% and 22% of the amount for Visa and between 0.1% and 30% for Mastercard. Level 3 tax may be zero, but only with an explicit exempt indicator. And "tax estimation is not allowed", in the words of both Braintree's docs and Worldpay's guide. A flat 5% applied to every order regardless of state gets flagged.
Is Level 3 Processing the Same as PCI Level 3?
No, and a good share of the ranking pages mix them up. PCI DSS merchant levels sort merchants by annual Visa transaction count to decide how they validate compliance: Level 3 covers 20,000 to one million e-commerce transactions a year. Level 2 and Level 3 card data are fields attached to a transaction to qualify for lower interchange. A Level 1 PCI merchant can send Level 3 data, and a Level 4 merchant can too. Nothing connects the two numbering schemes except the word.
What Is Visa CEDP and What Changed in 2026?
The Commercial Enhanced Data Program replaced Visa's US Level 2, Level 3 and Large Ticket programmes for commercial cards. It arrived in phases, and processors disagree on some dates by a day:
| Date | Change |
|---|---|
| 11 Apr 2025 | CEDP starts; 0.05% fee on transactions carrying the CEDP flag |
| 17 Oct 2025 | Product 3 replaces Level 3 (1.90% to 1.75% + $0.10); Large Ticket 1.45% to 1.30% + $35; merchant verification begins |
| 20 Nov 2025 to 24 Feb 2026 | New merchant verifications paused |
| January 2026 | Business Level 2 Tier I rises from 1.90% to 2.65%; Business Product 3 from 1.75% to 2.40% |
| 4 Mar 2026 | Review window for refunding unverified merchants cut from 10 to 15 days to 7 to 12 |
| 17 Apr 2026 | Level 2 sunset, except fleet fuel; Level 2-only transactions downgrade rather than decline |
The January change was off-cycle and got little coverage. It took the small-business Level 2 rate up to the card-not-present rate three months before the official sunset, so for Business cards Level 2 was worth nothing from January.
Verification. Visa checks a merchant's data before paying Product 3. Acquirers describe the bar differently: Checkout.com says 500 successful CEDP transactions or 20 consecutive days, with Visa sending acquirers the verified list on the 10th of each month, while Rainforest describes 90% of transactions passing over 30 days. Until verified, a merchant settles at the standard rate and gets the difference back later if its data passes. Visa can also exclude a merchant per acquirer and merchant ID after sending a non-compliance letter. The fee. Visa charges the 0.05% to the acquirer, which passes it through to merchants on interchange-plus pricing. Who pays is contested. PayPal says it applies when the CEDP flag is present and Visa reviews the transaction, and also on transactions carrying only Level 2 tax data. Stripe says it applies to all Visa US transactions that send line-item data on qualified cards. TabaPay says excluded merchants still pay it, and Americaneagle says it applies whether or not you pass the audit. TSG's reading is narrower. Budget for the wider reading. Eligibility. CEDP covers Business, Corporate, Purchasing and Fleet cards funded by credit or prepaid. The October schedule has no Product 3 row for Business Debit, so in practice the rate benefit is credit only. Braintree lists the excluded MCCs: 3000 to 3999, 4112, 4411, 4511, 4722, 5812, 5814, 7011 and 7512, which is airlines, hotels, car hire, rail, cruises, travel agents and restaurants. If your merchant category code is on that list, Level 3 does nothing for you on Visa. The programme is US-only.How Much Does Level 3 Data Save? Visa vs Mastercard Rates
Visa's 24 October 2026 schedule labels its rates by product: Product 1 is card-not-present, Product 2 card-present, Product 3 enhanced data. Mastercard's 17 April 2026 sheet still uses Data Rates.
| US credit rate | Visa | Mastercard |
|---|---|---|
| Corporate/purchasing, no data (CNP) | 2.70% + $0.10 | 2.70% + $0.10 (Data Rate I) |
| Corporate/purchasing, Level 2 | Gone (fuel only: 2.20%) | 2.50% + $0.10 (Data Rate II) |
| Corporate/purchasing, Level 3 | 1.75% + $0.10 (Product 3) | 1.90% + $0.10 (Data Rate III) |
| Large ticket | 1.30% + $35.00 | 1.45% + $35.00 |
| Business, lowest spend tier, no data (CNP) | 2.65% + $0.10 | 2.65% + $0.10 (Data Rate I) |
| Business, lowest spend tier, Level 2 | Gone | 1.90% + $0.10 (Data Rate II) |
| Business, lowest spend tier, Level 3 | 2.40% + $0.10 | No Data Rate III |
| Participation fee | 0.05% | None |
Take a $10,000 card-not-present invoice on a Visa purchasing card. With no data, interchange is $270.10. With Product 3 it is $175.10, plus the $5.00 CEDP fee: $180.10, a net saving of $90. The same invoice on a Mastercard corporate card falls from $270.10 to $190.10 at Data Rate III, an $80 saving with no fee.
Business cards are another matter. On a $1,000 Visa Business Tier I invoice, Product 3 saves $2.50 in interchange and costs $0.50 in fees, so $2.00 net, or 20 basis points. On Mastercard, a small-business card in the lowest tier still pays 75 basis points less for Level 2 data alone, tax plus customer code. Visa now asks for a full invoice and, after its fee, pays about a quarter of what Mastercard pays for two fields.
These savings reach you only on interchange-plus pricing. On a blended rate, the acquirer keeps the difference; the trade-offs are covered in the interchange++ vs blended pricing guide. Stripe states it outright: line-item savings apply only to IC+ accounts.
Do Level 2 and Level 3 Rates Apply in the UK?
Partly, and the economics are inverted. The Interchange Fee Regulation's caps cover consumer cards only, so commercial interchange in the UK and EU is set by the schemes. Visa's UK domestic schedule (February 2026) prices Visa Purchasing at 1.75% card-present and 2.00% card-not-present. With line-item detail the fee drops by £0.32 per transaction; with summary tax only, by £0.16. Fleet cards get 0.30% off for Level 2 or Level 3 data. Business and Corporate cards have no enhanced-data tier at all.
A flat £0.32 is 32 basis points on a £100 order and 3.2 on a £1,000 invoice. In the US the discount scales with the ticket; in the UK it shrinks as the ticket grows. A UK supplier processing thousands of small purchasing-card orders has a case for Level 3. A UK SaaS firm billing £5,000 invoices does not.
Canada still runs the old structure. Fiserv's sheet effective 24 October 2026 lists Visa corporate and purchasing at 1.40% for Level 3, 1.60% for Level 2 and 2.00% standard.
How to Send Level 3 Data in Stripe, Adyen, Braintree and Checkout.com
Every PSP takes the same concepts with different names, limits and failure modes:
| Stripe | Adyen | Braintree | Checkout.com | |
|---|---|---|---|---|
| Line items | amount_details.line_items[] | enhancedSchemeData.levelTwoThree.itemDetailLines[] | lineItems[] | items[] |
| Max lines | 200 (Amex: first 4) | Not documented | 249 | 50 (Amex: 4) |
| Description | product_name, truncated to 26 alphanumeric | description, max 26 | name, max 35 | name, 26 for Visa/MC |
| Product code | max 12 | max 12 | max 12 | reference, 12 |
| Unit of measure | max 12 | max 3 | max 12 | max 12, from a code table |
| Order reference | order_reference, sent as 25 chars | customerReferenceNumber, 25 | purchaseOrderNumber, 17 | processing.order_id, 15 |
| Amounts | Integer minor units | Integer minor units | Decimal strings, 4 dp | Integer minor units |
| Totals don't add up | 400 error by default | Drops to Level 2, webhook warning | Processor may decline | "Additional fees" |
Stripe's line items became generally available in API version 2025-10-29.clover, on PaymentIntents. The older level3 hash is absent from the public OpenAPI spec and survives only in SDK models. A Level 3 request looks like this, shown as JSON for readability:
{
"amount": 1088750,
"currency": "usd",
"payment_details": { "order_reference": "PO-2026-00417" },
"amount_details": {
"shipping": { "amount": 0, "from_postal_code": "07094", "to_postal_code": "10001" },
"line_items": [
{
"product_name": "Letter copy paper 10 ream",
"product_code": "CPL-8511-10",
"quantity": 200,
"unit_cost": 5000,
"unit_of_measure": "CS",
"tax": { "total_tax_amount": 88750 },
"payment_method_options": { "card": { "commodity_code": "14111507" } }
}
]
}
}
Stripe treats tax as either top-level or per-line, never both, and the same goes for discounts. By default a mismatched total returns a 400. Setting amount_details[enforce_arithmetic_validation]=false lets the payment through, but Stripe then withholds the line items from the networks. Its docs also say plainly that the API "doesn't reject line items that don't meet the network MCC and/or tax requirements". Passing Stripe's validation is not passing Visa's.
The other three differ in useful ways. Adyen's structured levelTwoThree object arrived in Checkout API v70; on manual capture the data belongs in the /captures call, and when it fails Visa's sum rules Adyen drops to Level 2 and reports why in enhancedSchemeDataWarningReasons, a webhook field you have to enable. Braintree's unitAmount takes four decimal places as a string, so code that passes minor units everywhere else needs a conversion here. Cybersource's lineItems[].productCode expects a category such as default or service, with the SKU in productSKU, and a failed transmission shows only as level3TransmissionStatus: N.
The portable subset is narrower than any single PSP: descriptions of 26 characters or fewer, product codes of 12, units of measure of three characters, and no more than 50 lines.
Level 3 Validation Rules: Why Visa Rejects Line-Item Data
Worldpay's error guide lists what Visa's CEDP review rejects. It is the most specific public source, and the codes are worth logging against:
- TC50-1001, TC50-2001 to 2006: description blank, zeros, one character, generic ("goods", "product") or matching the merchant name
- TC50-1002: product code blank, null or zeros; it is required on every line
- TC50-1003: unit of measure blank
- TC50-1004: line total not equal to quantity × unit price − discount
- CS-0011: charged amount not equal to line totals − invoice discount + freight + tax
- CS-0012: tax amount not equal to the sum of line taxes
- CS-0004 to 0006: tax indicator of "0"; only 1 (taxable) or 2 (exempt) is accepted
- CS-2001, CS-2002: the same tax on every amount, or one flat rate across all states
Is Level 3 Data Worth Building in 2026?
My position: for US corporate and purchasing card volume on interchange-plus pricing, yes, without hesitation. Ninety basis points on Visa and eighty on Mastercard is more than most merchants will save from any other line of payments engineering. For everything else, probably not, and certainly not with synthetic data.
The fee changed the calculation. Before CEDP, junk Level 3 data cost nothing if it failed; at worst you got the standard rate. Now a flagged transaction can pay 5 basis points and still be downgraded. A B2B SaaS company selling seats to small businesses on Visa Business cards nets 20 basis points at best, and only if every invoice line has a real product code, a real unit of measure and real tax. If your billing system doesn't hold that data, don't invent it.
My prediction, clearly an opinion: Mastercard keeps Data Rate III but adds Visa-style audits within two years. Its October 2025 tightening of unit-of-measure values was the first step, and acquirers already run one validation pipeline for both schemes. I'd design the integration as if the stricter rules apply to both now.
What This Means for Payment Engineering Teams
- Don't delete your Level 2 code path. Visa stopped paying for it, but Mastercard Business cards still earn 75 basis points for tax and customer code.
- Detect commercial cards before sending data. Use the funding and product fields from your PSP or a BIN lookup so line items only go out on cards where Product 3 exists. Business Debit has none.
- Generate line items from the source invoice. Never synthesise a single "Services" line. Store product codes and units of measure on the product catalogue, not in the payments layer.
- Validate before the PSP does. Implement the line-total, order-total and tax-sum formulas yourself, in integer minor units, and fail loudly. Converting to Braintree's decimal strings belongs at the edge.
- Use the portable limits. 26-character descriptions, 12-character codes, three-character units, 50 lines.
- Resend on partial capture. Adyen, Checkout.com and Cybersource expect the data on each capture, and a partial capture without it can lose the rate.
- Reconcile the fee. Track the 0.05% CEDP line on your interchange report against the Product 3 qualification rate, per merchant ID. If you pay the fee and don't get the rate, you are unverified, excluded or failing validation.
- In the UK, model the flat £0.32 before you build. Level 3 helps small-ticket purchasing-card volume, not large invoices.