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.

Product 3 Data

For Product 3 processing, the following data should be supplied.

  • Order Number
  • Line items for the order
    • Item Name
    • Item Code
    • Commodity Code
    • Quantity
    • Unit of Measure
    • Item Amount
    • Tax Amount
    • Discount Amount
  • Shipping Information if the order was shipped
    • Origin Postal Code
    • Destination Postal Code
    • Shipping Amount

In addition to data analysis the payment amount must match up with the total from the order.

  • line item total = (item amount * quantity) + tax amount - discount amount
  • payment total = line item total + surcharge amount + shipping amount

Order Info

All Sale endpoints have an order_info object that can be used to pass across Product 3 card processing data. This object can also simply be used as convenience for storing order data regardless of the payment method. However, if line items are included Product 3 validation will be run.

Fields

order_info FieldTypeDescription
line_items[].amountdecimalRequired. The amount for 1 item
line_items[].amount_discountdecimalOptional. The amount of discount applied to the item
line_items[].amount_taxstringRequired. The amount of tax on the item
line_items[].codestringRequired. Max length 50. An identifier for the product such as a SKU or UPC
line_items[].commodity_codeOptional. 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.
line_items[].namestringRequired. Max length 250. Name of the product purchased
line_items[].quantityintRequired. Number of this item purchased
line_items[].unit_of_measurestringRequired. Max length 12. The unit of measure for the item such as 'oz', 'meters', 'quarts', etc. If the item has no unit measure a generic descriptor such as 'each' or 'unit' can be used.
order_numberstringMax length 50. The order number, invoice number, or purchase order number, etc. Required for CEDP processing and Product 3 interchange rates.
shipping.amountdecimalTotal amount for shipping that is included in the amount field of the sale. Required for CEDP processing and Product 3 interchange rates when shipping.amount is provided.
shipping.destination_country_codestringLength 3. The 3-digit ISO 3166-1 country code where the order is being shipped. Required for CEDP processing and Product 3 interchange rates when shipping.amount is provided.
shipping.destination_postal_codestringMax length 10. Postal code where the order is being shipped. Required for CEDP processing and Product 3 interchange rates when shipping.amount is provided.
shipping.origin_postal_codestringMax length 10. Postal code where the order is being shipped from. Required for CEDP processing and Product 3 interchange rates when shipping.amount is provided.

Sale Request

{
  "...",
  "order_info": {
    "line_items": [
      {
        "amount": 5.25,
        "amount_discount": 1.00,
        "amount_tax": 0.75,
        "code": "ABCD123",
        "commodity_code": "10101508",
        "name": "item name",
        "quantity": 2,
        "unit_of_measure": "each"
      },
      {
        "amount": 3.00,
        "amount_tax": 0.25,
        "code": "JGH98",
        "commodity_code": "10203609",
        "name": "item name",
        "quantity": 1,
        "unit_of_measure": "liter"
      }
    ],
    "order_number": "ord_3847476",
    "shipping": {
      "amount": 3.70,
      "destination_country_code": "USA",
      "destination_postal_code": "80202",
      "origin_postal_code": "75025"
    }
  }
}