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.

This endpoint requires a merchant API token. A partner API token will result in a permissions error including possibly a 403 response.

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 null, <= 9 charactersrequired

Specifies the ACH's account routing number.

Example: 021000021

Example:"021000021"
accountNumberstring or null, <= 17 charactersrequired

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"
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"
taxIdstring or null, <= 10 characters

Specifies the tax identifier.

Example: 12-3456789

Example:"12-3456789"
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, <= 20 characters

Specifies the name for the payment method.

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

Example: Peppared-Payment

Example:"Peppared-Payment"
companyNamestring or null, <= 100 characters

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: Peppared Street Cafe

Example:"Peppared Street Cafe"
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": "Peppared Street Cafe",
    "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" }