Simulate inbound payment request
api reference simulate receiving a request for payment (invoice) from another financial institution this api can only be run in the cross river sandbox docid kaqyvqvnuagqnekfkcuy { "name" "endpoint /rtp/payments/simulated inbound payment request", "method" "post", "url" "https //sandbox crbcos com/rtp/v1/payments/simulated inbound payment request", "tab" "examples", "examples" { "languages" \[ { "id" "curl example", "language" "curl", "code" "curl x post https //sandbox crbcos com/rtp/v1/payments/simulated inbound payment request \\\\\\\\\n h \\"authorization bearer your access token\\" \\\\\\\\\n h \\"content type application/json\\" \\\\\\\\\n d '{\n \\"accountnumber\\" \\"1234567890\\",\n \\"amount\\" 150000,\n \\"amountmodallowed\\" false,\n \\"creditorname\\" \\"john doe\\",\n \\"uetr\\" \\"sample value\\"\n}'" }, { "id" "nodejs example", "language" "nodejs", "code" "const axios = require('axios');\n\nconst options = {\n method 'post',\n url 'https //sandbox crbcos com/rtp/v1/payments/simulated inbound payment request',\n headers {\n 'authorization' 'bearer your access token',\n 'content type' 'application/json',\n },\n data {\n \\"accountnumber\\" \\"1234567890\\",\n \\"amount\\" 150000,\n \\"amountmodallowed\\" false,\n \\"creditorname\\" \\"john doe\\",\n \\"uetr\\" \\"sample value\\"\n}\n};\n\naxios(options)\n then(response => console log(response data))\n catch(error => console error(error));" }, { "id" "python example", "language" "python", "code" "import requests\n\nurl = 'https //sandbox crbcos com/rtp/v1/payments/simulated inbound payment request'\nheaders = {\n 'authorization' 'bearer your access token',\n 'content type' 'application/json',\n}\ndata = {\n \\"accountnumber\\" \\"1234567890\\",\n \\"amount\\" 150000,\n \\"amountmodallowed\\" false,\n \\"creditorname\\" \\"john doe\\",\n \\"uetr\\" \\"sample value\\"\n}\n\nresponse = requests post(url, headers=headers, json=data)\nprint(response json())" }, { "id" "ruby example", "language" "ruby", "code" "require 'net/http'\nrequire 'json'\n\nuri = uri('https //sandbox crbcos com/rtp/v1/payments/simulated inbound payment request')\nhttp = net http new(uri host, uri port)\nhttp use ssl = true\n\nrequest = net http post new(uri)\nrequest\['authorization'] = 'bearer your access token'\nrequest\['content type'] = 'application/json'\nrequest body = {\n \\"accountnumber\\" \\"1234567890\\",\n \\"amount\\" 150000,\n \\"amountmodallowed\\" false,\n \\"creditorname\\" \\"john doe\\",\n \\"uetr\\" \\"sample value\\"\n} to json\n\nresponse = http request(request)\nputs json parse(response body)" }, { "id" "go example", "language" "go", "code" "package main\n\nimport (\n \\"bytes\\"\n \\"encoding/json\\"\n \\"fmt\\"\n \\"io/ioutil\\"\n \\"net/http\"\n)\n\nfunc main() {\n payload = \[]byte(`{\n \\"accountnumber\\" \\"1234567890\\",\n \\"amount\\" 150000,\n \\"amountmodallowed\\" false,\n \\"creditorname\\" \\"john doe\\",\n \\"uetr\\" \\"sample value\\"\n}`)\n\n req, = http newrequest(\\"post\\", \\"https //sandbox crbcos com/rtp/v1/payments/simulated inbound payment request\\", bytes newbuffer(payload))\n req header add(\\"authorization\\", \\"bearer your access token\\")\n req header add(\\"content type\\", \\"application/json\\")\n\n client = \&http client{}\n resp, err = client do(req)\n if err != nil {\n panic(err)\n }\n defer resp body close()\n\n body, = ioutil readall(resp body)\n fmt println(string(body))\n}" } ] }, "results" { "languages" \[ { "id" "202", "language" "202", "code" "" }, { "id" "400", "language" "400", "code" "{\\\n \\\\\\"errors\\\\\\" \[{\\\n \\\\\\"code\\\\\\" 2001,\\\n \\\\\\"message\\\\\\" \\\\\\"validation error\\\\\\"\\\n }]\\\n}" }, { "id" "401", "language" "401", "code" "{\\\n \\\\\\"errors\\\\\\" \[{\\\n \\\\\\"code\\\\\\" 3001,\\\n \\\\\\"message\\\\\\" \\\\\\"unauthorized\\\\\\"\\\n }]\\\n}" } ] }, "request" { "pathparameters" \[], "queryparameters" \[], "headerparameters" \[], "formdataparameters" \[], "bodydataparameters" \[ { "name" "accountnumber", "kind" "required", "type" "string", "description" "a valid cos account number associated to the transaction this parameter can be null " }, { "name" "amount", "kind" "required", "type" "integer", "description" "dollar amount of the transaction in positive integral cents for example, write $1 00 as 100 " }, { "name" "amountmodallowed", "kind" "required", "type" "boolean", "description" "indicates whether the recipient is allowed to modify the requested amount in response to an rfp if the field is not provided, the system defaults to true \nif true, the recipient may respond with a different amount\nif false, the recipient must match the original amount; any mismatch will cause the payment to be rejected " }, { "name" "creditorname", "kind" "optional", "type" "string", "description" "creditorname" }, { "name" "uetr", "kind" "required", "type" "string", "description" "uetr" }, { "name" "remittancedata", "kind" "optional", "type" "string", "description" "a description of the payment, meaning, the remittance advice use this field for any remittance information that doesn't have its own field 140 characters maximum " }, { "name" "usecase", "kind" "optional", "type" "string", "description" "use one of the following values for the usecase field \n\n businesstobusiness\n consumerbillpay\n accounttoaccount\n downpaymentorfinalpayment\n consumertogovernment" }, { "name" "industrycategory", "kind" "optional", "type" "string", "description" "use one of the following values for the industrycategory field (optional when usecase is businesstobusiness or consumertogovernment) \n\n homeutilities\n telecomutilities\n mortgage\n rent\n insurancepremiums\n autoloans\n personalloans\n creditcardpayment\n mediasubscriptions\n memberships\n financialinstitution\n brokerordealer\n medical\n onlinegaming\n realestate\n government" }, { "name" "senderid", "kind" "optional", "type" "string", "description" "unique identifier for sender (uuid format)" }, { "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 " } ] }, "response" \[], "description" "", "currentnewparameter" { "label" "body parameter", "value" "bodydataparameters" }, "hastryitout" false, "autogeneratedanchorslug" "endpoint rtppaymentssimulated inbound payment requ", "legacyhash" "h0owiv7cpk e1znch8q1a" } use cases test request for payment (rfp) workflows in sandbox validate rfp approval and rejection flows develop customer authorization interfaces before production simulate bill payment request scenarios for testing error codes code scenario resolution 2018 invalid debtor verify request parameters and retry 2017 payments of $3,000 or more require a complete debtor address verify request parameters and retry 3001 unauthorized verify bearer token is valid and not expired 3002 insufficient permissions verify user has required permission for this operation business rules requires valid bearer token with permissions permissions payments simulate remittancedata field is limited to 140 characters maximum request validation performed before processing errors return 400 bad request with detailed error information rate limiting may apply to prevent abuse