Skip to content

Creates an ACH credit payment

Request

POST {{baseURL}}/pay-api/v1/transactions/ach/payment/credit

This endpoint creates a credit ACH (automated clearing house) transaction to transfer funds from the merchant to the customer.

It specifically transfers money from the sender's bank account to the recipient's account. This is used in credit operations, such as payouts or refunds without reference. A refund without reference (also called unreferenced refunds) are refunds issued without linking it back to original receipt.

The following is an example of the minimum call.

The endpoint call:

POST {{baseURL}}/pay-api/v1/transactions/ach/payment/credit

The endpoint request body:

{
  "paymentProcessorId": "4acafddf-68a7-4aeb-9778-87582d121307",
  "paymentMethodId": "55419052-670c-497b-a53d-43d21ef45e14",
  "amount": 123.45,
  "secCode": 3,
  "RequesterIpAddress": "2001:0db8:85a3:0000:0000:8a2e:0370:7334"
}

See Also:
To create an ACH debit payment, see POST /pay-api/v1/transactions/ach/payment.
To hold an ACH transaction, see POST /pay-api/v1/transactions/ach/{transactionId}/hold.
To release a held ACH transaction, see POST /pay-api/v1/transactions/ach/{transactionId}/unhold.
To void an ACH transaction, see POST /pay-api/v1/transactions/ach/{transactionId}/void.

Security
Bearer
Bodyapplication/json
amountnumber, (double)required

Specifies the payment amount.

Example: 129.99

Example:129.99
paymentProcessorIdstring, (uuid)required

Specifies the ACHQ (ACH check) payment processor identifier.

A list of available payment processers can be found with GET {{baseURL}}/pay-api/v1/configurations/payments. See response availablePaymentProcessors.id.
If omitted, the merchant's default payment processor will be used.

Example: f4e41489-aea6-4279-b6f1-e1f9bffd5358

Example:"f4e41489-aea6-4279-b6f1-e1f9bffd5358"
paymentMethodIdstring or null, (uuid)required

Identifies the customer payment method identifier.

We recommend using paymentMethodId instead of accountNumber.

Example: b6df8625-cd25-4123-b345-638aa7b5d011

Example:"b6df8625-cd25-4123-b345-638aa7b5d011"
accountNumberstring or null

Specifies the payment target's bank account number.

We recommend using paymentMethodId instead of accountNumber.

Example: 5413591081013511

Example:"5413591081013511"
routingNumberstring or null

Specifies the payment target's bank routing number.

Example: 026009593

Example:"026009593"
secCodeinteger, (int32)required


Specifies the SEC (standard entry class) code for the payment method.

Allowed values:

Type IDEntry TypeDescription
1WebInternet-initiated/mobile entries. Default value.
2PPDPrearranged payment and deposit entries.
3CCDCorporate credit or debit.
4TelephoneTelephone-initiated entries.

Example: 1

Default:1
Example:1
requesterIPaddressstring, [ 1 .. 45 ] charactersrequired

Specifies the IP address of the end user.

This is an IPv4 or IPv6 address. This may be the customer, operator, or application responsible for submitting the transaction.

Examples:
192.168.1.1
2001:0db8:85a3:0000:0000:8a2e:0370:7334

Example:"192.168.1.1"
customerIdstring or null, (uuid)

Specifies the customer identifier.

Example: 87d8e330-2878-4742-a86f-dbbb3bf522ac

Example:"87d8e330-2878-4742-a86f-dbbb3bf522ac"
isFasterProcessingboolean

Specifies ACH (automated clearing house) transaction has same day processing enabled.

Must be empty or null for card subscriptions.

If true, same day processing is enabled.
If false, same day processing is not enabled.

Example: false

Default:false
Example:false
taxIdstring or null

Specifies the customer's TIN (tax identifier).

Example: 98-7654321

Example:"98-7654321"
accountTypeinteger, (int32)

Identifies the account type.

Possible values:

Type IDAccount TypeDescription
1CheckingChecking
2SavingsSavings

Example: 1

Example:1
accountHolderTypeinteger, (int32)

Identifies the account holder type.

Possible values:

Type IDAccount TypeDescription
1BusinessBusiness
2PersonalPersonal

Example: 1

Example:1
billingAddressobject

Specifies an object defining the address.

shippingAddressobject

Specifies an object defining the address.

contactInfoobject

This group contains the customer's contact details.

curl -i -X POST \
  https://developer.flute.com/_mock/api-reference/pay-api/v1/transactions/ach/payment/credit \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "paymentProcessorId": "7a913ba9-724b-4020-8ef1-d3375291f59e",
    "paymentMethodId": "d6e6a259-6e7f-4a8b-9c0d-1e2f3a4b5c81",
    "accountNumber": null,
    "routingNumber": null,
    "customerId": null,
    "requesterIPaddress": "2001:0db8:85a3:0000:0000:8a2e:0370:7334",
    "amount": 123.45,
    "isFasterProcessing": true,
    "taxId": null,
    "accountHolderType": 1,
    "accountType": 1,
    "billingAddress": {
      "city": "Phoenix",
      "countryId": 1,
      "line1": "7429 Desert Mirage Lane",
      "line2": null,
      "postalCode": "85099",
      "stateName": "Arizona",
      "stateId": 4
    },
    "shippingAddress": {
      "city": "Phoenix",
      "countryId": 1,
      "line1": "7429 Desert Mirage Lane",
      "line2": "Office 7",
      "postalCode": "85099",
      "stateName": "Arizona",
      "stateId": 4
    },
    "contactInfo": {
      "firstName": "John",
      "lastName": "Smith",
      "companyName": "Flute",
      "email": "j.smith29f@example.com",
      "mobilePhoneNumber": null,
      "smsNotification": null
    },
    "secCode": 3
  }'

Responses

OK

Bodyapplication/json
transactionIdstring, (uuid)

Indicates the transaction identifier.

Example: bf5a1dc7-57b7-4fec-ab09-52c47c1acaff

Example:"bf5a1dc7-57b7-4fec-ab09-52c47c1acaff"
typeIdinteger, (int32)
Example:6
typestring or null

Example: CardAuthentication

Example:"CardAuthentication"
statusIdinteger, (int32)

Example: 1

Example:1
statusstring or null

Example: Authorized

Example:"Authorized"
responseDescriptionstring or null

Indicates a free-formed description regarding the transaction.

Example: Command Successful. Approved.

Example:"Command Successful. Approved."
responseCodestring or null

Indicates a response code regarding the transaction.

Example: 000

Example:"000"
processedAmountnumber, (double)

Indicates the transaction amount (in USD).

Example: 3500.00

Example:3500
Response
Valid parameters. Approved
{ "processedAmount": 0, "transactionId": "5758166f-3608-4625-8dd6-04124a633581", "typeId": 12, "type": "AchRefund", "statusId": 23, "status": "ChargedBack", "responseDescription": "Command Successful. Approved.", "responseCode": "000" }