Product 3 Processing
Visa's Commercial Enhanced Data Program (CEDP) is replacing the Level 2 and Level 3 programs and interchange rates with new Product 3 interchange rates. By including enhanced data with your payments you could qualify for decreased processing rates. The required data for Product 3 rates remain the same as Level 3 data that is being replaced.
CEDP will now be analyzing and validating the data provided using an AI-based monitoring and validation system that will help verify merchants for the program. It can take up to 3 months for a merchant to become verified and start seeing the lower rates.
Only corporate, government, and business cards are eligible for Product 3 rates.
CEDP Qualification and Enhanced Data Structure
This update introduces a decoupled architecture that separates shipping logic into a dedicated object and implements a granular LineItems breakdown. These changes ensure the data precision required by payment processors to meet Level 3 compliance standards.
Request Data Structure
The developer must integrate two new structures within the payment request payload:
LineItems Object (Array)
Represents the granular breakdown of products. A maximum of 200 items is permitted per request.
| Field | Type | Required | Description |
|---|---|---|---|
| Name | String | Yes | Product name (Max 250 characters). |
| Code | String | Yes | SKU or UPC identifier (Max 50 characters). |
| Amount | Decimal | Yes | Unit price of the item |
| Quantity | Integer | Yes | Number of items purchased |
| TaxAmount | Decimal | Yes | Total tax amount applied to the item. |
| UnitOfMeasure | String | Yes | Measurement unit (e.g "oz", "meters", "unit") (Max 12 characters) |
| DiscountAmount | Decimal | No | Discount amount applied to the item |
| CommodityCode | String | No | Optional. Standardized code that should be provided that categorizes the item. This code is not required to receive the Product 3 interchange rates, but you're acquiring bank may eventually require them. Sources include but are not limited to UNSPSC, NAICS, NAPCS. |
Shipping Object
This object is mandatory for processing CEDP and Level 3 data when the order involves physical fulfillment.
| Field | Type | Required | Description |
|---|---|---|---|
| Amount | Decimal | Yes | Total shipping cost applied to the transaction. |
| DestinationPostalCode | String | Yes | Destination ZIP/Postal code (Max 10 characters) |
| DestinationCountryCode | String | Yes | 3-digit ISO 3166-1 numeric country code of the destination. |
| OriginalPostalCode | String | Yes | Origin ZIP/Postal code of the shipment (Max 10 characters). |
Amount Validation Logic
To ensure transaction acceptance under the level 3 (product 3) schema, all amounts must be mathematically precise. The system performs the following server-side validations:
Line Item Total (Per Item)
The total for each individual line item is calculated as follows:
Transaction Grand Total Validation
The primary Amount field of the payment request must be exactly equal to the sum of all components:
Any discrepancy, even by a single cent, will result in a validation error and the transaction will fail to qualify for discounted interchange rates.
Required Reference Fields
At least one of the following reference identifiers must be present in the request payload:
- OrderId
- InvoiceNo
- PONO (Purcharse Order Number)
- InvoiceId
Updated 18 days ago
