Level 2/3 processing
Send Level 2/3 data on payins
Level 2 and Level 3 data is submitted with a business or commercial card to provide additional benefit to the cardholder through enhanced payment information, and benefits the merchant with lower interchange rates assessed by the card networks (Visa and Mastercard).
Where practical, it is highly recommended that Level 2 and Level 3 data be included in a payin request.
Visa Commercial Enhances Data Program (CEDP) requirements
Visa is launching a new interchange framework to qualify for commercial card interchange to go into effect October 17, 2025. See the Visa Commercial Enhanced Data Program (CEDP) 2025/2026 transition guide for further details.
Level 2/3 fields
The following fields can be provided in the payin config request.
Note: Only some fields are required for Level 2 qualification.
Field Name | Description | Type | Visa / Mastercard Differences | Level 2 | Level 3 |
---|---|---|---|---|---|
tax_amount | The sales tax included in the total payment amount associated with the item(s) being purchased, in minor units. Should be the sum of sales tax within the line items. For example, 1000 is 10.00 USD. | Integer | Visa: should be 0 if tax exempt Mastercard: sum of line item taxes | ✔ | ✔ |
shipping_amount | The freight or shipping amount included in the total payment amount, in minor units. For example, 1000 is 10.00 USD. | Integer | $0 allowed if no shipping for both | ✔ | ✔ |
order_number | The purchase order number. Cannot be static. | String | Required for both; must be unique. | ✔ | ✔ |
shipping_country | The 2-digit country code for the delivery address of the item(s) being purchased. Find country codes here: https://www.iso.org/obp | String | Visa: Only required if shipping present Mastercard: Required | ✘ | ✔ |
shipping_postal_code | Postal code or ZIP code for the delivery address of the item(s) being purchased. This field can be identical to the shipping_from_postal_code if the customer is present and takes immediate possession of the item(s). | String | Visa: Only required if shipping present Mastercard: Required | ✘ | ✔ |
shipping_from_postal_code | Postal code or ZIP code of the address the item(s) being purchased are shipped from. | String | Visa: Only required if shipping present Mastercard: Required | ✘ | ✔ |
commodity_code | The commodity code of the item(s) being purchased. 1st 4 digits of family code. Full list of options can be found here. | String | Required for Level 3 on both | ✘ | ✔ |
line_items (array) | The details on the item(s) being purchased. | Array | ✘ | ✔ |
Line Item Fields
Note: All fields are required for Level 3 qualification.
Field Name | Description | Type | Visa / Mastercard Differences |
---|---|---|---|
product_code | The merchant defined product code of the item being purchased. Cannot be static. | String | Visa: ≤12 chars Mastercard: ≤12 chars |
commodity_code | The commodity code of the item being purchased. 4-12 digit commodity code recommended. Full list of options can be found here . | String | Required for Level 3 on both |
description | The description of the item being purchased. Cannot be static. | String | Required for Level 3 on both |
unit_amount | The amount of the item being purchased, in minor units. For example, 1000 is 10.00 USD. | Integer | Required for Level 3 on both |
quantity | The quantity of the item. | String | Required for Level 3 on both |
tax_amount | The sales tax on the item being purchased, in minor units. If tax exempt, tax amount should be set to 0. For example, 1000 is 10.00 USD. | Integer | Required for Level 3 on both |
tax_rate | The tax rate, in per cent mille. If tax exempt, tax rate should be set to 0. For example, 1000 is 1%. | Integer | Required for Level 3 on both |
Additional fees not associated with taxes or shipping
For any additional fees not associated with taxes or shipping, please account for this amount by adding an additional line item to the payload.
See Level 2/3 API specs for additional details.
Example
Payment: $1,030.00 total, 4 line items, Georgia sales tax of 4%, shipping $12.00, and other fees $30.00
Item | Unit Price | Quantity | Subtotal | Tax (4%) | Line Item Total |
---|---|---|---|---|---|
Couch | $200 | 2 | $400 | $16 | $416 |
Office Chair | $250 | 1 | $250 | $10 | $260 |
Sofa | $300 | 1 | $300 | $12 | $312 |
Other Fees | $30 | 1 | $30 | $0 | $30 |
Arithmetic validation
Subtotal: $400 + $250 + $300 = $950
Tax: $16 + $10 + $12 = $38
Shipping: $12
Convenience Fee: $30
Total: $950 + $38 + $12 = $1030
Example payload
{
"tax_amount": 3800,
"shipping_amount": 1200,
"order_number": "INV-20250527-001",
"shipping_country": "US",
"shipping_postal_code": "30303",
"shipping_from_postal_code": "30303",
"commodity_code": "3374",
"line_items": [
{
"product_code": "COUCH001",
"commodity_code": "33712",
"description": "Couch",
"unit_amount": 20000,
"quantity": 2,
"tax_amount": 1600,
"tax_rate": 4000
},
{
"product_code": "CHAIR001",
"commodity_code": "33721",
"description": "Office Chair",
"unit_amount": 25000,
"quantity": 1,
"tax_amount": 1000,
"tax_rate": 4000
},
{
"product_code": "SOFA001",
"commodity_code": "33712",
"description": "Sofa",
"unit_amount": 30000,
"quantity": 1,
"tax_amount": 1200,
"tax_rate": 4000
},
{
"product_code": "FEES001",
"commodity_code": "33712",
"description": "Other Fees",
"unit_amount": 3000,
"quantity": 1,
"tax_amount": 0,
"tax_rate": 0
}
]
}
Updated 14 days ago