ACH

How to process ACH bank payments with PCE Checkout.

ACH (Automated Clearing House) payments are electronic bank transfers that use a customer’s bank account and routing number instead of a credit card. They’re commonly used for recurring bills, payroll, and other bank-to-bank payments, and can be offered as an additional payment method alongside cards.

Prerequisites and limitations

  • Prerequisites: You must sign in to your account and activate the ACH.COM app before making ACH charges.
  • Limitations: ACH has longer funding time frames and a higher risk of rejection (often three to seven days after the transaction) compared to credit cards, which authorize in real time.

Use Cases

ACH is commonly used for:

  • Depositing payroll.
  • Paying bills and utilities.
  • Property management payments.
  • Merchants who want to offer additional payment methods to their customers beyond credit cards.

Presentment Types

When you create an ACH payment, you choose an entry class that describes how the bank information was obtained:

  • TEL (Telephone Payments) The customer provides their bank account and routing number to the merchant over the phone to make an ACH payment.

  • WEB (eCommerce / Shopping Cart) The customer enters their bank account and routing number on the merchant’s website to make an ACH payment.

  • PPD (Pre-Arranged Payment) The customer provides their bank account and routing number to the merchant in person for a one-time or recurring ACH payment.

  • CCD (Corporate Cash Deposit) A company provides its bank account and routing number to the merchant for a business payment or recurring ACH payments.

How ACH Works

These diagrams illustrate the high-level flow for ACH transactions from initiation through to settlement and potential return.

Things to Keep in Mind

  • Cost vs. timing: ACH payments are traditionally less expensive than card payments, but they come with a longer funding timeframe.

  • Rejection window: ACH payments have a higher risk to reject, and rejections can occur three to seven days after the transaction is made.

  • Risk for shipped goods / cash-and-carry: Because an ACH transaction can reject several days after the initial date, there’s added risk for merchants who:

    • Ship physical goods.
    • Offer “cash and carry” services.

    The merchant may deliver goods or services and later find out the ACH payment was rejected.

📘

Before making ACH charges, you need to sign into your account and activate the ACH.COM app.

Making an ACH Transaction

Step 1: Choose the ACH entry class

Set up a POST /payment request and choose the ACH indicator type (entry class) you want to use: CCD, PPD, TEL, or WEB.

Step 2: Configure the HTTP request

  • Set HTTP method to POST.
  • Use the /payment route.

Step 3: Add authentication and headers

  • Supply the request with your username and password in the Authorization header, using Base-64 encoding.
  • Set Content-Type to application/json.

Step 4: Provide bank account details in the request body

Include the necessary fields in the bankAccount object and specify the ACH entry class:

{
  "merchantId": 4xxxxxxxxx0,
  "tenderType": "ACH",
  "paymentType": "Sale",
  "authOnly": false,
  "isAuth": true,
  "isSettleFunds": true,
  "entryClass": "CCD",
  "bankAccount": {
    "type": "Checking",
    "routingNumber": "0xxxxxxx2",
    "accountNumber": "1xxxxxxxxxx9",
    "alias": "test",
    "name": "test"
  },
  "amount": 0.01
}
  • merchantId: Merchant identifier.
  • tenderType: Set to "ACH".
  • paymentType: "Sale".
  • authOnly, isAuth, isSettleFunds: Control authorization and settlement behavior.
  • entryClass: One of CCD, PPD, TEL, or WEB.
  • bankAccount: Bank account details (type, routing number, account number, alias, and name).
  • amount: Payment amount.

If you’d like to get the full response object, supply echo=true as a URL parameter (for example, POST /payment?echo=true). This avoids a separate GET call to retrieve the payment details.

Step 5: Verify the response

If the payment posts correctly, you should expect:

  • HTTP 201 response code.
  • The payment object’s status field set to Approved.

© 2025 Priority Technology Holdings LLC. All rights reserved.