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:
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
, andlineItemTotal
are required by Visa and Mastercard -
itemDiscountAmount
,commodityCode
, andunitCost
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>