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.

FieldTypeRequiredDescription
NameStringYesProduct name (Max 250 characters).
CodeStringYesSKU or UPC identifier (Max 50 characters).
AmountDecimalYesUnit price of the item
QuantityIntegerYesNumber of items purchased
TaxAmountDecimalYesTotal tax amount applied to the item.
UnitOfMeasureStringYesMeasurement unit (e.g "oz", "meters", "unit") (Max 12 characters)
DiscountAmountDecimalNoDiscount amount applied to the item
CommodityCodeStringNoOptional. 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.

FieldTypeRequiredDescription
AmountDecimalYesTotal shipping cost applied to the transaction.
DestinationPostalCodeStringYesDestination ZIP/Postal code (Max 10 characters)
DestinationCountryCodeStringYes3-digit ISO 3166-1 numeric country code of the destination.
OriginalPostalCodeStringYesOrigin 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