NMI
NMI is a payment gateway that Vrio integrates with directly. Within the NMI connection there are many optional settings that you can select to customize how much information is being passed to the gateway.
Supported Functionality
| Feature | Supported |
|---|---|
| Authorization | ✅ |
| Capture | ✅ |
| Refund | ✅ |
| Void | ✅ |
| Card Tokenization | ✅ |
| Dynamic Merchant Descriptors | ✅ |
| 3D Secure | ✅ Pass your own |
| $0 Transactions | ❌ |
Setup
To connect a Merchant using the NMI Gateway,
- First add Merchant
- Select NMI as the Gateway
- Add Gateway Details as outlined below
| Gateway Details | Description |
|---|---|
| API User Name* | API Username - provided by NMI |
| API Password* | API Password - Provided by NMI |
| Processor ID | Setting the Processor ID is an advanced feature that may be required if you have multiple processors setup in your NMI account. |
| Customer Vault Enabled | If checked, Vrio will follow Vault Parameters for NMI. This includes passing the following parameters: initiated_by initial_transaction_id stored_credential_indicator Customer Vault must be enabled within NMI, check this box. For recurring payments, transactions will flow in this order: Vault (if applicable) -> Gateway transaction ID -> Full Card |
| Bypass $0 Transaction Authorizations | Check this box to bypass card validation with NMI for $0 transactions. When unchecked, a $1 authorization (voided immediately) will be used to validate the card — the result of this authorization will determine if the transaction is successful. This setting only applies to initial transactions — $0 renewals will always bypass the gateway. Learn more about $0.00 transaction handling. |
| Pass Merchant Descriptor | When checked, the merchant descriptor setup within the Merchant Account will post to NMI with the charge details. NMI supports Dynamic Descriptors. The merchant descriptor can be passed as a dynamic API variable for supported gateways. The API method impacted is /orders The goal of this feature is to simplify merchant descriptor updates without needing to reconfigure the merchant gateway. The dynamic descriptor will appear on the credit card statement of the customer. |
| Pass Additional Merchant Data | When Checked - this Merchant will pass the merchant details from the Merchant Account setup with the transaction payload. |
| Pass Stored Credentials (CIT/MIT) Data and Billing Method | When Checked - this Merchant will pass Stored Credentials (CIT/MIT) and Billing Method to NMI. initiated_by ( customer for cycle 1, merchant for cycle 2+ ) initial_transaction_id ( passing first successful transactionid for order/merchant ) stored_credential_indicator (stored for cycle 1, used for cycle 2+) billing_method (recurring when charge is recurring only) |
| Public API key | NMI tokenization key. Used by the checkout to create Apple Pay and Google Pay tokens — see Apple Pay / Google Pay. Not used for card charges. |
| Merchant Payment Methods* | The types of payment methods this merchant accepts — credit card and digital wallets. |
| Merchant Card Types* | Card types to be accepted on this Merchant |
| Merchant Default Currency* | Default currency that will be used, if currency is not specified |
| Merchant Currencies* | All currencies accepted on this merchant |
*Required
**Additional Data values available be passed with the transaction payload - when checked.
Why would I pass additional data?
Depending on the banks and type of program you are running, passing additional data with the initial and/or subsequent renewal transactions can increase approval rates.
Supported Payment Methods
Credit Card
Apple Pay
Google Pay
Card Tokenization
When Customer Vault Enabled is checked, charges made with card data ask NMI to save the card. Vrio stores the returned vault id and reuses it for every renewal.
Dynamic Merchant Descriptors
When Pass Merchant Descriptor is checked, Vrio sends the Merchant Account descriptor with every charge, or a merchant_descriptor passed when the order is processed, which is then reused for that order's renewals.
If the order later moves to a different merchant, that merchant's descriptor is used instead.
3D Secure
NMI accepts 3D Secure authentication data that you generate with a third party provider. Values are sent whenever authentication data exists on the order for the cycle being charged.
| Vrio | NMI |
|---|---|
order_cardholder_auth | cardholder_auth — verified for Y, attempted for A |
order_eci | eci |
order_cavv | cavv |
order_xid | xid |
order_3ds_version | three_ds_version |
order_3ds_ds_transaction_id | directory_server_id |
See Third Party 3DS Providers for the full parameter reference.
Testing
Note : Placing test orders using NMI test cards will not automatically set the order as a test in Vrio. Be sure to flag the order as a test using the is_test flag after the order is processed. For more details on placing test orders, click here.
For NMI test cards, check here.
Updated 2 days ago
