enhancedData
The enhancedData
element allows you to specify extra information concerning a transaction in order to qualify for certain purchasing interchange rates. The following tables provide information about required elements you must submit to achieve Level 2 or Level 3 Interchange rates for Visa and Mastercard. You also use various child elements to supply information required for the Guaranteed Payments service.
For Mastercard:
-
The transaction must be taxable.
-
The tax charged must be between 0.1% and 30% of the transaction amount, except as noted below.
-
For Level 3, the transaction must use a corporate or purchasing card.
-
For Level 3, you must include at least one line item with amount, description, and quantity defined.
You can qualify for Mastercard Level 2 rates without submitting the total tax amount (submit 0) if your MCC is one of the following: 4111, 4131, 4215, 4784, 5499, 8211, 8220, 8398, 8661, 9211, 9222, 9311, 9399, 9402. This also applies to Level 3, regardless of your MCC (i.e., submission of 0 allowed). Also, Mastercard no longer supports Level 3 rates for Business cards.
TABLE 4-1 Mastercard Level 2/Level 3 Data Requirements
Mastercard Level 2 Data |
Mastercard Level 3 Data |
cnpAPI Element (child of enhancedData unless noted) |
---|---|---|
Customer Code (if supplied by customer) |
Customer Code (if supplied by customer) |
customerReference |
Card Acceptor Tax ID |
Card Acceptor Tax ID |
cardAcceptorTaxId (child of detailTax) |
Total Tax Amount |
Total Tax Amount |
salesTax |
|
Product Code |
productCode (child of lineItemData) |
|
Item Description |
itemDescription (child of lineItemData) |
|
Item Quantity |
quantity (child of lineItemData) |
|
Item Unit of Measure |
unitOfMeasure (child of lineItemData) |
|
Extended Item Amount
|
lineItemTotal (child of lineItemData) or lineItemTotalWithTax (child of lineItemData) |
In addition to the requirements below, please be aware of the following:
For Visa:
-
The transaction must be taxable.
-
The tax charged must be between 0.1% and 22% of the transaction amount, except as noted.
-
For Level 3, the transaction must use a corporate or purchasing card.
Sales Tax is no longer required for Level 3. In this case omit the <salesTax > element entirely.
TABLE 4-2 Visa Level 2/Level 3 Data Requirements
Visa Level 2 Data |
Visa Level 3 Data |
cnpAPI Element (child of enhancedData unless noted) |
---|---|---|
Sales Tax |
|
salesTax |
|
Discount Amount |
discountAmount |
|
Freight/Shipping Amount |
shippingAmount |
|
Duty Amount |
dutyAmount |
|
Item Sequence Number |
itemSequenceNumber (child of lineItemData) |
|
Item Commodity Code |
commodityCode (child of lineItemData) |
|
Item Description |
itemDescription (child of lineItemData) |
|
Product Code |
productCode (child of lineItemData) |
|
Quantity |
quantity (child of lineItemData) |
|
Unit of Measure |
unitOfMeasure (child of lineItemData) |
|
unit Cost |
unitCost (child of lineItemData) |
|
Discount per Line Item |
itemDiscountAmount (child of lineItemData) |
|
Line Item Total |
lineItemTotal (child of lineItemData) |
For Discover transactions, the interchange rate is not impacted by the presence of Level 2 or Level 3 data.
Parent Elements:
authorization, BNPLAuthorizationRequest, capture, captureGivenAuth, credit, forceCapture, sale
Child Elements: (all Optional)
customerReference, salesTax, deliveryType, taxExempt, discountAmount, shippingAmount, dutyAmount, shipFromPostalCode, destinationPostalCode, destinationCountryCode, invoiceReferenceNumber, orderDate, detailTax, lineItemData, discountCode, discountPercent, fulfilmentMethodType,
Example: enhancedData Structure
<enhancedData>
<customerReference>Customer Reference</customerReference>
<salesTax>Amount of Sales Tax Included in Transaction</salesTax>
<deliveryType>TBD</deliveryType>
<taxExempt>true or false</taxExempt>
<discountAmount>Discount Amount Applied to Order</discountAmount>
<shippingAmount>Amount to Transport Order</shippingAmount>
<dutyAmount>Duty on Total Purchase Amount</dutyAmount>
<shipFromPostalCode>Ship From Postal Code</shipFromPostalCode>
<destinationPostalCode>Ship To Postal Code</destinationPostalCode>
<destinationCountryCode>Ship To ISO Country Code</destinationCountryCode>
<invoiceReferenceNumber>Merchant Invoice Number</invoiceReferenceNumber>
<orderDate>Date Order Placed</orderDate>
<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>
<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>Category of Item</itemCategory>
<itemSubCategory>Subcategory of Item</itemSubCategory>
<productId>Product Identifier</productId>
<productName>Name of Product</productName>
</lineItemData>
<discountCode>Code used for discount at checkout</discountCode>
<discountPercent>Percent discount off original price in decimal</discountPercent>
<fulfilmentMethodType>Method of delivery</fulfilmentMethodType>
</enhancedData>