Skip to content

Creates an ACH payment method

Request

POST {{baseURL}}/v2/payment-methods/ach

This endpoint creates an ACH (automated clearing house) payment method.

The ACH account information is tokenized and stored, assigning it to the merchant.

Tokenization means the sensitive payment data, such as the ACH account number or bank account number, is submitted to Flute once. After that, Flute assigns a non-sensitive value to paymentMethodId. The paymentMethodId is then used as the payment reference for later transactions.

For Business ACH where the orphan caller will not supply ContactInfo on transactions, include companyName so the legal entity name is available at transaction time.

See Also:
To add a new card payment method, see POST /v2/payment-methods/cards.
To list payment methods, see GET /v2/payment-methods.
To retrieve a payment method by ID, see GET /v2/payment-methods/{{paymentMethodId}}.

Security
Bearer
Bodyapplication/json
routingNumberstring or nullrequired

Specifies the ACH's account routing number.

Example: 021000021

Example:"021000021"
accountNumberstring or nullrequired

Specifies the bank account number for the ACH transaction.

We recommend avoiding the use of an account number. Instead, use paymentMethodId when possible.

Example: 1234567890

Example:"1234567890"
taxIdstring or null

Specifies the tax identifier.

Example: 12-3456789

Example:"12-3456789"
accountHolderTypestringrequired

Identifies the holder type of the account.

Valid values are:

TypeDescription
BusinessCard issued to a business or company account.
PersonalCard issued to an individual for personal use.

Example: Business

Enum:"Business""Personal"
Example:"Business"
accountTypestringrequired

Identifies the type of the account.

Valid values are:

TypeDescription
CheckingAccount used for regular daily transactions.
SavingsAccount used to hold and grow funds over time.

Example: Checking

Enum:"Checking""Savings"
Example:"Checking"
customerIdstring or null, (uuid)

Identifies the customer to link this payment method to.

This value may be null when this payment method is an orphan owned by the merchant directly. An orphan payment method is a payment method in the merchant's vault but has no customer record associated with it.

Example: 8fa8e727-73c6-436e-b56f-6f55aabf3b1c

Example:"8fa8e727-73c6-436e-b56f-6f55aabf3b1c"
namestring or null

Specifies the name for the payment method.

This is a free-formed name that is convenient for the merchant to recognize.

Example: Peppared Street Cafe's Preferred Payment

Example:"Peppared Street Cafe's Preferred Payment"
companyNamestring or null

Specifies the name of the customer's company or organization.

This is the legal entity name. Required for orphan Business ACH transactions when the request does not supply it on the transaction's ContactInfo.

Example:"Acme Corp Inc"
curl -i -X POST \
  https://sandbox.api.flute.com/v2/payment-methods/ach \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "customerId": "3ad6a05a-48b4-4c77-9601-fdad2963b92b",
    "name": "Business Checking",
    "companyName": "Acme Corp Inc",
    "routingNumber": "021000021",
    "accountNumber": "1234567890",
    "taxId": "12-3456789",
    "accountHolderType": "Business",
    "accountType": "Checking"
  }'

Responses

OK

Bodyapplication/json
paymentMethodIdstring or null, (uuid)

Indicates the payment method identifier.

This is the identifier of a previously saved ACH account to charge.

Example: 39a95e35-6d50-45ec-884b-c2417edf005d

Example:"39a95e35-6d50-45ec-884b-c2417edf005d"
Response
{ "paymentMethodId": "83eed29d-849d-4aff-8ff7-02783bfe97d5" }