Skip to main content

Outbound ACH Debit

The 'Outbound ACH Debit' API enables to process the ACH debit transaction initiated by the receiver to pull the amount from sender's bank account

Method: POST

{{URL}}/rpc/paymentv2

Headers

NameValue
Content-Typeapplication/json

Example

Payload Parameters
ParameterDescription

method

Mandatory

String

API method that is being called to initiate ACH pull transaction through ledger service

Constant value – "ledger.ach.transfer"

id

Mandatory

String

Unique ID of API request

Sample value – "1"

params

Mandatory

Object

payload

Mandatory

Object

channel

Mandatory

String

Payment channel through which the transaction is processed

Constant value – "ACH"

transactionType

Mandatory

String

Type of transaction

Constant value – "ACH_PULL"

product

Mandatory

String

Application from where the transaction in initiated

Constant value – "Ledger"

program

Mandatory

String

Program name/id of a customer typically includes the customer ID

Sample value – "100000000000005"

reference

Mandatory

String

Unique reference ID of the transaction

Sample value – "R90987895"

transactionDateTime

Optional

String

Date and time of the transaction is initiated (format: "YYYY-MM-DD HH:MM:SS")

Sample value – "2021-01-19 06:20:25"

reason

Optional

String

Purpose of the transaction

Sample value – "Settlement"

transactionAmount

Mandatory

Object

amount

Mandatory

String

Amount of the transaction

Sample value – "200"

currency

Mandatory

String

Type of currency used for transaction

Sample value – "USD"

debtor

Mandatory

Object

userType

Optional

Enum

Type of debtor

Valid values:

  • ACCOUNT_HOLDER
  • ACCOUNT_HOLDER_BUSINESS
  • LEGAL_REP
  • NON_ACCOUNT_HOLDER
  • NON_ACCOUNT_HOLDER_BUSINESS
  • ORIGINATOR
  • ORIGINATOR_BUSINESS
  • SHAREHOLDER
  • SIGNATORY
  • SHAREHOLDER_BUSINESS
  • TELLER
  • TECHNOLOGY_SERVICE_PROVIDER
  • MSB
  • VIRTUAL_ACCOUNT_HOLDER
  • NONE
  • BENEFICIARY
  • INDIVIDUAL
  • BILLER
  • BSA_OFFICER
  • CONTROLPERSON
  • KEYMANAGEMENT
  • CONSUMER
  • MERCHANT

Sample value – "INDIVIDUAL"

identification

Optional

String

Value of identification type

Sample value – "89900200002"

identificationType

Optional

String

Identification type of debtor

Constant value – "SSN"

firstName

Mandatory

String

First name of debtor

Sample value – "nashe"

middleName

Optional

String

Middle name of debtor

Sample value – ""

lastName

Optional

String

Last name of debtor

Sample value – ""

debtorPostalAddress

Optional

Object

addressType

Optional

String

Address type of debtor

Sample value – "HOUSE"

addressLine1

Optional

String

First line of debtor address

Sample value – "3745 SW anamaker RD"

addressLine2

Optional

String

Second line of debtor address

Sample value – "Suite C"

city

Optional

String

City of debtor address

Sample value – "Topeka"

state

Optional

String

State of debtor address

Sample value – "KS"

zipCode

Optional

String

ZIP Code of debtor address

Sample value – "66610"

countryCode

Optional

String

Country code of debtor address

Sample value – "840"

nationality

Optional

String

Nationality of debtor

Sample value – "USA"

debtorContact

Optional

Object

primaryEmail

Optional

String

Primary email id of debtor

Sample value – "n.sundar@netsys-inc.com"

primaryPhone

Optional

String

Primary phone number of debtor

Sample value – "7850010001"

debtorAccount

Mandatory

Object

identification

Mandatory

String

Value of identification type

Sample value – "200000000852262"

identificationType

Mandatory

String

Identification type of debtor account

Sample value – "ACCOUNT_NUMBER"

identificationType2

Optional

Enum

Additional identification type of debtor account

Valid values:

  • SAVINGS - To deposit for saving purpose
  • CHECKING - For daily use
  • WALLET - To store pre-paid money for daily usage
  • MONEY_MARKET - Interest bearing account (based on interest rates)
  • CREDIT_CARD - To track only the credit card transactions
  • GL - General Ledger for accounting record
  • CUSTODIAL - For the benefit of other financial institution

Sample value – "SAVINGS"

institution

Mandatory

Object

name

Optional

String

Financial Institution or Bank name where the debtor holds the account

Sample value – "FINWISE BANK"

identification

Mandatory

String

Value of identification type

Sample value – "011110646"

identificationType

Mandatory

String

Identification type of debtor's financial institution or bank

Sample value – "ABA"

creditorAccount

Mandatory

Object

identification

Mandatory

String

Value of identification type

Sample value – "200827921990857"

identificationType

Mandatory

String

Identification type of creditor account

Sample value – "ACCOUNT_NUMBER"

api

Mandatory

Object

signature

Mandatory

String

Signature for request validation

