Create an ACH token
United States
Canada
The Automated Clearing House (ACH) is an electronic network for processing electronic payments between banks. ACH lets you accept payments from customers who have United States (US) bank accounts.
Prerequisites
To process secure ACH payments, you need to:
- Generate an ACH token.
- Use the API source token along with an OAuth token to complete the Ecommerce API flow.
Steps
- Generate a PAKMS key.
- Send a POST request to the
/v1/tokens
endpoint. See the Create an ACH token. - Enter information in the required fields.
Field | Description | Require/Optional |
---|---|---|
bank_account_number | Customer's bank account number. Length: 10-12 digits. | Required |
bank_routing_number | Customer's bank routing number. A 9-digit code that identifies the transaction source of any financial institution (FI). | Required |
encrypted | Indicates whether the bank account number and customer identifier (ID) are encrypted. Values: - True - False | Required |
check_type | Indicates the check type. Values: - personal_check (first name, last name, and email required) - corporate_check (first name, last name, and email not required) | Required |
account_type | Indicates the customer’s bank account type. Values: - Savings - Checking | Required |
customer_id_type | Indicates the type of customer identification document. Example: driver_license, ssn, tax_id, or miilitary_id | Required |
customer_id_state | State indicated on the customer ID, for example, NJ driver license. | Required |
customer_id | Value or details of the customer ID, for example, driver license number. | Required |
first_name | First name on the check. | Required for personal check. |
last_name | Last name on the check. | Required for personal check. |
business_name | Business name on the check. Required for corporate check. | Required |
email | Customer’s email address. | Required |
phone | Customer’s phone number. | Required |
session_id | Indicates the session identification of an authenticated session. | Optional |
address_line1 | First line of the address. Can include the street address, PO box, or company name. | Required |
address_line2 | Second line of the address. Can include the apartment, suite, unit, or building number. | Required |
address_city | City of the customer address. Can include district, suburb, town, or village. | Required |
address_state | State of the customer address. Can include county, province, or region. | Required |
address_zip | Postal or ZIP code of the customer address. | Required |
address_country | Billing address country, if provided. | Optional |
agreement | Agreement-related information, for example related to check by phone (CBP), E-check, or personal warranty. | Required |
apikey | Universally unique identifier (ID) of the API. | Required |
A single-use ACH token is returned. The token is alphanumeric and begins with clv_. Example: clv_1ABCDefgHI23jKL4m5nOPqR
- Use the ACH token for a single payment for charge or pay for an order.
Request example
curl --request POST \
--url 'https://token-sandbox.dev.clover.com/v1/tokens' \
--header 'apikey: xxx'
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '{
"ach": {
"bank_account_number": "1234567891",
"bank_routing_number": "123456789",
"check_type": "personal_check",
"account_type": "checking",
"customer_id_type": "driver_license",
"customer_id_state": "CA",
"customer_id": "10981111",
"first_name": "John",
"last_name": "Doe",
"address_line1": "1800 Amphibious Blvd",
"address_city": "Mountain View",
"address_state": "CA",
"address_zip": "94045",
"phone": "0005550001",
"email": "[email protected]",
"agreement": {
"agreement_id": "456",
"type": "E_CHECK_ICA_PERSONAL_SETTLEMENT",
"locale": "en_US",
"template_data": "firstName:John"
}
},
}'
Response example
{"id": "clv_1ABCDefgHI23jKL4m5nOPQrS", "object": "token", "ach": {"account_last4": "7891", "routing_last4": "6789"}}
Updated 22 days ago