Pay By ACH
This guide is for developers integrating ACH debit payments - either against an existing customer record or as a one-time transaction without a customer profile.
OverviewThis guide walks through creating and capturing an ACH payment using the Payarc API. It covers two paths: charging a bank account already associated with an existing customer, and submitting a one-time ACH charge without any prior customer record. Both paths result in an
ACHChargeobject that confirms the debit movement. Choose the path that matches your integration model before you begin.
Prerequisites
Before you begin, make sure you have:
- A valid Bearer token from the Merchant Dashboard
- The appropriate SEC code for your transaction type (see SEC Code reference in Step 2 below)
- Access to the Payarc API sandbox or production environment
- A test bank account — see Test Bank Account
- For Option 1 only: An existing customer ID created via the Create Customer API
Option 1: Existing Customer
Step 1: Create Bank Account
Assign the customer's bank account information to their existing customer record before initiating the charge. This produces a reusable bank account token tied to the customer that the charge step will reference.
- To create the Customer's Bank Account, see the API Reference: here
- What you get back: A
BankAccountpayload containing the bank accountid, which will be needed in Step 2.
Step 2: Create an ACH Charge
With the bank account created, initiate the ACH debit against the customer's account. You'll need the customer_id from your existing customer record and the SEC code that matches your transaction authorization method.
- To create an ACH Charge, see the API Reference: here
- What you get back: An
ACHChargeobject. Theidfield (e.g.,g9dDE7GDaA527eAa) confirms the transaction and can be used for voids, refunds, or reconciliation.
Tip: When paying by ACH as an existing customer, Payarc only supports the following SEC Codes:
CCD,PPD,TEL,WEB.
Option 2: One-Time Payment
Step 1: Create an ACH Charge
Repeat Step 2: Create an ACH Charge from Option 1: Existing Customer.
To create an ACH Charge, see the API Reference: here
Tip: Just like in Step 2: Create an ACH Charge from Option 1: Existing Customer, Payarc only supports the following SEC codes:
CCD,PPD,TEL,WEB.
Tip: If you would like the charge to be linked back to the customer, include the
customer_id. Otherwise, leave it empty.
What's Next
Now that you've created an ACH charge, you can:
- Retrieve an ACH Charge
- Assigning Payment Methods
- Retrieve Payment Data
- Pay By Card — Existing Customer (for card-based flows)