Sample value – "signature"

keyId

Optional

String

API key used for request authentication

Sample value – "ApplicationKeyId"

credential

Mandatory

String

API credential provided by FinWise

Sample value – "Credential"

apiKey

Mandatory

String

API key used for user authentication

Sample value – "ApiKey"


curl --location --globoff '{{URL}}/jsonrpc' \
--header 'Content-Type: application/json' \
--data-raw '{"method":"ledger.ach.transfer","id":"1","params":{"payload":{"channel":"ACH","transactionType":"ACH_OUT","product":"LEDGER","program":"100000000000005","transactionDateTime":"2021-01-19 06:20:25","reference":"REF16170620220966","reason":"Settlement","transactionAmount":{"amount":"900","currency":"USD"},"debtor":{"userType":"INDIVIDUAL","identification":"89900200002","identificationType":"SSN","firstName":"Andy","middleName":"Lee","lastName":"Prescott"},"debtorPostalAddress":{"addressType":"HOUSE","addressLine1":"3745SWWanamakerRD","addressLine2":"SuiteC","city":"Topeka","state":"KS","zipCode":"66610","countryCode":"840"},"debtorContact":{"primaryEmail":"aprescott@demobank.com","primaryPhone":"7850010001"},"debtorAccount":{"identification":"200524894086671","identificationType":"ACCOUNT_NUMBER","institution":{"name":"FINWISE BANK","identification":"011000015","identificationType":"ABA"}},"creditor":{"userType":"INDIVIDUAL","identification":"89900200014","identificationType":"SSN","firstName":"Andy","_middleName":"Lee","lastName":"Prescott"},"creditorPostalAddress":{"addressType":"HOUSE","addressLine1":"3745SWWanamakerRD","addressLine2":"SuiteC","city":"Topeka","state":"KS","zipCode":"66610","countryCode":"840"},"creditorContact":{"primaryEmail":"aprescott@demobank.com","primaryPhone":"7850010001"},"creditorAccount":{"identification":"6000000000000006","identificationType":"ACCOUNT_NUMBER","identificationType2":"SAVINGS","institution":{"name":"FINWISE BANK","identification":"011002550","identificationType":"ABA"}}},"api":{"credential":"{{Credential}}","signature":"{{signature}}","apiKey":"{{ApiKey}}"}}}'

Body


{
"method": "ledger.ach.transfer",
"id": "1",
"params": {
"payload": {
"channel": "ACH",
"transactionType": "ACH_PULL",
"product": "LEDGER",
"program": "100000000000005",
"reference": "R90987895",
"transactionDateTime": "2021-01-19 06:20:25",
"reason": "Settlement",
"transactionAmount": {
"amount": "200",
"currency": "USD"
},
"debtor": {
"userType": "INDIVIDUAL",
"identification": "89900200002",
"identificationType": "SSN",
"firstName": "nashe",
"middleName": "",
"lastName": ""
},
"debtorPostalAddress": {
"addressType": "HOUSE",
"addressLine1": "3745 SW anamaker RD",
"addressLine2": "Suite C",
"city": "Topeka",
"state": "KS",
"zipCode": "66610",
"countryCode": "840",
"nationality": "USA"
},
"debtorContact": {
"primaryEmail": "n.sundar@netsys-inc.com",
"primaryPhone": "7850010001"
},
"debtorAccount": {
"identification": "200000000852262",
"identificationType": "ACCOUNT_NUMBER",
"identificationType2": "SAVINGS",
"institution": {
"name": "FINWISE BANK",
"identification": "011110646",
"identificationType": "ABA"
}
},
"creditorAccount": {
"identification": "200827921990857",
"identificationType": "ACCOUNT_NUMBER"
}
},
"api": {
"signature": "{{Signature}}",
"keyId": "{{ApplicationKeyId}}",
"credential": "{{Credential}}",
"apiKey": "{{ApiKey}}"
}
}
}

Response: 200

Response Parameters
ParametersDescription

id

String

Response ID echoed from the request ID

Sample value – "1"

result

Object

status

Enum

Status of the transaction

Valid values:

  • COMPLETED
  • PENDING
  • FAILED
  • DECLINED
  • REJECTED

Sample value – "PENDING"

timeStamp

String

Date and time of the transaction is initiated

Sample value – "2021-01-19T07:44:55-0500"

TransactionID

String

Unique transaction identification number

Sample value – "81026"

transactionNumber

String

Unique transaction number that is assigned for the transaction

Sample value – "QA00000000010045"

referenceID

String

Unique reference Id of the transaction

Sample value – "R90987895"

processID

String

Unique process ID assigned to track end to end process of transaction

Sample value – "PL23050300010042"

transactionAmount

Number

Transaction amount

Sample value – 200


{
"id": "1",
"result": {
"status": "PENDING",
"timeStamp": "2021-01-19T07:44:55-0500",
"TransactionID": "81026",
"transactionNumber": "QA00000000010045",
"referenceID": "R90987895",
"processID": "PL23050300010042",
"transactionAmount": 200
}
}