lineItemData

The lineItemData element contains several child elements used to define information concerning individual items in the order. Although the schema defines it as an optional child of the enhancedData element, it is required for Level III interchange rates.

Mastercard, Visa, and Discover allow up to 99 instances of this element in a transaction. American Express allows a maximum of 4 instances of this element in a transaction.

Parent Elements:

enhancedData

Attributes:

None

Child Elements:

Required: itemDescription

Optional: itemSequenceNumber, productCode, quantity, unitOfMeasure, taxAmount, lineItemTotal, lineItemTotalWithTax, itemDiscountAmount, commodityCode, unitCost, detailTax, itemCategory, itemSubCategory, productId, productName, subscription

When including the lineItemData element, please be aware of the following rules for its child elements:

  • itemSequenceNumber is required by Visa

  • productCode, quantity, unitOfMeasure, and lineItemTotal are required by Visa and Mastercard

  • itemDiscountAmount, commodityCode, and unitCost are required by Visa for Level III Interchange rates

Example:  lineItemData Structure

<lineItemData>

  <itemSequenceNumber>Line Item Number within Order</itemSequenceNumber>

  <itemDescription>Description of Item</itemDescription>

  <productCode>Product Code of Item</productCode>

  <quantity>Quantity of Item</quantity>

  <unitOfMeasure>Unit of Measurement Code</unitOfMeasure>

  <taxAmount>Sales Tax or VAT of Item</taxAmount>

  <lineItemTotal>Total Amount of Line Item</lineItemTotal>

  <lineItemTotalWithTax>taxAmount + lineItemTotal</lineItemTotalWithTax>

  <itemDiscountAmount>Discount Amount</itemDiscountAmount>

  <commodityCode>Card Acceptor Commodity Code for Item</commodityCode>

  <unitCost>Price for One Unit of Item</unitCost>

  <detailTax>

    <taxIncludedInTotal>true or false</taxIncludedInTotal>

    <taxAmount>Additional Tax Amount</taxAmount>

    <taxRate>Tax Rate of This Tax Amount</taxRate>

    <taxTypeIdentifier>Tax Type Enum</taxTypeIdentifier>

    <cardAcceptorTaxId>Tax ID of Card Acceptor</cardAcceptorTaxId>

  </detailTax>

  <itemCategory>Top level category of item</itemCategory>

  <itemSubCategory>sub-category of item</itemSubCategory>

  <productId>unique identifier of the item</productId>

  <productName>Name of the item</productName>

<subscriptionId>Merchant defined subscription Id</subscriptionId>

</lineItemData>