Payments
...
APIs
Deposit check
1 min
{ "name" "endpoint /checks/v1/payments", "method" "post", "url" "https //sandbox crbcos com/checks/v1/payments", "description" "sends the cross river system information needed to deposit a check into a cross river account using the api this information includes images of both the front and the back of the check you submit these images after converting each one to a base64 encoded value ", "tab" "examples", "examples" { "languages" \[ { "id" "flw3i6yalyach r3p6ugw", "language" "curl", "code" "curl location 'https //sandbox crbcos com/checks/v1/payments' \\\\\n header 'content type application/json' \\\\\n header 'authorization bearer \<token>' \\\\\n data '{\n \\"accountnumber\\" \\"2640511503\\",\n \\"amount\\" 10000,\n \\"frontimage\\" \\"/9j/4quqrxhpzgaatu0akga \\",\n \\"backimage\\" \\"/9j/4reyrxhpzgaatu0akgaa \\",\n \\"isredeposit\\" false,\n \\"purpose\\" \\"skip iqa\\"\n}'", "customlabel" "" }, { "id" "cygejvwztskxfwn zcmww", "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' '/checks/v1/payments',\n 'headers' {\n 'content type' 'application/json',\n 'authorization' 'bearer \<token>'\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 = json stringify({\n \\"accountnumber\\" \\"2640511503\\",\n \\"amount\\" 10000,\n \\"frontimage\\" \\"/9j/4quqrxhpzgaatu0akga \\",\n \\"backimage\\" \\"/9j/4reyrxhpzgaatu0akgaa \\",\n \\"isredeposit\\" false,\n \\"purpose\\" \\"skip iqa\\"\n});\n\nreq write(postdata);\n\nreq end();", "customlabel" "" }, { "id" "xayu cguxjwdlnlkfafte", "language" "python", "code" "import http client\nimport json\n\nconn = http client httpsconnection(\\"sandbox crbcos com\\")\npayload = json dumps({\n \\"accountnumber\\" \\"2640511503\\",\n \\"amount\\" 10000,\n \\"frontimage\\" \\"/9j/4quqrxhpzgaatu0akga \\",\n \\"backimage\\" \\"/9j/4reyrxhpzgaatu0akgaa \\",\n \\"isredeposit\\" false,\n \\"purpose\\" \\"skip iqa\\"\n})\nheaders = {\n 'content type' 'application/json',\n 'authorization' 'bearer \<token>'\n}\nconn request(\\"post\\", \\"/checks/v1/payments\\", payload, headers)\nres = conn getresponse()\ndata = res read()\nprint(data decode(\\"utf 8\\"))", "customlabel" "" }, { "id" "xf qw7wmg slyqn8g9gud", "language" "ruby", "code" "import http client\nimport json\n\nconn = http client httpsconnection(\\"sandbox crbcos com\\")\npayload = json dumps({\n \\"accountnumber\\" \\"2640511503\\",\n \\"amount\\" 10000,\n \\"frontimage\\" \\"/9j/4quqrxhpzgaatu0akga \\",\n \\"backimage\\" \\"/9j/4reyrxhpzgaatu0akgaa \\",\n \\"isredeposit\\" false,\n \\"purpose\\" \\"skip iqa\\"\n})\nheaders = {\n 'content type' 'application/json',\n 'authorization' 'bearer \<token>'\n}\nconn request(\\"post\\", \\"/checks/v1/payments\\", payload, headers)\nres = conn getresponse()\ndata = res read()\nprint(data decode(\\"utf 8\\"))", "customlabel" "" }, { "id" "09kqcfa4vewcg6mvic2d2", "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/checks/v1/payments\\"\n method = \\"post\\"\n\n payload = strings newreader(`{`+\\"\n\\"+`\n \\"accountnumber\\" \\"2640511503\\",`+\\"\n\\"+`\n \\"amount\\" 10000,`+\\"\n\\"+`\n \\"frontimage\\" \\"/9j/4quqrxhpzgaatu0akga \\",`+\\"\n\\"+`\n \\"backimage\\" \\"/9j/4reyrxhpzgaatu0akgaa \\",`+\\"\n\\"+`\n \\"isredeposit\\" false,`+\\"\n\\"+`\n \\"purpose\\" \\"skip iqa\\"`+\\"\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(\\"content type\\", \\"application/json\\")\n req header add(\\"authorization\\", \\"bearer \<token>\\")\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" "flw3i6yalyach r3p6ugw" }, "results" { "languages" \[ { "id" "uv43jrbeg 9mgyane5ty4", "language" "200", "customlabel" "", "code" "{\n \\"id\\" \\"18619219 ccbb 45a6 a068 b30c008f7b47\\",\n \\"accountnumber\\" \\"2640511503\\",\n \\"referenceid\\" \\"c181dc3259d7\\",\n \\"paymenttype\\" \\"forward\\",\n \\"checktype\\" \\"standard\\",\n \\"direction\\" \\"outbound\\",\n \\"status\\" \\"created\\",\n \\"source\\" \\"api\\",\n \\"posting\\" \\"pending\\",\n \\"postingcode\\" \\"ok\\",\n \\"coretransactionid\\" \\"31746634 977b 461f 9899 b30c008f7b47\\",\n \\"memopostid\\" \\"51b24aa9 1cdc 4d82 9ddb b30c008f7b47\\",\n \\"originalpaymentid\\" \\"18619219 ccbb 45a6 a068 b30c008f7b47\\",\n \\"customerid\\" \\"53c34cf0 4cd2 4768 937b b30000dffdca\\",\n \\"payerroutingnumber\\" \\"\\",\n \\"payeraccountnumber\\" \\"\\",\n \\"payeename\\" \\"\\",\n \\"checknumber\\" \\"\\",\n \\"bofdroutingnumber\\" \\"021214891\\",\n \\"sequencenumber\\" \\"2203615981\\",\n \\"amount\\" 10000,\n \\"currency\\" \\"usd\\",\n \\"recognizedamount\\" 0,\n \\"iqapassed\\" false,\n \\"hasfrontimage\\" true,\n \\"hasbackimage\\" true,\n \\"isredeposit\\" false,\n \\"policy\\" \\"standard\\",\n \\"schedule\\" \[\n 0,\n 10000\n ],\n \\"createdat\\" \\"2025 06 30t04 42 24 0202774 04 00\\",\n \\"wasreturned\\" false,\n \\"purpose\\" \\"skip iqa\\",\n \\"depositbusinessdate\\" \\"250701\\",\n \\"productid\\" \\"83bed086 8182 4151 a1e3 af5b01362783\\",\n \\"partnerid\\" \\"cd9c12f4 7691 424a b38b af5b0134c611\\",\n \\"lastmodifiedat\\" \\"2025 06 30t04 42 24 0515279 04 00\\"\n}" }, { "id" "yqjdzqiq lrz8rladytpx", "language" "400", "code" "{\n \\"errors\\" \[\n {\n \\"code\\" 2301,\n \\"message\\" \\"deposits not allowed for account type\\"\n }\n ]\n}", "customlabel" "" } ], "selectedlanguageid" "yqjdzqiq lrz8rladytpx" }, "request" { "pathparameters" \[], "queryparameters" \[], "headerparameters" \[], "bodydataparameters" \[ { "name" "accountnumber", "kind" "required", "type" "string", "description" "number of the cross river account receiving the check", "" "number of the cross river account receiving the check" }, { "name" "amount", "kind" "required", "type" "integer", "description" "money amount that appears on the check", "children" \[] }, { "name" "frontimage", "kind" "required", "type" "string", "description" "the base64 encoded image of the front of the check, no larger than 1 mb", "" "the base64 encoded image of the front of the check, no larger than 1 mb" }, { "name" "backimage", "kind" "required", "type" "string", "description" "the base64 encoded image of the back of the check, no larger than 1 mb", "" "the base64 encoded image of the back of the check, no larger than 1 mb" }, { "name" "purpose", "kind" "optional", "type" "string", "description" "purpose of the deposited check\n\n50 characters maximum", "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 \n\n50 characters maximum", "children" \[] }, { "name" "isredeposit", "kind" "optional", "type" "boolean", "description" "true if the check was deposited before otherwise false ", "children" \[] } ], "formdataparameters" \[] }, "currentnewparameter" { "label" "body parameter", "value" "bodydataparameters" }, "response" \[ { "name" "id", "kind" "optional", "type" "string", "description" "check payment id this id is in guid format " }, { "name" "accountnumber", "kind" "optional", "type" "string", "description" "number of the account receiving the check", "children" \[] }, { "name" "referenceid", "kind" "optional", "type" "string", "description" "the reference id of the check payment, indicating the rail type in the first element of the string in this case it is c this is an internal cross river attribute ", "children" \[] }, { "name" "paymenttype", "kind" "optional", "type" "string", "description" "the check paymenttype indicates whether the check has been presented for deposit or has been returned for some reason \n\n forward (a check presented for deposit, to be sent to the payer bank)\n return (a previous forward item that the payer bank returned)", "children" \[] }, { "name" "checktype", "kind" "optional", "type" "string", "description" "type of check being dealt with there are several check types \n standard\n onus\n treasury\n moneyorder\n fedreservebank\n fedhomeloan\n statelocalgovt\n certified\n unknown", "children" \[] }, { "name" "direction ", "kind" "optional", "type" "string", "description" "check direction \n inbound (a check drawn from a cos account, deposited at another bank see deposit )\n outbound (a check deposited into a cos account, drawn from an account at another bank see withdrawal )", "children" \[] }, { "name" "status", "kind" "optional", "type" "string", "description" "status of the check payment there are several possible payment statuses \n created\n pending\n hold\n batched\n processing\n completed\n rejected\n canceled", "children" \[] }, { "name" "source", "kind" "optional", "type" "string", "description" "source of the payment request \n api\n partnerportal\n opsportal\n file\n system\n lockbox", "children" \[] }, { "name" "posting", "kind" "optional", "type" "string", "description" "posting status \n pending\n posted\n failed\n canceled\n authorized\n authorizing", "children" \[] }, { "name" "rejectionreason", "kind" "optional", "type" "string", "description" " imageanalysisfailure\n postingexception\n amountmismatch\n maxitemamountexceeded\n maxdepositamountexceeded\n maxitemsperdayexceeded\n duplicate\n payerroutingnumberinvalid\n payeraccountnumberinvalid\n checknumberinvalid\n accountnotfound\n depositsnotenabled\n invalidaccounttype\n notspecified", "children" \[] }, { "name" "positivepayresult", "kind" "optional", "type" "string", "description" "if positive pay is enabled, the positive pay status of the check \n pending\n authorized\n unauthorized\n disabled", "children" \[] }, { "name" "positivepaymatchid", "kind" "optional", "type" "string", "description" "if positive pay is enabled, id of the positive pay record associated with the payment", "children" \[] }, { "name" "postingcode", "kind" "optional", "type" "string", "description" "code related to the cross river system transaction tied to the payment any value other than “ok” indicates a rejection ", "children" \[] }, { "name" "clientbatchid", "kind" "optional", "type" "string", "description" "id for the batch received from the cross river lockbox vendor", "children" \[] }, { "name" "clientbatchsequence", "kind" "optional", "type" "integer", "description" "sequence number of the payment inside the batch received from the cross river lockbox vendor", "children" \[] }, { "name" "fedbatchid", "kind" "optional", "type" "string", "description" "id of the distribution that the check was included in", "children" \[] }, { "name" "fedbatchsequence", "kind" "optional", "type" "integer", "description" "sequence number of the payment inside the distribution", "children" \[] }, { "name" "coretransactionid", "kind" "optional", "type" "string", "description" "internal cross river unique id for the transaction", "children" \[] }, { "name" "memopostid", "kind" "optional", "type" "string", "description" "unique identifier for the memo post this id is in guid format ", "children" \[] }, { "name" "originalpaymentid", "kind" "optional", "type" "string", "description" "the original payment id, when a check has been returned or redeposited", "children" \[] }, { "name" "customerid", "kind" "optional", "type" "string", "description" "the unique id assigned to a customer when the customer record is created you need this id to take action for a specific customer for example, when opening an account or adding an address to a customer record \n\nthe id is in guid format ", "children" \[] }, { "name" "payerroutingnumber", "kind" "optional", "type" "string", "description" "the payer’s routing number (printed on the check)", "children" \[] }, { "name" "payeraccountnumber", "kind" "optional", "type" "string", "description" "the payer’s account number (printed on the check)", "children" \[] }, { "name" "payeename", "kind" "optional", "type" "string", "description" "name written on the pay to the order of line of the check", "children" \[] }, { "name" "checknumber", "kind" "optional", "type" "string", "description" "the serial number that appears on the check", "children" \[] }, { "name" "bofdroutingnumber", "kind" "optional", "type" "string", "description" "the routing number of the bank where the check was first deposited", "children" \[] }, { "name" "sequencenumber", "kind" "optional", "type" "string", "description" "the check sequence number", "children" \[] }, { "name" "amount", "kind" "optional", "type" "integer", "description" "money amount that appears on the check", "children" \[] }, { "name" "currency", "kind" "optional", "type" "string", "description" "currency of the check for example, usd (us dollars)", "children" \[] }, { "name" "micr", "kind" "optional", "type" "string", "description" "the magnetic ink character recognition line, consisting of the routing number, account number and check number", "children" \[] }, { "name" "recognizedamount", "kind" "optional", "type" "integer", "description" "the check amount recognized from the check image via ocr", "children" \[] }, { "name" "iqapassed", "kind" "optional", "type" "boolean", "description" "true if the check has passed the fed’s image quality assurance standards, otherwise false", "children" \[] }, { "name" "returncode", "kind" "optional", "type" "string", "description" "the return code indicates why the check was returned there are several return codes ", "children" \[] }, { "name" "hasfrontimage", "kind" "optional", "type" "boolean", "description" "true if the check image file includes the front of the check otherwise false ", "children" \[] }, { "name" "hasbackimage", "kind" "optional", "type" "boolean", "description" "true if the check image file includes the back of the check otherwise false ", "children" \[] }, { "name" "isredeposit", "kind" "optional", "type" "boolean", "description" "true if the check was deposited before otherwise false ", "children" \[] }, { "name" "policy ", "kind" "optional", "type" "string", "description" "the current availability policy type assigned to the deposit, defining the schedule for making funds available \n standard\n newaccount\n largedeposits\n redepositedcheck\n repeatedoverdrafts\n onus\n rcnoticeofunpaidreturn\n rcsuspectfraud\n rcfundingaccountoverdrafts\n rcunverifiedendorsement\n rcinconsistentinformation\n rcerasuresoralterations\n rcoutofdateroutingnumber\n rcpostdatedorstaledate\n rcpayingbanknotpaidindication\n rclostordamaged\n fiveday\n emergencyconditions", "children" \[] }, { "name" "schedule", "kind" "optional", "type" "array", "description" "funds availability schedule, determined by the policy, and based on whenever the check was released to the fed in a distribution consists of a day by day breakdown based on calendar day, with each day’s availability amount displayed ", "children" \[] }, { "name" "createdat", "kind" "optional", "type" "string", "description" "date and time the check payment was created 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 check 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 check payment was rejected 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 check payment was processed 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 check payment was completed 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 check payment was posted in this case, the date and time are in this format yyyy mm ddthh\ mm\ ss\[ mmm]", "children" \[] }, { "name" "wasreturned", "kind" "optional", "type" "boolean", "description" "true if the check was returned otherwise false ", "children" \[] }, { "name" "purpose", "kind" "optional", "type" "string", "description" "purpose of the deposited check", "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" "depositbusinessdate", "kind" "optional", "type" "string", "description" "the business date of the deposit in the format of yymmdd this date is usually day 1 of the schedule for making the funds available if the check is deposited after the day's deposit cut off time, day 1 might be a different date in that case, the processedat date is day 1 ", "children" \[] }, { "name" "lockboxvendorid", "kind" "optional", "type" "string", "description" "id of the lockbox service receiving the paper checks and sending them via icl to cross river", "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, it's the product id of the payee account ", "children" \[] }, { "name" "partnerid", "kind" "optional", "type" "string", "description" "your id in the cross river system this id is in guid format ", "children" \[] }, { "name" "lastmodifiedat", "kind" "optional", "type" "string", "description" "internal cross river value date and time the database entry was last modified ", "children" \[] } ] }