Create an ACH token

United States
Canada

The Automated Clearing House (ACH) is an electronic network for processing electronic payments between banks.

To process secure ACH payments, use the API source token along with an OAuth token to complete the Ecommerce API flow.

Steps

  1. Generate a PAKMS key.
  2. Send a POST request to the /v1/tokens endpoint. See Create an ACH token.
  3. Enter information in the required fields.
FieldDescriptionRequire/Optional
bank_account_numberCustomer's bank account number.
Length: 10–12 digits.
Required
bank_routing_numberCustomer's bank routing number. A 9-digit code that identifies the transaction source of any financial institution (FI).Required
encryptedIndicates whether the bank account number and customer identifier (Id) are encrypted.
Values:
- True
- False
Optional
check_type Indicates whether a bank account is a personal or a business account.
Values:
- Personal_check (first name, last name, and email required)
- Corporate_check (first name, last name, and email not required)
Required
account_typeIndicates whether a bank account is a checking or a savings account.
Values:
- Savings
- Checking
Required
customer_id_typeIndicates the type of customer identification document.
Example: driver_license, ssn, tax_id, or miilitary_id
Required
customer_id_stateState indicated on the customer ID, for example, NJ driver license.Required
customer_idValue or details of the customer ID, for example, driver license number.Required
first_nameFirst name on the check. Required for personal check.
last_nameLast name on the check. Required for personal check.
business_nameBusiness name on the check. Required for corporate check.
emailCustomer’s email address.Required
phoneCustomer’s phone number.Required
session_idIndicates the session identification of an authenticated session.Optional
address_line1First line of the address. Can include the street address, PO box, or company name.Required
address_line2Second line of the address. Can include the apartment, suite, unit, or building number.Optional
address_cityCity of the customer address. Can include district, suburb, town, or village.Required
address_stateState of the customer address. Can include county, province, or region.Required
address_zipPostal or ZIP code of the customer address.Required
address_countryBilling address country, if provided.Optional
agreementAgreement-related information.
Note: Use the generic id for the sandbox: 2c74dcc0-61ad-4f08-8764-a29aeb98f4a4
or for production: 4f77df6d-70c9-4f36-af1d-f8ad1ad7b0cc
Required
apikeyUniversally 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

  1. 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": "2c74dcc0-61ad-4f08-8764-a29aeb98f4a4",
                	"type": "E_CHECK_GENERIC",
                	"locale": "en_US",
                	"template_data": "firstName:John"
                }
        },
}'

Response example

{"id": "clv_1ABCDefgHI23jKL4m5nOPQrS", "object": "token", "ach": {"account_last4": "7891", "routing_last4": "6789"}}