---
title: Enable eCheck for Payment Service
slug: commerce-composable-modules/payment-gateway
docTags: 
createdAt: 2026-09-02T11:31:09.732Z
---

eCheck lets shoppers pay directly from a bank account instead of a credit card. Payments move through the Automated Clearing House (ACH) network. Offer eCheck to give buyers a lower-cost alternative to card payments on high-value orders.

Payment Service processes eCheck payments through Spreedly, the same service it uses for credit cards. eCheck reuses the Spreedly configuration already in place, so you do not need a separate Spreedly account, environment key, or credentials.

Configure eCheck in two steps:

- Create an eCheck payment method, so shoppers can select it at checkout.
- Route eCheck transactions to Payment Service in the Order Management settings.

## Prerequisites

Confirm the following before you configure eCheck.

- [Payment Service enabled for Configured Commerce](docId\:F8ydBP8qbzpBx69Yi2AXk), with Spreedly configured for credit card processing.
- A gateway connected to Payment Service that supports ACH transactions.
- ACH or bank account payments enabled in the merchant portal of that gateway. Most gateways require you to turn on bank account payments separately from card payments.

## Supported gateways

eCheck support depends on the gateway you connect to Payment Service, not on Payment Service itself. The following gateways support eCheck in Configured Commerce 5.2.2607:

- Authorize.net
- Vantiv
- NMI
- Cybersource
- Adyen

Stripe Payment Intents does not support eCheck through Spreedly. Connect a different gateway to handle eCheck when your site processes card payments through Stripe.

## Create the eCheck payment method

Shoppers select eCheck at checkout only when a payment method record exists with the eCheck flag turned on.

1. Go to **Sales > Payment Methods** in the Admin Console.
2. Click **+ Payment Method**.
3. Enter a name in the **Name** field, for example *eCheck*.
4. Enter a description in the **Description** field, for example *Pay eCheck*. Shoppers see the description at checkout, so use wording they recognize.
5. Set the payment type flags.
   - **Credit Card** – **No**
   - **eCheck** – **Yes**
   - **Is Bnpl** – **Off**
6. Set a date and time in the **Activate On** field. The payment method reaches shoppers only after this date.
7. (Optional) Set a date and time in the **Deactivate On** field when the payment method should expire.
8. Click **Save** or **Save Add New** to add another payment method. Turn on only one of **Credit Card**, **eCheck**, or **Is Bnpl** per payment method. A payment method with more than one type turned on does not behave predictably at checkout.

## Route eCheck through Payment Service

Route eCheck transactions to Payment Service so the storefront collects bank account details and tokenizes them through Spreedly.

1. Go to **Administration > System > Settings** in the Admin Console.
2. Select the website you want to configure in the **Configuring** drop-down list. Select **Global Defaults** to apply the change to every site.
3. Select **Order Management**.
4. Set **eCheck Gateway IFrame** to **Spreedly** in the **Payment** section.
5. Confirm that **eCheck Payment Gateway** now reads PaymentService. The **eCheck Gateway IFrame** value sets this field automatically and makes it read-only.
6. Click **Save**.

The Admin Console needs no further configuration. eCheck transactions reuse the Spreedly settings already configured for credit cards.

The **eCheck Token Scheme** setting applies only to **TokenEx**. It has no effect on Spreedly eCheck transactions.

## What shoppers see at checkout

The eCheck checkout flow matches the credit card flow. Only the payment method selection and the payment fields differ.

1. The shopper adds items to the cart and works through checkout.
2. The shopper selects the eCheck payment method in the **Payment Method** drop-down list on the **Review and Pay** page.
3. The **eCheck Details** form displays and collects the following values.
   - **Account Holder Name** – The full name on the bank account.
   - **eCheck Account Number** – The bank account number.
   - **eCheck Routing Number** – The nine-digit routing number of the bank.
   - **Bank Account Type** – **Checking** or **Savings**. Defaults to **Checking**.
   - **Bank Account Holder Type** – **Personal** or **Business**. Defaults to **Personal**.
4. The shopper confirms the billing address and clicks **Place Order**.

Spreedly tokenizes the bank account details in the browser of the shopper. Configured Commerce never stores the account number or the routing number. Order confirmation and error handling work the same way as credit card payments.

## Verify eCheck at checkout

Run the following checks before you go live.

- The eCheck payment method displays in the **Payment Method** drop-down list on the **Review and Pay** page. If it does not, confirm that the **Activate On** date has passed and that **Enable eCheck as Payment Method** is **Yes** in **Order Management**.
- The **eCheck Details** form displays five fields, including **Bank Account Type** and **Bank Account Holder Type**.
- A test order completes end to end, and the transaction displays in the merchant portal of your gateway.
- Checkout works for guest and signed-in shoppers, on standard checkout and one-page checkout.
- An invalid routing number or account number produces an error at checkout instead of a placed order.
