Level 2 and Level 3 data
Overview
Hyperswitch allows merchants to include Level 2 and Level 3 enhanced data in payment requests to optimize interchange costs on eligible commercial card transactions. This is done using a set of unified fields in the payment_create API, which are internally routed and transformed per connector.
- Level 2: Adds tax, invoice, and reference-level data
- Level 3: Adds full line-item details (e.g., item quantity, commodity code, shipping, duty)
Visa and Mastercard support Level 2 and 3 processing. American Express supports Level 2 only
Availability
- Regions: Most connectors currently support U.S. domestic processing only for Level 2 and Level 3 data
- Support for level 2/level 3 varies by connector and is not guaranteed
Unified L2/L3 Fields
Hyperswitch exposes a set of generic fields in the payment_create API that can be directly used to pass Level 2 and Level 3 data. These fields cover the most common requirements across card networks and connectors, so merchants can send enhanced transaction data without worrying about connector-specific differences.
The fields are organized into two groups:
1. Top-Level Fields (apply to the entire order/payment)
These fields represent order-wide attributes that are required by most connectors:
- order_date β when the order was placed
- customer_reference β unique reference, PO number, or invoice number
- order_tax_amount β total sales tax for the order
- shipping_cost β freight/shipping charges
- duty_amount β duty or customs charges
- discount_amount β any discount applied at the order level
- tax_status β whether the order is taxable or exempt
2. Nested Fields (grouped by domain for clarity)
Some data is structured to align with domain-specific groupings, making it easier to map downstream:
- Shipping
- shipping.* (general attributes)
- shipping.address.* (e.g., line1, postal_code, country)
- shipping.phone.*
- shipping.email
- Customer
- customer.* (general attributes)
- customer.address.*
- customer.phone.*
- customer.email
- Order Details (Line Items)\
Each item can include:
- order_details[].product_name
- order_details[].commodity_code
- order_details[].quantity
- order_details[].unit_of_measure
- order_details[].unit_price
- order_details[].item_tax_amount
- order_details[].item_discount_amount
Supported Connectors
Our unified (generic) L2/L3 fields in payment_create cover the majority of requirements across connectors
If your connector requires fields that arenβt in our unified list, weβll evaluate and add the minimal set needed