NMI ACH
On this page
This topic explains how to configure NMI ACH as a payment provider in StoreConnect, so customers can pay by direct debit from a US bank account.
NMI ACH is a separate payment provider from NMI card payments. If you want to offer both, create a Payment Provider record for each. See NMI for the card provider.
Supported features
- Standard Checkout
- Subscriptions
- Update Subscriptions
Refunds can’t be processed through StoreConnect for this provider. Refund an ACH payment in your NMI account instead.
Before you begin
- An NMI account with ACH enabled
- Your NMI Tokenization key and Private Security Key
- Permission to create records in Settings > Payments > Payment providers
Get credentials from NMI
NMI provides both of the keys you need. They also provide separate keys for testing the integration in a sandbox.
- Sign into your NMI account.
- For sandbox testing, go to My Sandbox Keys and copy the Tokenization key and the Private Security Key for api (Payment and Query APIs).
- For production, use the keys provided to you when your ACH account was set up.
Configure NMI ACH in StoreConnect
- Go to Settings > Payments > Payment providers.
- Select New, complete the fields as follows, then Save.
| StoreConnect field | Select or enter |
|---|---|
| Name | NMI ACH, or NMI ACH - test (for sandbox) |
| Display Name | The label customers see at checkout, for example Bank account |
| Provider | The NMI ACH option (picklist value API name NmiAch) |
| API Mode | sandbox or production |
| API Key | Your NMI Tokenization key |
| API Secret | Your Private Security Key (Payment and Query APIs) |
| Channels | Leave blank, or include web |
:::warning The API Key field must contain your NMI Tokenization key. StoreConnect passes it to NMI’s Collect.js library, which renders the bank account fields at checkout. If it is empty, those fields do not appear and customers cannot pay. :::
:::note
Channels controls where the provider is offered. A provider that excludes web is not available at checkout or on subscription renewals, and renewals fail with an unsupported payment method message. The provider must also be Active for subscription renewals to charge.
:::
The new method now appears at checkout under the Display Name you set, alongside any other payment providers on the store.
Configure a custom gateway endpoint
NMI reseller gateways, for example Pinnacle Bank, host merchant accounts on their own API endpoints rather than NMI’s default infrastructure. To connect to a reseller gateway, add a gateway_host option to the API Options field on the Payment Provider record:
```yaml
gateway_host:
For example:
```yaml
gateway_host: secure.pinnaclebankpayments.com ```
The gateway_host value is the fully qualified domain name of the reseller’s gateway. StoreConnect uses this host for all API calls and for loading the Collect.js tokenization script. When gateway_host is not set, StoreConnect falls back to NMI’s default endpoints (sandbox.nmi.com in sandbox mode, secure.nmi.com in production).
:::note Contact your NMI reseller for the correct gateway hostname. This value is specific to each reseller’s infrastructure and cannot be found in the standard NMI documentation. :::
What customers see at checkout
When a customer selects the ACH method, they complete these fields:
- Account holder type — personal or business
- Account type — checking or savings
- Routing number
- Account number
- Name on account
The routing number and account number are hosted by NMI’s Collect.js library, so those values are sent straight to NMI and never reach your store or your Salesforce org.
Subscriptions and renewals
When a customer pays by ACH for a subscription, StoreConnect stores a reusable vault entry with NMI and saves the reference on the Subscription record, so renewals can be charged without asking for the bank details again.
The Payment Source Identifier on the subscription holds the name on the account, not a masked account number. A bank account has no expiry date, so no expiry is stored.
Customers update their saved bank details from the payment section of their subscription in their account.
Payment status and reconciliation
ACH is not an instant payment method. The bank confirms the debit after the customer completes checkout, so the Payment record is created with a status of Pending while the debit clears. The NMI transaction ID is stored on the payment record so you can reconcile it against your NMI account once the funds are credited.
:::warning
A payment that is still Pending cannot be refunded through StoreConnect.
:::
Limitations
- ACH is a US bank network, so this provider only supports payments in USD from US bank accounts.
- It takes 1-4 business days before the money is credited to your account.
- A debit can be returned after it appears to have cleared, for example for insufficient funds or a closed account. Use your NMI account as the source of truth for returns.
- 3D Secure does not apply to bank payments. It is a card feature, covered in NMI.
To learn more about how ACH works, see ACH direct debit.
Was this article helpful?
Thanks for your feedback! It helps us improve our docs.