Payments
...
APIs
Send ACH transaction
relevant webhooks for this endpoint be sure you have docid\ bn5xtgkjogbe ctwomcbs for these webhooks docid\ avrvavzdk7hc0ufxn6xz9 docid\ eas8afqw7m97baezuc8sr docid\ avrvavzdk7hc0ufxn6xz9 ach payment returned api reference sends a single ach transaction important the payment information and data you send to cross river must include a docid\ m8a5dbzfhh5tv1nytk9aw and conform to docid\ qq3d8sbtuetgrtkaxtk1m { "name" "endpoint /ach/v1/payments", "method" "post", "url" "https //sandbox crbcos com/ach/v1/payments", "description" "", "tab" "examples", "examples" { "languages" \[ { "id" "hrbr9mskswwyh nyrjwnm", "language" "curl", "code" "curl location 'https //sandbox crbcos com/ach/v1/payments' \\\\\n header 'idempotency key c10314ee e737 4681 8e8d f9cf547c9967' \\\\\n data '{\n \\"accountnumber\\" \\"2207975570\\",\n \\"receiver\\" {\n \\"routingnumber\\" \\"021000021\\",\n \\"accountnumber\\" \\"2151546989\\",\n \\"accounttype\\" \\"checking\\",\n \\"name\\" \\"peter griffin\\"\n },\n \\"seccode\\" \\"ppd\\",\n \\"description\\" \\"purchase\\",\n \\"transactiontype\\" \\"push\\",\n \\"amount\\" 2500,\n \\"servicetype\\" \\"sameday\\",\n \\"clientidentifier\\" \\"c10314ee e737 4681 8e8d f9cf547c9967\\"\n }'", "customlabel" "" }, { "id" "sv7nf dbswubc1naigdjc", "language" "nodejs", "code" "var https = require('follow redirects') https;\nvar fs = require('fs');\n\nvar options = {\n 'method' 'post',\n 'hostname' 'sandbox crbcos com',\n 'path' '/ach/v1/payments',\n 'headers' {\n 'idempotency key' 'c10314ee e737 4681 8e8d f9cf547c9967'\n },\n 'maxredirects' 20\n};\n\nvar req = https request(options, function (res) {\n var chunks = \[];\n\n res on(\\"data\\", function (chunk) {\n chunks push(chunk);\n });\n\n res on(\\"end\\", function (chunk) {\n var body = buffer concat(chunks);\n console log(body tostring());\n });\n\n res on(\\"error\\", function (error) {\n console error(error);\n });\n});\n\nvar postdata = \\"{\\\r\\\n \\\\\\"accountnumber\\\\\\" \\\\\\"2207975570\\\\\\",\\\r\\\n \\\\\\"receiver\\\\\\" {\\\r\\\n \\\\\\"routingnumber\\\\\\" \\\\\\"021000021\\\\\\",\\\r\\\n \\\\\\"accountnumber\\\\\\" \\\\\\"2151546989\\\\\\",\\\r\\\n \\\\\\"accounttype\\\\\\" \\\\\\"checking\\\\\\",\\\r\\\n \\\\\\"name\\\\\\" \\\\\\"peter griffin\\\\\\"\\\r\\\n },\\\r\\\n \\\\\\"seccode\\\\\\" \\\\\\"ppd\\\\\\",\\\r\\\n \\\\\\"description\\\\\\" \\\\\\"string\\\\\\",\\\r\\\n \\\\\\"transactiontype\\\\\\" \\\\\\"push\\\\\\",\\\r\\\n \\\\\\"amount\\\\\\" 2500,\\\r\\\n \\\\\\"servicetype\\\\\\" \\\\\\"sameday\\\\\\",\\\r\\\n \\\\\\"clientidentifier\\\\\\" \\\\\\"c10314ee e737 4681 8e8d f9cf547c9967\\\\\\"\\\r\\\n }\\";\n\nreq write(postdata);\n\nreq end();", "customlabel" "" }, { "id" "0fhf31t89icnxqvtyf81m", "language" "python", "code" "import http client\n\nconn = http client httpsconnection(\\"sandbox crbcos com\\")\npayload = \\"{\\\r\\\n \\\\\\"accountnumber\\\\\\" \\\\\\"2207975570\\\\\\",\\\r\\\n \\\\\\"receiver\\\\\\" {\\\r\\\n \\\\\\"routingnumber\\\\\\" \\\\\\"021000021\\\\\\",\\\r\\\n \\\\\\"accountnumber\\\\\\" \\\\\\"2151546989\\\\\\",\\\r\\\n \\\\\\"accounttype\\\\\\" \\\\\\"checking\\\\\\",\\\r\\\n \\\\\\"name\\\\\\" \\\\\\"peter griffin\\\\\\"\\\r\\\n },\\\r\\\n \\\\\\"seccode\\\\\\" \\\\\\"ppd\\\\\\",\\\r\\\n \\\\\\"description\\\\\\" \\\\\\"string\\\\\\",\\\r\\\n \\\\\\"transactiontype\\\\\\" \\\\\\"push\\\\\\",\\\r\\\n \\\\\\"amount\\\\\\" 2500,\\\r\\\n \\\\\\"servicetype\\\\\\" \\\\\\"sameday\\\\\\",\\\r\\\n \\\\\\"clientidentifier\\\\\\" \\\\\\"c10314ee e737 4681 8e8d f9cf547c9967\\\\\\"\\\r\\\n }\\"\nheaders = {\n 'idempotency key' 'c10314ee e737 4681 8e8d f9cf547c9967'\n}\nconn request(\\"post\\", \\"/ach/v1/payments\\", payload, headers)\nres = conn getresponse()\ndata = res read()\nprint(data decode(\\"utf 8\\"))", "customlabel" "" }, { "id" "ovgljj2pymd2augeccfll", "language" "ruby", "code" "require \\"uri\\"\nrequire \\"net/http\"\n\nurl = uri(\\"https //sandbox crbcos com/ach/v1/payments\\")\n\nhttps = net http new(url host, url port)\nhttps use ssl = true\n\nrequest = net http post new(url)\nrequest\[\\"idempotency key\\"] = \\"c10314ee e737 4681 8e8d f9cf547c9967\\"\nrequest body = \\"{\\\r\\\n \\\\\\"accountnumber\\\\\\" \\\\\\"2207975570\\\\\\",\\\r\\\n \\\\\\"receiver\\\\\\" {\\\r\\\n \\\\\\"routingnumber\\\\\\" \\\\\\"021000021\\\\\\",\\\r\\\n \\\\\\"accountnumber\\\\\\" \\\\\\"2151546989\\\\\\",\\\r\\\n \\\\\\"accounttype\\\\\\" \\\\\\"checking\\\\\\",\\\r\\\n \\\\\\"name\\\\\\" \\\\\\"peter griffin\\\\\\"\\\r\\\n },\\\r\\\n \\\\\\"seccode\\\\\\" \\\\\\"ppd\\\\\\",\\\r\\\n \\\\\\"description\\\\\\" \\\\\\"string\\\\\\",\\\r\\\n \\\\\\"transactiontype\\\\\\" \\\\\\"push\\\\\\",\\\r\\\n \\\\\\"amount\\\\\\" 2500,\\\r\\\n \\\\\\"servicetype\\\\\\" \\\\\\"sameday\\\\\\",\\\r\\\n \\\\\\"clientidentifier\\\\\\" \\\\\\"c10314ee e737 4681 8e8d f9cf547c9967\\\\\\"\\\r\\\n }\\"\n\nresponse = https request(request)\nputs response read body\n", "customlabel" "" }, { "id" "azsbugraxen8b olyeccu", "language" "go", "code" "package main\n\nimport (\n \\"fmt\\"\n \\"strings\\"\n \\"net/http\"\n \\"io\\"\n)\n\nfunc main() {\n\n url = \\"https //sandbox crbcos com/ach/v1/payments\\"\n method = \\"post\\"\n\n payload = strings newreader(`{`+\\"\n\\"+`\n \\"accountnumber\\" \\"2207975570\\",`+\\"\n\\"+`\n \\"receiver\\" {`+\\"\n\\"+`\n \\"routingnumber\\" \\"021000021\\",`+\\"\n\\"+`\n \\"accountnumber\\" \\"2151546989\\",`+\\"\n\\"+`\n \\"accounttype\\" \\"checking\\",`+\\"\n\\"+`\n \\"name\\" \\"peter griffin\\"`+\\"\n\\"+`\n },`+\\"\n\\"+`\n \\"seccode\\" \\"ppd\\",`+\\"\n\\"+`\n \\"description\\" \\"string\\",`+\\"\n\\"+`\n \\"transactiontype\\" \\"push\\",`+\\"\n\\"+`\n \\"amount\\" 2500,`+\\"\n\\"+`\n \\"servicetype\\" \\"sameday\\",`+\\"\n\\"+`\n \\"clientidentifier\\" \\"c10314ee e737 4681 8e8d f9cf547c9967\\"`+\\"\n\\"+`\n }`)\n\n client = \&http client {\n }\n req, err = http newrequest(method, url, payload)\n\n if err != nil {\n fmt println(err)\n return\n }\n req header add(\\"idempotency key\\", \\"c10314ee e737 4681 8e8d f9cf547c9967\\")\n\n res, err = client do(req)\n if err != nil {\n fmt println(err)\n return\n }\n defer res body close()\n\n body, err = io readall(res body)\n if err != nil {\n fmt println(err)\n return\n }\n fmt println(string(body))\n}", "customlabel" "" } ], "selectedlanguageid" "hrbr9mskswwyh nyrjwnm" }, "results" { "languages" \[ { "id" "oaq6yhikwfzohlkg7zsw2", "language" "200", "code" "{\n \\"id\\" \\"f546de65 bc68 4af0 99be b155014a4502\\",\n \\"accountnumber\\" \\"2207975570\\",\n \\"referenceid\\" \\"a108531ez185\\",\n \\"paymenttype\\" \\"origination\\",\n \\"direction\\" \\"outbound\\",\n \\"status\\" \\"created\\",\n \\"source\\" \\"api\\",\n \\"postingtype\\" \\"individual\\",\n \\"memopostid\\" \\"97e9e4e0 705f 400c 9124 b155014a4502\\",\n \\"postingcode\\" \\"ok\\",\n \\"posting\\" \\"pending\\",\n \\"originator\\" {\n \\"routingnumber\\" \\"021214891\\",\n \\"accountnumber\\" \\"2207975570\\",\n \\"accounttype\\" \\"checking\\",\n \\"name\\" \\"cross river bank\\",\n \\"identification\\" \\"021214891\\"\n },\n \\"receiver\\" {\n \\"routingnumber\\" \\"021000021\\",\n \\"accountnumber\\" \\"2151546989\\",\n \\"accounttype\\" \\"checking\\",\n \\"name\\" \\"peter griffin\\"\n },\n \\"seccode\\" \\"ppd\\",\n \\"description\\" \\"purchase\\",\n \\"transactiontype\\" \\"push\\",\n \\"amount\\" 2500,\n \\"servicetype\\" \\"sameday\\",\n \\"effectivedate\\" \\"240417\\",\n \\"tracenumber\\" \\"021214890554323\\",\n \\"wasreturned\\" false,\n \\"wascorrected\\" false,\n \\"holddays\\" 0,\n \\"original\\" {\n \\"paymentid\\" \\"f546de65 bc68 4af0 99be b155014a4502\\"\n },\n \\"createdat\\" \\"2024 04 17t16 02 28 4794568 04 00\\",\n \\"partnerid\\" \\"1e5d3f04 ae24 4af6 9e30 aecf012b99dd\\",\n \\"productid\\" \\"cc62e17f 5912 483e 9e42 aed30112fbb6\\",\n \\"lastmodifiedat\\" \\"2024 04 17t16 02 28 4794568 04 00\\",\n \\"clientidentifier\\" \\"c10314ee e737 4681 8e8d f9cf547c9967\\"\n}", "customlabel" "" } ], "selectedlanguageid" "oaq6yhikwfzohlkg7zsw2" }, "request" { "pathparameters" \[], "queryparameters" \[], "headerparameters" \[], "bodydataparameters" \[ { "name" "accountnumber", "kind" "required", "type" "string", "description" "cross river account number for payment originator depending on the account type, the number of digits will vary the first digit indicates the kind of account ", "" "cross river account number for payment originator depending on the account type, the number of digits will vary the first digit indicates the kind of account " }, { "name" "originator", "kind" "optional", "type" "object", "description" "details about the entity sending the payment if the account originating the payment is enabled to provide this information according to the supplied account number, all the values should be null if these values are supplied in the request they override the originator profile defined for the account \nuse the originator object if you originate ach transactions on behalf of different clients, each with their own value for the identification attribute ", "" "originator", "children" \[ { "name" "name", "kind" "required", "type" "string", "description" "name of the originator of the transaction nacha refers to this as company name 16 character maximum " }, { "name" "identification", "kind" "required", "type" "string", "description" "originator identification nacha refers to this as the company identification 10 character maximum " }, { "name" "data", "kind" "optional", "type" "string", "description" "originator data nacha refers to this as company discretionary data 20 character maximum " } ], "schema" \[ { "name" "name", "kind" "required", "type" "string", "description" "name of the originator of the transaction nacha refers to this as company name 16 character maximum " }, { "name" "identification", "kind" "required", "type" "string", "description" "originator identification nacha refers to this as the company identification 10 character maximum " }, { "name" "data", "kind" "optional", "type" "string", "description" "originator data nacha refers to this as company discretionary data 20 character maximum " } ] }, { "name" "receiver", "kind" "required", "type" "object", "description" "in the case of pull payments, this is the account the funds are being pulled from ", "children" \[ { "name" "routingnumber", "kind" "required", "type" "string", "description" "federal routing number for the receiver bank" }, { "name" "accountnumber", "kind" "required", "type" "string", "description" "account number for the receiver maximum of 35 characters uses regular expression ^\[a za z0 9^ ! \\\\ @'`()#\\"\\" \\\\]+{}| $%&, \\\\\\\\]+$" }, { "name" "accounttype", "kind" "required", "type" "string", "description" "deposit account type checking, savings, generalledger, loan" }, { "name" "name", "kind" "optional", "type" "string", "description" "receiver name maximum 22 characters " }, { "name" "identification", "kind" "optional", "type" "string", "description" "receiver identification nacha refers to this as the individual identification number 15 character maximum " } ], "schema" \[ { "name" "routingnumber", "kind" "required", "type" "string", "description" "federal routing number for the receiver bank" }, { "name" "accountnumber", "kind" "required", "type" "string", "description" "account number for the receiver maximum of 35 characters uses regular expression ^\[a za z0 9^ ! \\\\ @'`()#\\"\\" \\\\]+{}| $%&, \\\\\\\\]+$" }, { "name" "accounttype", "kind" "required", "type" "string", "description" "deposit account type checking, savings, generalledger, loan" }, { "name" "name", "kind" "optional", "type" "string", "description" "receiver name maximum 22 characters " }, { "name" "identification", "kind" "optional", "type" "string", "description" "receiver identification nacha refers to this as the individual identification number 15 character maximum " } ] }, { "name" "seccode", "kind" "required", "type" "string", "description" "standard entry class (sec) code required by nacha for every ach transaction see the ach request and response code page ", "" "standard entry class (sec) code required by nacha for every ach transaction see the ach request and response code page " }, { "name" "description", "kind" "required", "type" "string", "description" "description of the payment maximum 10 characters ", "children" \[] }, { "name" "transactiontype", "kind" "required", "type" "string", "description" "sending or requesting funds \n push (originator is sending funds—debit)\n pull (originator is receiving funds—credit)", "children" \[] }, { "name" "amount", "kind" "required", "type" "integer", "description" "dollar amount of payment in positive integral cents for example, $1 00 appears as 100 ", "" "dollar amount of payment in positive integral cents for example, $1 00 appears as 100 " }, { "name" "servicetype", "kind" "required", "type" "string", "description" "when the payment completes \n standard (payment effective the following business day international payments must use this service type )\n sameday (payment effective same day, subject to certain constraints see ach overview )", "" "when the payment completes \n standard (payment effective the following business day international payments must use this service type )\n sameday (payment effective same day, subject to certain constraints see ach overview )" }, { "name" "fedbatchwindow", "kind" "optional", "type" "integer", "description" "", "" "integer" }, { "name" "extendeddetails", "kind" "optional", "type" "object", "description" "ach specific details \n\nif the transactiontype is pull and seccode is web you must include a paymenttype value in this object \n\nif the seccode is pos you must include a cardtransactiontype value \n\nlearn more on the nacha site ", "children" \[ { "name" "authcode", "kind" "optional", "type" "string", "description" "authorization code related to card based transactions" }, { "name" "cardaccountnumber", "kind" "optional", "type" "string", "description" "card account number used in the transaction" }, { "name" "cardexpdate", "kind" "optional", "type" "string", "description" "expiration date of the card used" }, { "name" "cardtransactiontype", "kind" "optional", "type" "string", "description" "card transaction types are represented by specific codes that explain what kind of transaction took place at the point of sale" }, { "name" "checkserialnumber", "kind" "optional", "type" "string", "description" "serial number for check based transactions" }, { "name" "docreferencenumber", "kind" "optional", "type" "string", "description" "document reference number associated with the transaction" }, { "name" "itemtype", "kind" "optional", "type" "string", "description" "type of financial item, for example, check or card" }, { "name" "networkidentification", "kind" "optional", "type" "string", "description" "network through which the transaction was processed" }, { "name" "paymenttype", "kind" "optional", "type" "string", "description" "payment types are a single character, and are based on the authorization of the account holder to debit their account \n s for single\n r for recurring" }, { "name" "processcontrol", "kind" "optional", "type" "string", "description" "internal cross river processing control code" }, { "name" "reference1", "kind" "optional", "type" "string", "description" "reference field for reconciliation" }, { "name" "reference2", "kind" "optional", "type" "string", "description" "reference field for reconciliation" }, { "name" "researchnumber", "kind" "optional", "type" "string", "description" "research id for dispute or trace purposes" }, { "name" "terminalidentification", "kind" "optional", "type" "string", "description" "id of the terminal where the transaction occurred" }, { "name" "terminallocation", "kind" "optional", "type" "string", "description" "location descriptor of the terminal" }, { "name" "terminalcity", "kind" "optional", "type" "string", "description" "city where the terminal is located" }, { "name" "terminalstate", "kind" "optional", "type" "string", "description" "state where the terminal is locationed" }, { "name" "transactiondate", "kind" "optional", "type" "string", "description" "date the transaction happened" }, { "name" "transactiondesc", "kind" "optional", "type" "string", "description" "additional description of the transaction" }, { "name" "transactionserial", "kind" "optional", "type" "string", "description" "additional description of the transaction" }, { "name" "transactiontime", "kind" "optional", "type" "string", "description" "transaction timestamp" } ], "schema" \[ { "name" "authcode", "kind" "optional", "type" "string", "description" "authorization code related to card based transactions" }, { "name" "cardaccountnumber", "kind" "optional", "type" "string", "description" "card account number used in the transaction" }, { "name" "cardexpdate", "kind" "optional", "type" "string", "description" "expiration date of the card used" }, { "name" "cardtransactiontype", "kind" "optional", "type" "string", "description" "card transaction types are represented by specific codes that explain what kind of transaction took place at the point of sale" }, { "name" "checkserialnumber", "kind" "optional", "type" "string", "description" "serial number for check based transactions" }, { "name" "docreferencenumber", "kind" "optional", "type" "string", "description" "document reference number associated with the transaction" }, { "name" "itemtype", "kind" "optional", "type" "string", "description" "type of financial item, for example, check or card" }, { "name" "networkidentification", "kind" "optional", "type" "string", "description" "network through which the transaction was processed" }, { "name" "paymenttype", "kind" "optional", "type" "string", "description" "payment types are a single character, and are based on the authorization of the account holder to debit their account \n s for single\n r for recurring" }, { "name" "processcontrol", "kind" "optional", "type" "string", "description" "internal cross river processing control code" }, { "name" "reference1", "kind" "optional", "type" "string", "description" "reference field for reconciliation" }, { "name" "reference2", "kind" "optional", "type" "string", "description" "reference field for reconciliation" }, { "name" "researchnumber", "kind" "optional", "type" "string", "description" "research id for dispute or trace purposes" }, { "name" "terminalidentification", "kind" "optional", "type" "string", "description" "id of the terminal where the transaction occurred" }, { "name" "terminallocation", "kind" "optional", "type" "string", "description" "location descriptor of the terminal" }, { "name" "terminalcity", "kind" "optional", "type" "string", "description" "city where the terminal is located" }, { "name" "terminalstate", "kind" "optional", "type" "string", "description" "state where the terminal is locationed" }, { "name" "transactiondate", "kind" "optional", "type" "string", "description" "date the transaction happened" }, { "name" "transactiondesc", "kind" "optional", "type" "string", "description" "additional description of the transaction" }, { "name" "transactionserial", "kind" "optional", "type" "string", "description" "additional description of the transaction" }, { "name" "transactiontime", "kind" "optional", "type" "string", "description" "transaction timestamp" } ] }, { "name" "iatdetails", "kind" "optional", "type" "object", "description" "required if the seccode is iat \n\ndo not enter values for these attributes for any other seccode ", "children" \[ { "name" "originator", "kind" "optional", "type" "object", "description" "payment sender details", "children" \[ { "name" "address", "kind" "required", "type" "string", "description" "originator street or post office box address 35 characters maximum " }, { "name" "city", "kind" "required", "type" "string", "description" "originator city full name 33 characters maximum " }, { "name" "state", "kind" "optional", "type" "string", "description" "originator state or province name 33 characters maximum " }, { "name" "postalcode", "kind" "optional", "type" "string", "description" "originator postal or zip code regular expression 32 characters maximum " }, { "name" "countrycode", "kind" "required", "type" "string", "description" "2 letter iso country code" } ] }, { "name" "receiver", "kind" "required", "type" "object", "description" "payment receiver details", "children" \[ { "name" "address", "kind" "required", "type" "string", "description" "receiver street or post office box address 35 characters maximum " }, { "name" "city", "kind" "required", "type" "string", "description" "receiver city full name 33 characters maximum " }, { "name" "state", "kind" "optional", "type" "string", "description" "receiver state or province name 33 characters maximum " }, { "name" "postalcode", "kind" "optional", "type" "string", "description" "receiver postal or zip code regular expression 32 characters maximum " }, { "name" "countrycode", "kind" "required", "type" "string", "description" "2 letter iso country code" } ] }, { "name" "originatingbank", "kind" "optional", "type" "object", "description" "details of financial institution originating the iat", "children" \[ { "name" "name", "kind" "required", "type" "string", "description" "name of originating financial institution 35 characters maximum " }, { "name" "identification", "kind" "required", "type" "string", "description" "originating bank dfi identification number, which is the first 8 digits of that financial institution's routing number" }, { "name" "idqualifier", "kind" "required", "type" "string", "description" "originating dfi identification number qualifier \n 01 (national clearing system number for example, us routing transit number)\n 02 bic code\n 03 iban" }, { "name" "countrycode", "kind" "required", "type" "string", "description" "originating bank 2 letter iso country code" } ] }, { "name" "receivingbank", "kind" "required", "type" "object", "description" "details of financial institution receiving the iat", "children" \[ { "name" "name", "kind" "required", "type" "string", "description" "name of receiving financial institution 35 characters maximum " }, { "name" "identification", "kind" "required", "type" "string", "description" "receiving bank dfi identification number, which is the first 8 digits of that financial institution's routing number" }, { "name" "idqualifier", "kind" "required", "type" "string", "description" "receiving dfi identification number qualifier \n 01 (national clearing system number for example, us routing transit number)\n 02 bic code\n 03 iban" }, { "name" "countrycode", "kind" "required", "type" "string", "description" "2 letter iso country code" } ] }, { "name" "remittanceinfo1", "kind" "optional", "type" "string", "description" "additional iat information 80 characters \na second field is available as remittanceinfo2 " }, { "name" "correspondentbank1", "kind" "optional", "type" "object", "description" "details of a correspondent (intermediary) bank, if there is one \nyou can have up to 5 correspondent banks correspondentbank1, correspondentbank2, correspondentbank3, correspondentbank4, correspondentbank5 , each with the same child attributes ", "children" \[ { "name" "name", "kind" "required", "type" "string", "description" "name of financial institution 35 characters maximum " }, { "name" "identification", "kind" "required", "type" "string", "description" "dfi identification number, which is the first 8 digits of that financial institution's routing number" }, { "name" "idqualifier", "kind" "required", "type" "string", "description" "dfi identification number qualifier \n\n 01 (national clearing system number for example, us routing transit number)\n 02 bic code\n 03 iban" }, { "name" "countrycode", "kind" "required", "type" "string", "description" "2 letter iso country code" } ] }, { "name" "transactiontypecode", "kind" "required", "type" "string", "description" "part of the addenda record an additional way to explain the purpose of the iat see the ach request and response codes page for iat transaction types " }, { "name" "originatingcurrency", "kind" "optional", "type" "string", "description" "an iso three character code to identify the originating currency" }, { "name" "destinationcurrency", "kind" "optional", "type" "string", "description" "an iso three character code to identify the receiving currency" } ], "schema" \[ { "name" "originator", "kind" "optional", "type" "object", "description" "payment sender details", "children" \[ { "name" "address", "kind" "required", "type" "string", "description" "originator street or post office box address 35 characters maximum " }, { "name" "city", "kind" "required", "type" "string", "description" "originator city full name 33 characters maximum " }, { "name" "state", "kind" "optional", "type" "string", "description" "originator state or province name 33 characters maximum " }, { "name" "postalcode", "kind" "optional", "type" "string", "description" "originator postal or zip code regular expression 32 characters maximum " }, { "name" "countrycode", "kind" "required", "type" "string", "description" "2 letter iso country code" } ] }, { "name" "receiver", "kind" "required", "type" "object", "description" "payment receiver details", "children" \[ { "name" "address", "kind" "required", "type" "string", "description" "receiver street or post office box address 35 characters maximum " }, { "name" "city", "kind" "required", "type" "string", "description" "receiver city full name 33 characters maximum " }, { "name" "state", "kind" "optional", "type" "string", "description" "receiver state or province name 33 characters maximum " }, { "name" "postalcode", "kind" "optional", "type" "string", "description" "receiver postal or zip code regular expression 32 characters maximum " }, { "name" "countrycode", "kind" "required", "type" "string", "description" "2 letter iso country code" } ] }, { "name" "originatingbank", "kind" "optional", "type" "object", "description" "details of financial institution originating the iat", "children" \[ { "name" "name", "kind" "required", "type" "string", "description" "name of originating financial institution 35 characters maximum " }, { "name" "identification", "kind" "required", "type" "string", "description" "originating bank dfi identification number, which is the first 8 digits of that financial institution's routing number" }, { "name" "idqualifier", "kind" "required", "type" "string", "description" "originating dfi identification number qualifier \n 01 (national clearing system number for example, us routing transit number)\n 02 bic code\n 03 iban" }, { "name" "countrycode", "kind" "required", "type" "string", "description" "originating bank 2 letter iso country code" } ] }, { "name" "receivingbank", "kind" "required", "type" "object", "description" "details of financial institution receiving the iat", "children" \[ { "name" "name", "kind" "required", "type" "string", "description" "name of receiving financial institution 35 characters maximum " }, { "name" "identification", "kind" "required", "type" "string", "description" "receiving bank dfi identification number, which is the first 8 digits of that financial institution's routing number" }, { "name" "idqualifier", "kind" "required", "type" "string", "description" "receiving dfi identification number qualifier \n 01 (national clearing system number for example, us routing transit number)\n 02 bic code\n 03 iban" }, { "name" "countrycode", "kind" "required", "type" "string", "description" "2 letter iso country code" } ] }, { "name" "remittanceinfo1", "kind" "optional", "type" "string", "description" "additional iat information 80 characters \na second field is available as remittanceinfo2 " }, { "name" "correspondentbank1", "kind" "optional", "type" "object", "description" "details of a correspondent (intermediary) bank, if there is one \nyou can have up to 5 correspondent banks correspondentbank1, correspondentbank2, correspondentbank3, correspondentbank4, correspondentbank5 , each with the same child attributes ", "children" \[ { "name" "name", "kind" "required", "type" "string", "description" "name of financial institution 35 characters maximum " }, { "name" "identification", "kind" "required", "type" "string", "description" "dfi identification number, which is the first 8 digits of that financial institution's routing number" }, { "name" "idqualifier", "kind" "required", "type" "string", "description" "dfi identification number qualifier \n\n 01 (national clearing system number for example, us routing transit number)\n 02 bic code\n 03 iban" }, { "name" "countrycode", "kind" "required", "type" "string", "description" "2 letter iso country code" } ] }, { "name" "transactiontypecode", "kind" "required", "type" "string", "description" "part of the addenda record an additional way to explain the purpose of the iat see the ach request and response codes page for iat transaction types " }, { "name" "originatingcurrency", "kind" "optional", "type" "string", "description" "an iso three character code to identify the originating currency" }, { "name" "destinationcurrency", "kind" "optional", "type" "string", "description" "an iso three character code to identify the receiving currency" } ] }, { "name" "addenda", "kind" "optional", "type" "string", "description" "supplemental data to identify an account holder or provide information about the payment this may include details such as invoice numbers ", "" "supplemental data to identify an account holder or provide information about the payment this may include details such as invoice numbers " }, { "name" "purpose", "kind" "optional", "type" "string", "description" "reason for the ach transfer for internal use only the data is not included with the outgoing ach batch file ", "children" \[] }, { "name" "clientidentifier", "kind" "optional", "type" "string", "description" "use this attribute to add your own unique identifying string to a payment call or cos record this attribute is useful for idempotency purposes ", "children" \[] }, { "name" "externalprefix", "kind" "optional", "type" "string", "description" "prefix from external system integration", "" "prefix from external system integration" }, { "name" "externalaccountnumber", "kind" "optional", "type" "string", "description" "external facing account reference number", "" "external facing account reference number" } ], "formdataparameters" \[] }, "currentnewparameter" { "label" "body parameter", "value" "bodydataparameters" }, "response" \[ { "name" "id", "kind" "optional", "type" "string", "description" "payment id this id first appears as the value for this attribute in the response to the originate a payment call this id is in the guid format " }, { "name" "accountnumber", "kind" "optional", "type" "string", "description" "cross river account number for payment originator depending on the account type, the number of digits will vary the first digit indicates the kind of account ", "children" \[] }, { "name" "referenceid", "kind" "optional", "type" "string", "description" "unique cross river reference id for the payment the reference id always begins with the first letter of the rail for ach the reference id starts with 'a' ", "children" \[] }, { "name" "paymenttype", "kind" "optional", "type" "string", "description" "what kind of payment was sent, for example, origination or return see the ach request and response codes page for a list of payment types ", "children" \[] }, { "name" "direction", "kind" "optional", "type" "string", "description" "the payment direction, which includes \n inbound payment received by a cross river account from another bank\n outbound a payment sent from a cross river account to another bank", "children" \[] }, { "name" "status", "kind" "optional", "type" "string", "description" "current lifecycle status of the payment, for example, created, processing, or completed see the ach request and response codes page for a list of payment statuses ", "children" \[] }, { "name" "source", "kind" "optional", "type" "string", "description" "payment channel \n api\n partnerportal\n opsportal\n file", "children" \[] }, { "name" "postingtype", "kind" "optional", "type" "string", "description" "how the payment is grouped for posting \n individual\n aggregate (batch)", "children" \[] }, { "name" "clientbatchid", "kind" "optional", "type" "string", "description" "identifier (guid) used to group related client payments in batch submissions, if you orinigate the client batch", "children" \[] }, { "name" "clientbatchsequence", "kind" "optional", "type" "integer", "description" "sequence number of the payment in the batch, if you originate the client batch", "children" \[] }, { "name" "fedbatchid", "kind" "optional", "type" "string", "description" "fedwire or ach batch id used for settlement tracking", "children" \[] }, { "name" "fedbatchsequence", "kind" "optional", "type" "integer", "description" "sequence of the payment inside of the batch sent to or received from the fed", "children" \[] }, { "name" "coretransactionid", "kind" "optional", "type" "string", "description" "internal cross river unique id for the transaction", "children" \[] }, { "name" "memopostid", "kind" "optional", "type" "string", "description" "id representing the memo post associated with this transaction", "children" \[] }, { "name" "postingcode", "kind" "optional", "type" "string", "description" "code representing the posting category used internally", "children" \[] }, { "name" "posting", "kind" "optional", "type" "string", "description" "the related cross river system transaction status when you originate a payment, the system initially returns ok if the payment fails or is declined, the value changes to a cross river system generated code \n pending\n posted\n failed\n canceled\n authorized\n processing", "children" \[] }, { "name" "rejectionreason", "kind" "optional", "type" "string", "description" "reason code for why the payment was rejected \n ofacunabletodetermine\n ofacconfirmed\n ofacunconfirmed\n other", "children" \[] }, { "name" "blockedreason", "kind" "optional", "type" "string", "description" "reason for any ofac or compliance based block \n ofac\n other", "children" \[] }, { "name" "originator", "kind" "optional", "type" "object", "description" "originator bank details", "children" \[ { "name" "routingnumber", "kind" "optional", "type" "string", "description" "originator financial institution federal routing number" }, { "name" "accountnumber", "kind" "optional", "type" "string", "description" "account number for payment originator" }, { "name" "accounttype", "kind" "optional", "type" "string", "description" "originator deposit account type \n checking\n savings\n generalledger\n loan" }, { "name" "name", "kind" "optional", "type" "string", "description" "name of the originator of the transaction nacha refers to this as company name " }, { "name" "identification", "kind" "optional", "type" "string", "description" "originator identification nacha refers to this as the company identification " }, { "name" "data", "kind" "optional", "type" "string", "description" "additional metadata provided by the originator nacha refers to this as company discretionary data " } ] }, { "name" "receiver", "kind" "optional", "type" "object", "description" "receiver bank details", "children" \[ { "name" "routingnumber", "kind" "optional", "type" "string", "description" "receiver financial institution federal routing number" }, { "name" "accountnumber", "kind" "optional", "type" "string", "description" "account number for the receiver" }, { "name" "accounttype", "kind" "optional", "type" "string", "description" "receiver deposit account type \n checking\n savings\n generalledger\n loan" }, { "name" "name", "kind" "optional", "type" "string", "description" "receiver name as it appears on the receiver account nacha refers to this as the individual name " }, { "name" "identification", "kind" "optional", "type" "string", "description" "receiver identification nacha refers to this as the individual identification number 15 character maximum " }, { "name" "data", "kind" "optional", "type" "string", "description" "additional metadata provided by the receiver nacha refers to this as discretionary data " } ] }, { "name" "seccode", "kind" "optional", "type" "string", "description" "standard entry class (sec) code required by nacha for every ach transaction see the ach request and response code page ", "children" \[] }, { "name" "description", "kind" "optional", "type" "string", "description" "description of the payment provided at origination", "children" \[] }, { "name" "transactiontype", "kind" "optional", "type" "string", "description" "sending or requesting funds \n push (originator is sending funds—debit)\n pull (originator is receiving funds—credit)", "children" \[] }, { "name" "amount", "kind" "optional", "type" "integer", "description" "dollar amount of payment in positive integral cents for example, $1 00 appears as 100 ", "children" \[] }, { "name" "servicetype", "kind" "optional", "type" "string", "description" "when the payment completes \n standard (payment effective the following business day international payments must use this service type )\n sameday (payment effective same day, subject to certain constraints see ach overview )", "children" \[] }, { "name" "extendeddetails", "kind" "optional", "type" "object", "description" "ach specific fields learn more on the nacha site ", "children" \[ { "name" "authcode", "kind" "optional", "type" "string", "description" "authorization code related to card based transactions" }, { "name" "cardexpdate", "kind" "optional", "type" "string", "description" "expiration date of the card used" }, { "name" "cardtransactiontype", "kind" "optional", "type" "string", "description" "card transaction types are represented by specific codes that explain what kind of transaction took place at the point of sale, for example, purchase or refund" }, { "name" "checkserialnumber", "kind" "optional", "type" "string", "description" "serial number for check based transactions" }, { "name" "docreferencenumber", "kind" "optional", "type" "string", "description" "document reference number associated with the transaction" }, { "name" "itemtype", "kind" "optional", "type" "string", "description" "type of financial item, for example, check or card" }, { "name" "networkidentification", "kind" "optional", "type" "string", "description" "network through which the transaction was processed" }, { "name" "paymenttype", "kind" "optional", "type" "string", "description" "payment types are used in proceessing and are based on the authorization of the account holder to debit their account \n s for single\n r for recurring" }, { "name" "processcontrol", "kind" "optional", "type" "string", "description" "internal cross river processing control code" }, { "name" "reference1", "kind" "optional", "type" "string", "description" "reference field for reconciliation" }, { "name" "reference2", "kind" "optional", "type" "string", "description" "reference field for reconciliation" }, { "name" "researchnumber", "kind" "optional", "type" "string", "description" "research id for dispute or trace purposes" }, { "name" "terminalidentification", "kind" "optional", "type" "string", "description" "id of the terminal where the transaction occurred" }, { "name" "terminallocation", "kind" "optional", "type" "string", "description" "location descriptor of the terminal" }, { "name" "terminalcity", "kind" "optional", "type" "string", "description" "city where the terminal is located" }, { "name" "terminalstate", "kind" "optional", "type" "string", "description" "state where the terminal is locationed" }, { "name" "transactiondate", "kind" "optional", "type" "string", "description" "date the transaction happened" }, { "name" "transactiondesc", "kind" "optional", "type" "string", "description" "additional description of the transaction" }, { "name" "transactionserial", "kind" "optional", "type" "string", "description" "serial number fo the transaction" }, { "name" "transactiontime", "kind" "optional", "type" "string", "description" "transaction timestamp" }, { "name" "cardaccountnumber", "kind" "optional", "type" "string", "description" "card account number used in the transaction" } ] }, { "name" "iatdetails", "kind" "optional", "type" "object", "description" "required if the sec code is iat see here for more information about iat \n\nthis object is only returned for the iat seccode ", "children" \[ { "name" "originator", "kind" "optional", "type" "object", "description" "payment sender details", "children" \[ { "name" "address", "kind" "optional", "type" "string", "description" "originator street or post office box address" }, { "name" "city", "kind" "optional", "type" "string", "description" "originator city full name" }, { "name" "state", "kind" "optional", "type" "string", "description" "originator state or province name" }, { "name" "postalcode", "kind" "optional", "type" "string", "description" "originator postal or zip code" }, { "name" "countrycode", "kind" "optional", "type" "string", "description" "originator 2 letter iso country code" } ] }, { "name" "receiver", "kind" "optional", "type" "object", "description" "payment receiver details", "children" \[ { "name" "address", "kind" "optional", "type" "string", "description" "receiver street or post office box address" }, { "name" "city", "kind" "optional", "type" "string", "description" "receiver city full name" }, { "name" "state", "kind" "optional", "type" "string", "description" "receiver state or province name" }, { "name" "postalcode", "kind" "optional", "type" "string", "description" "receiver postal or zip code" }, { "name" "countrycode", "kind" "optional", "type" "string", "description" "receiver 2 letter iso country code" } ] }, { "name" "originatingbank", "kind" "optional", "type" "object", "description" "details of financial institution originating the iat", "children" \[ { "name" "name", "kind" "optional", "type" "string", "description" "name of originating financial institution" }, { "name" "identification", "kind" "optional", "type" "string", "description" "originating bank dfi identification number, which is the first 8 digits of its routing number " }, { "name" "idqualifier", "kind" "optional", "type" "string", "description" "originating dfi identification number qualifier \n 01 national clearing system number\n 02 bic coder\n 03 iban" }, { "name" "countrycode", "kind" "optional", "type" "string", "description" "originating bank 2 letter iso country code" } ] }, { "name" "receivingbank", "kind" "optional", "type" "object", "description" "details of financial institution receiving the iat", "children" \[ { "name" "name", "kind" "optional", "type" "string", "description" "name of receiving financial institution" }, { "name" "identification", "kind" "optional", "type" "string", "description" "receiving bank dfi identification number, which is the first 8 digits of its routing number" }, { "name" "idqualifier", "kind" "optional", "type" "string", "description" "receiving dfi identification number qualifier \n 01 national clearing system number\n 02 bic coder\n 03 iban" }, { "name" "countrycode", "kind" "optional", "type" "string", "description" "receiving bank 2 letter iso country code" } ] }, { "name" "remittanceinfo1", "kind" "optional", "type" "string", "description" "additional iat information \na second field is available as remittanceinfo2 " }, { "name" "correspondentbank1", "kind" "optional", "type" "object", "description" "details of a correspondent (intermediary) bank, if there is one \nyou can have up to 5 correspondent banks (correspondentbank1, correspondentbank2, correspondentbank3, correspondentbank4, correspondentbank5, each with the same child attributes ", "children" \[ { "name" "name", "kind" "optional", "type" "string", "description" " name of financial institution" }, { "name" "identification", "kind" "optional", "type" "string", "description" "dfi identification number, which is the first 8 digits of its routing number " }, { "name" "idqualifier", "kind" "optional", "type" "string", "description" "dfi identification number qualifier \n 01 national clearing system number\n 02 bic coder\n 03 iban" }, { "name" "countrycode", "kind" "optional", "type" "string", "description" "2 letter iso country code" } ] }, { "name" "transactiontypecode", "kind" "optional", "type" "string", "description" "part of the addenda record an additional way to explain the purpose of the iat see the ach request and response codes page for iat transaction types " }, { "name" "originatingcurrency", "kind" "optional", "type" "string", "description" "an iso three character code to identify the originating currency" }, { "name" "destinationcurrency", "kind" "optional", "type" "string", "description" "an iso three character code to identify the receiving currency" } ] }, { "name" "addenda", "kind" "optional", "type" "string", "description" "supplemental data to identify an account holder or provide information about the payment this may include details such as invoice numbers ", "children" \[] }, { "name" "effectivedate", "kind" "optional", "type" "string", "description" "effective date of the ach payment (yyyy mm dd)", "children" \[] }, { "name" "reasoncode", "kind" "optional", "type" "string", "description" "valid ach return code explaining the return reason in accordance with nacha guidelines (for example, r01, r02) see the ach request and response codes page for the return codes ", "children" \[] }, { "name" "reasondata", "kind" "optional", "type" "string", "description" "more information about the reason for the return ", "children" \[] }, { "name" "tracenumber", "kind" "optional", "type" "string", "description" "unique ach trace number for the transaction", "children" \[] }, { "name" "settlementdate", "kind" "optional", "type" "string", "description" "date payment settled in the receiver's account", "children" \[] }, { "name" "wasreturned", "kind" "optional", "type" "boolean", "description" "true if payment was returned, otherwise false ", "children" \[] }, { "name" "wascorrected", "kind" "optional", "type" "boolean", "description" "true if a payment is sent with bad info but the receiving fi fixes it and sends back the information (noc), otherwise false ", "children" \[] }, { "name" "holddays", "kind" "optional", "type" "integer", "description" "for ach pulls, allows defining a number of days to delay credit of funds to an account to mitigate fraud and nsf scenarios", "children" \[] }, { "name" "previous", "kind" "optional", "type" "object", "description" "previous payment details", "children" \[ { "name" "paymentid", "kind" "optional", "type" "string", "description" "payment id for an original payment if the payment is returned or the system sends a noc" }, { "name" "reasoncode", "kind" "optional", "type" "string", "description" "reason code for an original payment if the payment is returned or the system sends a noc" }, { "name" "tracenumber", "kind" "optional", "type" "string", "description" "trace number for an original payment if the payment is returned or the system sends a noc" }, { "name" "settlementdate", "kind" "optional", "type" "string", "description" "settlement date for an original payment if the payment is returned or the system sends a noc" }, { "name" "reasondata", "kind" "optional", "type" "string", "description" "supporting data for the reason code for an original payment if the payment is returned or the system sends a noc" } ] }, { "name" "original", "kind" "optional", "type" "object", "description" "original payment details when a payment was returned or a noc was sent \nresending a payment after failure as a completely new request the new payment cannot be linked to the failed payment ", "children" \[ { "name" "paymentid", "kind" "optional", "type" "string", "description" "payment id for an original payment before any returns or corrections" }, { "name" "reasoncode", "kind" "optional", "type" "string", "description" "reason code for an original payment" }, { "name" "tracenumber", "kind" "optional", "type" "string", "description" "trace number for an original payment" }, { "name" "settlementdate", "kind" "optional", "type" "string", "description" "settlement date for an original payment" }, { "name" "reasondata", "kind" "optional", "type" "string", "description" "supporting data for the reason code for an original payment" } ] }, { "name" "createdat", "kind" "optional", "type" "string", "description" "date and time the payment was created in the system in this case, the date and time are in this format yyyy mm ddthh\ mm\ ss\[ mmm]", "children" \[] }, { "name" "canceledat", "kind" "optional", "type" "string", "description" "date and time the payment was canceled in this case, the date and time are in this format yyyy mm ddthh\ mm\ ss\[ mmm]", "children" \[] }, { "name" "rejectedat", "kind" "optional", "type" "string", "description" "date and time the payment was rejected in this case, the date and time are in this format yyyy mm ddthh\ mm\ ss\[ mmm]", "children" \[] }, { "name" "blockedat", "kind" "optional", "type" "string", "description" "date and time the payment was blocked by bsa/aml in this case, the date and time are in this format yyyy mm ddthh\ mm\ ss\[ mmm]", "children" \[] }, { "name" "processedat", "kind" "optional", "type" "string", "description" "date and time the payment was processed by cross river in this case, the date and time are in this format yyyy mm ddthh\ mm\ ss\[ mmm]", "children" \[] }, { "name" "completedat", "kind" "optional", "type" "string", "description" "date and time the payment was systemically completed this can only occur after the payment has successfully posted to the account in this case, the date and time are in this format yyyy mm ddthh\ mm\ ss\[ mmm]", "children" \[] }, { "name" "postedat", "kind" "optional", "type" "string", "description" "date and time the payment was posted to the cross river account in this case, the date and time are in this format yyyy mm ddthh\ mm\ ss\[ mmm]", "children" \[] }, { "name" "partnerid", "kind" "optional", "type" "string", "description" "your id in the cross river system this id is in guid format ", "children" \[] }, { "name" "productid", "kind" "optional", "type" "string", "description" "id in guid format of your specific product type on which the account is based provided by cross river in this case, the cross river account involved in the payment ", "children" \[] }, { "name" "lastmodifiedat", "kind" "optional", "type" "string", "description" "internal cross river value date and time the database entry was last modified ", "children" \[] }, { "name" "purpose", "kind" "optional", "type" "string", "description" "reason for the ach transfer for internal use only the data is not included with the outgoing ach batch file ", "children" \[] }, { "name" "clientidentifier", "kind" "optional", "type" "string", "description" "use this attribute to add your own unique identifying string to a payment call or cos record this attribute is useful for idempotency purposes ", "children" \[] }, { "name" "externalprefix", "kind" "optional", "type" "string", "description" "prefix from external system integration", "children" \[] }, { "name" "externalaccountnumber", "kind" "optional", "type" "string", "description" "external facing account reference number", "children" \[] } ] }