---
title: "NMI ACH"
source: https://support.storeconnect.com/articles/nmi-ach-payment-provider
type: article
format: markdown
site: StoreConnect Support — product and developer documentation for StoreConnect
site_index: https://storeconnect.com/llms.txt
docs_index: https://support.storeconnect.com/llms.txt
note: Append .md to any page or article URL on this site to get its Markdown form.
---
# NMI ACH

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](nmi-payment-provider) 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.

1. Sign into your NMI account.
2. For sandbox testing, go to **My Sandbox Keys** and copy the **Tokenization key** and the **Private Security Key** for **api (Payment and Query APIs)**.
3. For production, use the keys provided to you when your ACH account was set up.

## Configure NMI ACH in StoreConnect

1. Go to **Settings > Payments > Payment providers**.
2. 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: <your-reseller-gateway-hostname>
```

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](nmi-payment-provider).

To learn more about how ACH works, see [ACH direct debit](ach-direct-debit).

---

## Follow StoreConnect

- [Email Newsletter](https://storeconnect.com/c/lp-newsletter)
- [LinkedIn Newsletter](https://www.linkedin.com/build-relation/newsletter-follow?entityUrn=7444956928444862464)
- [YouTube](https://www.youtube.com/channel/UCngKdP2x8l1wcbAKW3tvU8g)
- [LinkedIn](https://www.linkedin.com/company/storeconnect)
- [X / Twitter](https://x.com/storeconnecthq)

## Popular Links

- [Partners](https://storeconnect.com/partners)
- [Become a Partner](https://storeconnect.com/become-a-partner)
- [News](https://storeconnect.com/articles/news)
- [Events](https://storeconnect.com/articles/events)
- [Live Events](https://storeconnect.com/live-events)
- [Feature Comparison](https://storeconnect.com/how-we-compare)
- [Download a free trial](https://appexchange.salesforce.com/appxListingDetail?listingId=a0N3A00000FMkeKUAT)
- [Book a Demo](https://storeconnect.com/contact)

## Documentation

- [Help documentation](https://support.storeconnect.com/help-documentation)
- [AI agents](https://support.storeconnect.com/ai)
- [Videos & tutorials](https://support.storeconnect.com/videos-tutorials)
- [Developer reference](https://support.storeconnect.com/developer-reference)
- [Release notes](https://support.storeconnect.com/release-notes)
- [Troubleshooting](https://support.storeconnect.com/troubleshooting)
- [Trust Center](https://trust.getstoreconnect.com/)
- [Status Page](https://status.storeconnect.com/)

## Contact

- info@getstoreconnect.com
- US +1 415 745 3230
- AUS +61 2 8365 2308

100 S Ashley Dr, Suite 600-2461
Tampa FL 33602-600 USA

Level 22, Sydney Place
180 George Street
Sydney, NSW, 2000, AUS

## Machine-readable

- [Site index for agents](https://storeconnect.com/llms.txt): curated map of the StoreConnect site in llms.txt format
- [Documentation index for agents](https://support.storeconnect.com/llms.txt): full technical and product documentation map

Every page and article on this site has a Markdown rendering: append `.md` to its URL.

Continue in Markdown: [Help documentation](https://support.storeconnect.com/help-documentation.md) · [Developer reference](https://support.storeconnect.com/developer-reference.md) · [Videos & tutorials](https://support.storeconnect.com/videos-tutorials.md) · [Release notes](https://support.storeconnect.com/release-notes.md)

---

StoreConnect Support — https://support.storeconnect.com/articles/nmi-ach-payment-provider