Originations

Overview

An ACH is an entry sent from one bank (ODFI) to another receiving bank (RDFI). The entry can be a push or pull. The information required for a payment varies depending on the SEC code and is governed by the NACHA Operating Rules and Guidelines. The information required for a payment varies depending on whether it is domestic or international.

For full API reference on ACH originations click here.

Domestic Payments

Domestic payments require the least information to originate. For example, to send $100 from a Cross River account to an account at another bank, would be as simple as:

POST /ach/v1/payments
{
  "accountNumber": "1234567890",
  "receiver": {
    "routingNumber": "021000021",
    "accountNumber": "456789000",
    "accountType": "Checking",
    "name": "Bob Smith",
    "identification": "XYZ123",
  },
  "secCode": "PPD",
  "description": "Payment",
  "transactionType": "Push",
  "amount": 10000,
  "serviceType": "Standard",
}

Domestic IATs

Domestic IATs require the same information found in a domestic payment, and in addition another set of fields specific to IAT payments. This set of fields is found in the iatDetails object.

POST /ach/v1/payments
{
  "accountNumber": "1234567890",
  "receiver": {
    "routingNumber": "021000021",
    "accountNumber": "456789000",
    "accountType": "Checking",
    "name": "Bob Smith",
    "identification": "XYZ123",
  },
  "secCode": "IAT",
  "description": "Payment",
  "transactionType": "Push",
  "amount": 10000,
  "serviceType": "Standard",
  "iatDetails": {
    "receiver": {
      "address": "123 Maple St",
      "city": "New York",
      "state": "NY",
      "postalCode": "10025",
      "countryCode": "US"
    },
    "receivingBank": {
      "name": "First Bank of Business",
      "identification": "021214862",
      "idQualifier": "01",
      "countryCode": "US"
    },  
    "transactionTypeCode": "MIS"
  }
}

Note that more information may be needed than what is shown in the example.


Did this page help you?