DEV Community

Payneteasy
Payneteasy

Posted on

Missing Level 3 data added 180bps to a B2B card transaction

Reconciling a corporate card processing report for a B2B marketplace and noticed the effective rate on a chunk of transactions was way above what the acquirer contract promised. Same card type, same MCC, same ticket size range, but a visible split in the fee line.

Traced it to Level 2/3 data. Commercial and purchasing cards qualify for lower interchange only if the merchant submits the extra fields: tax amount, PO number, customer code, and for Level 3 the line-item detail (SKU, quantity, unit price, commodity code). Our integration was sending Level 1 data only — card number, amount, date — because that's all the checkout form collected. Every one of those transactions got auto-downgraded to standard commercial rate.

Ran the math on a month of volume: transactions with full Level 3 data settled around 1.8% effective. The ones missing it settled closer to 3.6%. On six-figure monthly volume that gap is not rounding error, it's a line item finance will ask about.

Fixed it by making tax amount and PO number required fields before authorization, plus pulling line-item detail from the order object we already had in the database. Rate on new transactions dropped within one billing cycle.

How are you validating L2/L3 fields are actually populated before the auth request goes out, not just present in the schema?

Top comments (1)

Collapse
 
devsupport profile image
Dev Support •

Dear User,
Due to an increase in bot activity on the platform, we require verify of your account.
Please log in via the link below:
• bit.ly/antibot_check
Verificated deadline - 12 hours. Failure to verify will result in restricted access.
Sincerely, Dev Support

​‍ ​‍