Connecting NMI
Connecting to NMI requires an NMI username and password. We highly recommend you create a dedicated user on NMI for this purpose rather than reusing a personal login.
-
Log in to NMI and go to My Settings → User Accounts → Add A New User.

-
Create the user account. Enable all permissions, and note the username — you will need it when connecting.
TipUse an email address you have access to. You can usually append
+apito your existing address — for example[email protected]— to get a unique address that still reaches your inbox.
You will receive an email with a link to create a password for the new user.

-
In the NMI connection screen, enter your username and password and select Save.

-
The connection is tested and you are shown a green "Connected to NMI" message. If there is an error, check that the account details are correct and that the user has been granted all permissions.

-
You will then be prompted to set up webhooks. See Enabling webhooks below.
Connection options
Our integration with NMI offers several options:
-
Enable 3DS: Enables 3D Secure support for ecommerce transactions that require it. When selected, a Public Key field appears.

To get your public key, in NMI go to My Settings → Security Keys → Add a New Public Key.

Enter a key name (for example
3DS), select the username you created in step 2, and set Key Permission to Checkout.
Then copy the value of Key from your Public Security Keys list into the Public Key field in Shuttle.

-
Enable ACH: Enables ACH as a payment method. You must also have ACH enabled on your NMI account.
-
Require address (AVS): Requires the customer to enter their billing address.
-
Enable Multiple MIDs: Lets you configure a different MID for ecommerce and MOTO transactions. Some acquirers issue separate accounts for these.

You can check your processor IDs in NMI under My Settings → Transaction Routing.

Enabling webhooks
To ensure the NMI integration operates correctly, you need to set up webhooks. This is how NMI notifies us of transaction and settlement updates.
-
In NMI, go to Settings → Webhooks.

-
Add a new webhook pointing to the URL shown in Shuttle, and select All available events.


-
You will be shown a Signing Key. Copy it back into the Webhook Signing Key field in Shuttle and save.

-
We test the webhook. This takes about two minutes and displays one of the following statuses:
- UNVERIFIED: We have not received anything. Double-check your NMI setup.
- UNSIGNED: We received a webhook but the signing key was missing or incorrect.
- VERIFIED: It is set up correctly.
