What is NMI Level 3 Data?
NMI's Level 3 data refers to a comprehensive set of information included with a payment transaction. Unlike Level 1 or Level 2 data, which may only capture basic transaction details such as amount and date, Level 3 includes line-item specifics such as item descriptions, quantities, tax amounts, and shipping information.
It’s especially useful for businesses that want transparency, need to prevent fraud, or are just tired of paying high credit card processing fees.
Why Use Level 3 Data?
Here’s what you get out of it:
Lower fees. Some card networks reward you with lower interchange rates if you include Level 3 data.
Less fraud. More detailed info means fewer shady transactions.
Better records. It’s easier to track what was bought, who bought it, and where it’s going.
More trust. Your customers (and your accountants) will love the transparency.
New Fields for NMI Processor Settings
To support Level 3 data, we’ve added several new fields to the NMI Processor Settings. These fields allow you to pass additional transaction details to NMI:
Merchant Category Code
Item Display Name
Item Quantity
Use Billing as Shipping Address (checkbox)
Item Tax Amount
Note: If these fields are not visible on your page, you may need to update the page layout. To do this, edit the NMI Layout in the Payment Processor object and ensure the necessary fields are added and set to visible.
How It Works: Implementation Logic
Here’s how the system determines what to send to NMI, based on which fields are filled in:
If Merchant Category Code is provided:
descriptor_mcc = payProcessor.fw1__Merchant_Category_Code__c
descriptor_address = org.Street
descriptor_city = org.City
descriptor_state = org.State
descriptor_postal = org.PostalCode
descriptor_country = org.Country
If Item Display Name is provided:
item_description_1 = payProcessor.fw1__Item_Display_Name__c
If Item Quantity is provided:
item_quantity_1 = payProcessor.fw1__Item_Quantity__c
If Use Billing as Shipping Address is checked:
shipping_address1=payment.fw1__Billing_Street__c
shipping_city=payment.fw1__Billing_City__c
shipping_state=payment.fw1__Billing_State__c
shipping_country=payment.fw1__Billing_Country__c
shipping_zip=payment.fw1__Billing_Zip__c
shipping_postal=payment.fw1__Billing_Zip__c
If Item Tax Amount is provided:
tax = payProcessor.fw1__Item_Tax_Amount__c
item_tax_amount_1 = payProcessor.fw1__Item_Tax_Amount__c
Availability: Spring '25
