{"_id":"5bb405061293b100031ea731","project":"59f79e3c584eb200345ceafc","version":{"_id":"5ba178b00a916500030c6a21","project":"59f79e3c584eb200345ceafc","__v":24,"forked_from":"59f79e3c584eb200345ceaff","createdAt":"2015-09-17T03:47:20.956Z","releaseDate":"2015-09-17T03:47:20.956Z","categories":["5ba178b00a916500030c69a2","5ba178b00a916500030c69a3","5ba178b00a916500030c69a4","5ba178b00a916500030c69a5","5ba178b00a916500030c69a6","5ba178b00a916500030c69a7","5ba178b00a916500030c69a8","5ba178b00a916500030c69a9","5ba178b00a916500030c69aa","5ba178b00a916500030c69ab","5ba178b00a916500030c69ac","5afb6888212c690003ae3d3b","5ba178b00a916500030c69ad","5ba178b00a916500030c69ae","5ba2dcbc99f53f0003b97e2c","5babd73fa0ab3e0003ead030","5bb4038be7222e000334dd97","5bb55954478c1300031a44c2","5bb665a1607307000327c81e","5bb6f90229a7fb0003a0650d","5bb7f9bc29a7fb0003a07ac1","5bba58bd7ba7710003bd901d","5bba6dac7ba7710003bd908d","5bba6e257ba7710003bd9090","5bbac87810189c0003e619ea","5bbb9d02b5862c00036266b2","5bbbadb6219c3e000376c2de","5bc417751d1b0000182bf7f6","5bc59e3b2a5b4f0044db5b97","5bc7bbce2262cc0041f6eff2","5bce6a3580a7250031199f34","5bcfac2c4082510019f2d91b","5bcfac3757bed90030e45d68","5bcfac45d305bc0049941539","5bd2a43548bb6f00289c8fad","5bd3a42a026ebe001f66259e","5bd9d5afffe003005b02f97b","5becb7ee85c6b300557662b6"],"is_deprecated":false,"is_hidden":false,"is_beta":true,"is_stable":false,"codename":"","version_clean":"3.2.0","version":"3.2"},"category":{"_id":"5bb4038be7222e000334dd97","project":"59f79e3c584eb200345ceafc","version":"5ba178b00a916500030c6a21","__v":0,"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2018-10-02T23:47:23.222Z","from_sync":false,"order":3,"slug":"ach","title":"ACH"},"user":"5a68eb6970ea610012bfb924","__v":65,"parentDoc":null,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2018-10-02T23:53:42.363Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"examples":{"codes":[{"language":"http","code":"GET /v3.1/users/594e0fa2838454002ea317a0 HTTP/1.1\nHost: uat-api.synapsefi.com\nX-SP-GATEWAY: client_id_2bb1e412edd311e6bd04e285d6015267|client_secret_2bb1e714edd311e6bd04e285d6015267\nX-SP-USER-IP: 127.0.0.1\nX-SP-USER: |e83cf6ddcf778e37bfe3d48fc78a6502062fc\nContent-Type: application/json","name":"w/o full_dehydrate"},{"name":"with full_dehydrate","language":"http","code":"GET /v3.1/users/594e0fa2838454002ea317a0?full_dehydrate=yes HTTP/1.1\nHost: uat-api.synapsefi.com\nX-SP-GATEWAY: client_id_2bb1e412edd311e6bd04e285d6015267|client_secret_2bb1e714edd311e6bd04e285d6015267\nX-SP-USER-IP: 127.0.0.1\nX-SP-USER: |e83cf6ddcf778e37bfe3d48fc78a6502062fc\nContent-Type: application/json"}]},"method":"get","results":{"codes":[{"status":200,"language":"json","code":"{\n    \"_id\": \"594e0fa2838454002ea317a0\",\n    \"_links\": {\n        \"self\": {\n            \"href\": \"https://uat-api.synapsefi.com/v3.1/users/594e0fa2838454002ea317a0\"\n        }\n    },\n    \"client\": {\n        \"id\": \"589acd9ecb3cd400fa75ac06\",\n        \"name\": \"SynapseFI\"\n    },\n    \"doc_status\": {\n        \"physical_doc\": \"SUBMITTED|VALID\",\n        \"virtual_doc\": \"SUBMITTED|VALID\"\n    },\n    \"documents\": [\n        {\n            \"id\": \"2a4a5957a3a62aaac1a0dd0edcae96ea2cdee688ec6337b20745eed8869e3ac8\",\n            \"name\": \"Test User\",\n            \"permission_scope\": \"SEND|RECEIVE|1000|DAILY\",\n            \"physical_docs\": [\n                {\n                    \"document_type\": \"GOVT_ID\",\n                    \"id\": \"c486c2cb8c1bce695fcfae3197e14aa5b8ddec184c2779d00d581abee5d9a04c\",\n                    \"last_updated\": 1498288034877,\n                    \"status\": \"SUBMITTED|VALID\"\n                }\n            ],\n            \"social_docs\": [\n                {\n                    \"document_type\": \"FACEBOOK\",\n                    \"id\": \"8f314a6a53f36ee569455761e49a2a7fe790d251c5611c65255befdb303602b7\",\n                    \"last_updated\": 1498288034880,\n                    \"status\": \"SUBMITTED|VALID\"\n                },\n                {\n                    \"document_type\": \"PHONE_NUMBER\",\n                    \"id\": \"fda60784d6375bc44edafaaeae149626c4c13dcb92e85a2a7a00eec2cdfd2b6f\",\n                    \"last_updated\": 1498288034880,\n                    \"status\": \"SUBMITTED|VALID\"\n                },\n                {\n                    \"document_type\": \"EMAIL\",\n                    \"id\": \"2c45158f6431ca874bbe82f63d5905567854dde4d8b81539944e5779e5eee741\",\n                    \"last_updated\": 1498288034880,\n                    \"status\": \"SUBMITTED|VALID\"\n                },\n                {\n                    \"document_type\": \"IP\",\n                    \"id\": \"28d9177b22c127d9a51d8903893864accf6e553ac326704a4c0d585eaad2516a\",\n                    \"last_updated\": 1498288034880,\n                    \"status\": \"SUBMITTED|VALID\"\n                }\n            ],\n            \"virtual_docs\": [\n                {\n                    \"document_type\": \"SSN\",\n                    \"id\": \"ee596c2896dddc19b76c07a184fe7d3cf5a04b8e94b9108190cac7890739017f\",\n                    \"last_updated\": 1498288034875,\n                    \"status\": \"SUBMITTED|VALID\"\n                }\n            ]\n        }\n    ],\n    \"emails\": [],\n    \"extra\": {\n        \"cip_tag\": 1,\n        \"date_joined\": 1498288029784,\n        \"extra_security\": false,\n        \"is_business\": false,\n        \"last_updated\": 1498288034864,\n        \"public_note\": null,\n        \"supp_id\": \"122eddfgbeafrfvbbb\"\n    },\n    \"is_hidden\": false,\n    \"legal_names\": [\n        \"Test User\"\n    ],\n    \"logins\": [\n        {\n            \"email\": \"test:::at:::synapsefi.com\",\n            \"scope\": \"READ_AND_WRITE\"\n        }\n    ],\n    \"permission\": \"SEND-AND-RECEIVE\",\n    \"phone_numbers\": [\n        \"[email protected]\",\n        \"901.111.1111\"\n    ],\n    \"photos\": [],\n    \"refresh_token\": \"refresh_ehG7YBS8ZiD0sLa6PQHMUxryovVkJzElC5gWROXq\"\n}","name":"w/o full_dehydrate"},{"code":"{\n    \"_id\": \"594e0fa2838454002ea317a0\",\n    \"_links\": {\n        \"self\": {\n            \"href\": \"https://uat-api.synapsefi.com/v3.1/users/594e0fa2838454002ea317a0\"\n        }\n    },\n    \"_v\": 2,\n    \"client\": {\n        \"id\": \"589acd9ecb3cd400fa75ac06\",\n        \"name\": \"SynapseFI\"\n    },\n    \"doc_status\": {\n        \"physical_doc\": \"SUBMITTED|VALID\",\n        \"virtual_doc\": \"SUBMITTED|VALID\"\n    },\n    \"documents\": [\n        {\n            \"address_city\": \"SF\",\n            \"address_country_code\": \"US\",\n            \"address_postal_code\": \"94114\",\n            \"address_street\": \"1 Market St.\",\n            \"address_subdivision\": \"CA\",\n            \"alias\": \"Test\",\n            \"day\": 2,\n            \"email\": \"[email protected]\",\n            \"entity_scope\": \"Arts & Entertainment\",\n            \"entity_type\": \"M\",\n            \"id\": \"2a4a5957a3a62aaac1a0dd0edcae96ea2cdee688ec6337b20745eed8869e3ac8\",\n            \"ip\": \"::1\",\n            \"month\": 5,\n            \"name\": \"Test User\",\n            \"permission_scope\": \"SEND|RECEIVE|1000|DAILY\",\n            \"phone_number\": \"901.111.1111\",\n            \"physical_docs\": [\n                {\n                    \"document_type\": \"GOVT_ID\",\n                    \"document_value\": \"https://cdn.synapsepay.com/uploads/2017/06/24/DioeVvEbMOfxzpLGZNCPnJKYuHQ7t89s4FBmTk00rRgyc35WXU.gif\",\n                    \"id\": \"c486c2cb8c1bce695fcfae3197e14aa5b8ddec184c2779d00d581abee5d9a04c\",\n                    \"last_updated\": 1498288034877,\n                    \"meta\": {\n                        \"matches\": {\n                            \"address\": \"not_found\",\n                            \"dob\": \"not_found\",\n                            \"identification\": \"not_found\"\n                        }\n                    },\n                    \"status\": \"SUBMITTED|VALID\"\n                }\n            ],\n            \"screening_results\": {\n                \"561\": \"NO_MATCH\",\n                \"aucl\": \"NO_MATCH\",\n                \"concern_location\": \"NO_MATCH\",\n                \"dpl\": \"NO_MATCH\",\n                \"dtc\": \"NO_MATCH\",\n                \"el\": \"NO_MATCH\",\n                \"eucl\": \"NO_MATCH\",\n                \"fatf_non_cooperative_jurisdiction\": \"NO_MATCH\",\n                \"fbi_bank_robbers\": \"NO_MATCH\",\n                \"fbi_counter_intelligence\": \"NO_MATCH\",\n                \"fbi_crimes_against_children\": \"NO_MATCH\",\n                \"fbi_criminal_enterprise_investigations\": \"NO_MATCH\",\n                \"fbi_cyber\": \"NO_MATCH\",\n                \"fbi_domestic_terrorism\": \"NO_MATCH\",\n                \"fbi_human_trafficking\": \"NO_MATCH\",\n                \"fbi_murders\": \"NO_MATCH\",\n                \"fbi_violent_crimes\": \"NO_MATCH\",\n                \"fbi_wanted_terrorists\": \"NO_MATCH\",\n                \"fbi_white_collar\": \"NO_MATCH\",\n                \"fincen_red_list\": \"NO_MATCH\",\n                \"fse\": \"NO_MATCH\",\n                \"fto_sanctions\": \"NO_MATCH\",\n                \"futures_sanctions\": \"NO_MATCH\",\n                \"hkma_sanctions\": \"NO_MATCH\",\n                \"hm_treasury_sanctions\": \"NO_MATCH\",\n                \"isn\": \"NO_MATCH\",\n                \"mas_sanctions\": \"NO_MATCH\",\n                \"monitored_location\": \"NO_MATCH\",\n                \"ns-isa\": \"NO_MATCH\",\n                \"ofac_561_list\": \"NO_MATCH\",\n                \"ofac_eo13645\": \"NO_MATCH\",\n                \"ofac_fse\": \"NO_MATCH\",\n                \"ofac_fse_ir\": \"NO_MATCH\",\n                \"ofac_fse_sy\": \"NO_MATCH\",\n                \"ofac_isa\": \"NO_MATCH\",\n                \"ofac_ns_isa\": \"NO_MATCH\",\n                \"ofac_plc\": \"NO_MATCH\",\n                \"ofac_sdn\": \"NO_MATCH\",\n                \"ofac_ssi\": \"NO_MATCH\",\n                \"ofac_syria\": \"NO_MATCH\",\n                \"ofac_ukraine_eo13662\": \"NO_MATCH\",\n                \"osfi\": \"NO_MATCH\",\n                \"pep\": \"NO_MATCH\",\n                \"plc\": \"NO_MATCH\",\n                \"primary_concern\": \"NO_MATCH\",\n                \"sdn\": \"NO_MATCH\",\n                \"ssi\": \"NO_MATCH\",\n                \"tel_sanctions\": \"NO_MATCH\",\n                \"ukcl\": \"NO_MATCH\",\n                \"uvl\": \"NO_MATCH\"\n            },\n            \"social_docs\": [\n                {\n                    \"document_type\": \"FACEBOOK\",\n                    \"document_value\": \"https://www.facebook.com/valid\",\n                    \"id\": \"8f314a6a53f36ee569455761e49a2a7fe790d251c5611c65255befdb303602b7\",\n                    \"last_updated\": 1498288034880,\n                    \"meta\": {\n                        \"matches\": {\n                            \"address\": \"not_found\",\n                            \"dob\": \"not_found\",\n                            \"identification\": \"not_found\"\n                        }\n                    },\n                    \"status\": \"SUBMITTED|VALID\"\n                },\n                {\n                    \"document_type\": \"PHONE_NUMBER\",\n                    \"document_value\": \"901.111.1111\",\n                    \"id\": \"fda60784d6375bc44edafaaeae149626c4c13dcb92e85a2a7a00eec2cdfd2b6f\",\n                    \"last_updated\": 1498288034880,\n                    \"meta\": {\n                        \"matches\": {\n                            \"address\": \"not_found\",\n                            \"dob\": \"not_found\",\n                            \"identification\": \"not_found\"\n                        }\n                    },\n                    \"status\": \"SUBMITTED|VALID\"\n                },\n                {\n                    \"document_type\": \"EMAIL\",\n                    \"document_value\": \"[email protected]\",\n                    \"id\": \"2c45158f6431ca874bbe82f63d5905567854dde4d8b81539944e5779e5eee741\",\n                    \"last_updated\": 1498288034880,\n                    \"meta\": {\n                        \"matches\": {\n                            \"address\": \"not_found\",\n                            \"dob\": \"not_found\",\n                            \"identification\": \"not_found\"\n                        }\n                    },\n                    \"status\": \"SUBMITTED|VALID\"\n                },\n                {\n                    \"document_type\": \"IP\",\n                    \"document_value\": \"::1\",\n                    \"id\": \"28d9177b22c127d9a51d8903893864accf6e553ac326704a4c0d585eaad2516a\",\n                    \"last_updated\": 1498288034880,\n                    \"meta\": {\n                        \"matches\": {\n                            \"address\": \"not_found\",\n                            \"dob\": \"not_found\",\n                            \"identification\": \"not_found\"\n                        }\n                    },\n                    \"status\": \"SUBMITTED|VALID\"\n                }\n            ],\n            \"virtual_docs\": [\n                {\n                    \"document_type\": \"SSN\",\n                    \"document_value\": \"2222\",\n                    \"id\": \"ee596c2896dddc19b76c07a184fe7d3cf5a04b8e94b9108190cac7890739017f\",\n                    \"last_updated\": 1498288034875,\n                    \"meta\": {\n                        \"matches\": {\n                            \"address\": \"not_found\",\n                            \"dob\": \"not_found\",\n                            \"identification\": \"not_found\"\n                        }\n                    },\n                    \"status\": \"SUBMITTED|VALID\"\n                }\n            ],\n            \"year\": 1989\n        }\n    ],\n    \"emails\": [],\n    \"extra\": {\n        \"cip_tag\": 1,\n        \"date_joined\": 1498288029784,\n        \"extra_security\": false,\n        \"is_business\": false,\n        \"last_updated\": 1498288034864,\n        \"note\": null,\n        \"public_note\": null,\n        \"supp_id\": \"122eddfgbeafrfvbbb\"\n    },\n    \"flag\": \"NOT-FLAGGED\",\n    \"ips\": [\n        \"127.0.0.1\"\n    ],\n    \"is_hidden\": false,\n    \"legal_names\": [\n        \"Test User\"\n    ],\n    \"logins\": [\n        {\n            \"email\": \"[email protected]\",\n            \"scope\": \"READ_AND_WRITE\"\n        }\n    ],\n    \"permission\": \"SEND-AND-RECEIVE\",\n    \"phone_numbers\": [\n        \"[email protected]\",\n        \"901.111.1111\"\n    ],\n    \"photos\": [],\n    \"refresh_token\": \"refresh_ehG7YBS8ZiD0sLa6PQHMUxryovVkJzElC5gWROXq\"\n}","language":"json","name":"with full_dehydrate","status":200}]},"settings":"","auth":"required","params":[{"_id":"58acf7f3e570c62500512a63","ref":"","in":"query","required":false,"desc":"[yes/no] Full Dehydrate yes will return back user's KYC info.","default":"no","type":"string","name":"full_dehydrate"},{"_id":"590ca984ae0df70f0044026c","ref":"","in":"path","required":true,"desc":"The user ID of the user you wish to retrieve","default":"","type":"string","name":"user_id"}],"url":"/v3.1/users/:user_id"},"isReference":false,"order":6,"body":"*Previous Step: [Create User](https://docs.synapsefi.com/v3.2/docs/create-a-user-1), [OAuth User](https://docs.synapsefi.com/v3.2/docs/oauth-the-user), and Link with [Bank Logins](https://docs.synapsefi.com/v3.2/docs/linking-an-ach-account-via-bank-logins) or [Account/Routing](https://docs.synapsefi.com/v3.2/docs/linking-an-ach-account-with-accountrouting-number) for all parties in the transaction*\n\n##API ENDPOINT\nhttps://uat-api.synapsefi.com/v3.1/users/:user_id/nodes/:node_id/trans\n\n##PATH PARAMETER\n[block:html]\n{\n  \"html\": \"<div class=\\\"api-manager\\\"> <div class=\\\"param-table\\\"> <div class=\\\"table\\\"><div class=\\\"tr\\\"> <div class=\\\"td param\\\"> <strong>user_id <span class=\\\"colon\\\">:</span> </strong> <div class=\\\"required\\\">required</div></div><div class=\\\"td\\\"> <strong class=\\\"param-type\\\">string</strong> <div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"> <p>ID of sender (user)</p></div></div></div><div class=\\\"tr\\\"> <div class=\\\"td param\\\"> <strong>node_id <span class=\\\"colon\\\">:</span> </strong> <div class=\\\"required\\\">required</div></div><div class=\\\"td\\\"> <strong class=\\\"param-type\\\">string</strong> <div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"> <p>ID of sending node</p></div></div></div></div></div></div>\"\n}\n[/block]\n##BODY PARAMETER\n[block:html]\n{\n  \"html\": \"<div class=\\\"api-manager\\\"> <div class=\\\"param-table\\\"> <div class=\\\"table\\\"> <div class=\\\"tr\\\"> <div class=\\\"td param\\\"> <strong> <span class=\\\"text-muted\\\">to.</span>type <span class=\\\"colon\\\">:</span> </strong> <div class=\\\"required\\\">required</div></div><div class=\\\"td\\\"> <strong class=\\\"param-type\\\">string</strong> <div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"> <p>Receiving node type</p></div></div></div><div class=\\\"tr\\\"> <div class=\\\"td param\\\"> <strong> <span class=\\\"text-muted\\\">to.</span>id <span class=\\\"colon\\\">:</span> </strong> <div class=\\\"required\\\">required</div></div><div class=\\\"td\\\"> <strong class=\\\"param-type\\\">string</strong> <div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"> <p>Receiving node ID</p></div></div></div><div class=\\\"tr\\\"> <div class=\\\"td param\\\"> <strong> <span class=\\\"text-muted\\\">amount.</span>amount <span class=\\\"colon\\\">:</span> </strong> <div class=\\\"required\\\">required</div></div><div class=\\\"td\\\"> <strong class=\\\"param-type\\\">double</strong> <div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"> <p>Amount user wishes to send</p></div></div></div><div class=\\\"tr\\\"> <div class=\\\"td param\\\"> <strong> <span class=\\\"text-muted\\\">amount.</span>currency <span class=\\\"colon\\\">:</span> </strong> <div class=\\\"required\\\">required</div></div><div class=\\\"td\\\"> <strong class=\\\"param-type\\\">string</strong> <div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"> <p>Currency of the transaction amount</p></div></div></div><div class=\\\"tr\\\"> <div class=\\\"td param\\\"> <strong> <span class=\\\"text-muted\\\">extra.</span>ip <span class=\\\"colon\\\">:</span> </strong> <div class=\\\"required\\\">required</div></div><div class=\\\"td\\\"> <strong class=\\\"param-type\\\">string</strong> <div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"> <p>IP address of the user device while creating transaction</p></div></div></div><div class=\\\"tr\\\"> <div class=\\\"td param\\\"> <strong> <span class=\\\"text-muted\\\">extra.</span>asset <span class=\\\"colon\\\">:</span> </strong></div><div class=\\\"td\\\"> <strong class=\\\"param-type\\\">string</strong> <div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"> <p>Assign this value only in case of making a transaction to or from CRYPTO-US. Acceptable values are BTC and ETH</p></div></div></div><div class=\\\"tr\\\"> <div class=\\\"td param\\\"> <strong> <span class=\\\"text-muted\\\">extra.</span>same_day <span class=\\\"colon\\\">:</span> </strong> </div><div class=\\\"td\\\"> <strong class=\\\"param-type\\\">boolean</strong> <span class=\\\"param-default text-muted\\\">false</span> <div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"> <p>Set this to <code>true</code> if you wish to settle the ACH on same day. Please note this would only work, if same day ACH has been enabled for your platform</p></div></div></div><div class=\\\"tr\\\"> <div class=\\\"td param\\\"> <strong> <span class=\\\"text-muted\\\">extra.</span>supp_id <span class=\\\"colon\\\">:</span> </strong> </div><div class=\\\"td\\\"> <strong class=\\\"param-type\\\">string</strong> <div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"> <p>ID supplied to the transaction</p></div></div></div><div class=\\\"tr\\\"> <div class=\\\"td param\\\"> <strong> <span class=\\\"text-muted\\\">extra.</span>group_id <span class=\\\"colon\\\">:</span> </strong> </div><div class=\\\"td\\\"> <strong class=\\\"param-type\\\">string</strong> <div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"> <p>Group ID supplied to the transaction</p></div></div></div><div class=\\\"tr\\\"> <div class=\\\"td param\\\"> <strong> <span class=\\\"text-muted\\\">extra.</span>note <span class=\\\"colon\\\">:</span> </strong> </div><div class=\\\"td\\\"> <strong class=\\\"param-type\\\">string</strong> <div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"> <p>Memo tagged with the transaction</p></div></div></div><div class=\\\"tr\\\"> <div class=\\\"td param\\\"> <strong> <span class=\\\"text-muted\\\">extra.</span>process_on <span class=\\\"colon\\\">:</span> </strong> </div><div class=\\\"td\\\"> <strong class=\\\"param-type\\\">integer</strong> <span class=\\\"param-default text-muted\\\">0</span> <div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"> <p>When the transaction should be processed. The value is the delta value. Which means when 1 is supplied it means that the transaction will be processed tomorrow.</p></div></div></div><div class=\\\"tr\\\"> <div class=\\\"td param\\\"> <strong> <span class=\\\"text-muted\\\">extra.other.</span>attachments <span class=\\\"colon\\\">:</span> </strong> </div><div class=\\\"td\\\"> <strong class=\\\"param-type\\\">array of strings</strong> <div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"> <p>Array of padded base64 of attachments</p></div></div></div><div class=\\\"tr\\\"> <div class=\\\"td param\\\"> <strong> <span class=\\\"text-muted\\\">fees[</span>fee <span class=\\\"text-muted\\\">]</span> <span class=\\\"colon\\\">:</span> </strong> </div><div class=\\\"td\\\"> <strong class=\\\"param-type\\\">double</strong> <div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"> <p>Fee associated with the transaction</p></div></div></div><div class=\\\"tr\\\"> <div class=\\\"td param\\\"> <strong> <span class=\\\"text-muted\\\">fees[</span>note <span class=\\\"text-muted\\\">]</span> <span class=\\\"colon\\\">:</span> </strong> </div><div class=\\\"td\\\"> <strong class=\\\"param-type\\\">string</strong> <div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"> <p>Reason for the fee</p></div></div></div><div class=\\\"tr\\\"> <div class=\\\"td param\\\"> <strong> <span class=\\\"text-muted\\\">fees[to].</span>id <span class=\\\"colon\\\">:</span> </strong> </div><div class=\\\"td\\\"> <strong class=\\\"param-type\\\">string</strong> <div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"> <p>Node ID where the fee would be credited when the transaction settled. Fee node has to be DEPOSIT-US type always</p></div></div></div></div></div></div>\"\n}\n[/block]\n##EXAMPLE REQUEST\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"POST /v3.1/users/594e6da41acea2002e666987/nodes/594e6e6c12e17a002f2e39e4/trans HTTP/1.1\\nHost: uat-api.synapsefi.com\\nX-SP-USER-IP: 127.0.0.1\\nX-SP-USER: oauth_fyBaT5kswdlme0xQI6gSCPYKDG1Zrv8Ftj9NboJc|e83cf6ddcf778e37bfe3d48fc78a6502062fc\\nContent-Type: application/json\\n\\n{\\n  \\\"to\\\": {\\n    \\\"type\\\": \\\"ACH-US\\\",\\n    \\\"id\\\": \\\"594e6e6c12e17a002f2e39e4\\\"\\n  },\\n  \\\"amount\\\": {\\n    \\\"amount\\\": 20.1,\\n    \\\"currency\\\": \\\"USD\\\"\\n  },\\n  \\\"extra\\\": {\\n    \\\"ip\\\": \\\"192.168.0.1\\\"\\n  }\\n}\",\n      \"language\": \"http\"\n    }\n  ]\n}\n[/block]\n##EXAMPLE RESPONSE\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"{\\n  \\\"_id\\\": \\\"5b57d2b4b75379005e3d60cf\\\",\\n  \\\"_links\\\": {\\n    \\\"self\\\": {\\n      \\\"href\\\": \\\"https://uat-api.synapsefi.com/v3.1/users/5b57d065c9f52d0059a50e63/nodes/5b57d07ef605a000497f0409/trans/5b57d2b4b75379005e3d60cf\\\"\\n    }\\n  },\\n  \\\"_v\\\": 2,\\n  \\\"amount\\\": {\\n    \\\"amount\\\": 20.1,\\n    \\\"currency\\\": \\\"USD\\\"\\n  },\\n  \\\"client\\\": {\\n    \\\"id\\\": \\\"589a9ffc86c2736412ce7ea4\\\",\\n    \\\"name\\\": \\\"TEST TEST MEESH\\\"\\n  },\\n  \\\"extra\\\": {\\n    \\\"created_on\\\": 1532482228415,\\n    \\\"ip\\\": \\\"192.168.0.1\\\",\\n    \\\"latlon\\\": \\\"0,0\\\",\\n    \\\"note\\\": \\\"Test transaction\\\",\\n    \\\"process_on\\\": 1532482228415,\\n    \\\"same_day\\\": false,\\n    \\\"supp_id\\\": \\\"1122444\\\"\\n  },\\n  \\\"fees\\\": [\\n    {\\n      \\\"fee\\\": 0.0,\\n      \\\"note\\\": \\\"Facilitator Fee\\\",\\n      \\\"to\\\": {\\n        \\\"id\\\": \\\"None\\\"\\n      }\\n    }\\n  ],\\n  \\\"from\\\": {\\n    \\\"id\\\": \\\"5b57d07ef605a000497f0409\\\",\\n    \\\"meta\\\": {},\\n    \\\"nickname\\\": \\\"SynapsePay Test Checking Account - 8901\\\",\\n    \\\"type\\\": \\\"ACH-US\\\",\\n    \\\"user\\\": {\\n      \\\"_id\\\": \\\"5b57d065c9f52d0059a50e63\\\",\\n      \\\"legal_names\\\": []\\n    }\\n  },\\n  \\\"recent_status\\\": {\\n    \\\"date\\\": 1532482228415,\\n    \\\"note\\\": \\\"Transaction Created.\\\",\\n    \\\"status\\\": \\\"CREATED\\\",\\n    \\\"status_id\\\": \\\"1\\\"\\n  },\\n  \\\"timeline\\\": [\\n    {\\n      \\\"date\\\": 1532482228415,\\n      \\\"note\\\": \\\"Transaction Created.\\\",\\n      \\\"status\\\": \\\"CREATED\\\",\\n      \\\"status_id\\\": \\\"1\\\"\\n    }\\n  ],\\n  \\\"to\\\": {\\n    \\\"id\\\": \\\"5b57d07ef605a000497f0409\\\",\\n    \\\"meta\\\": {},\\n    \\\"nickname\\\": \\\"\\\",\\n    \\\"type\\\": \\\"ACH-US\\\",\\n    \\\"user\\\": {\\n      \\\"_id\\\": \\\"\\\",\\n      \\\"legal_names\\\": []\\n    }\\n  }\\n}\\n\",\n      \"language\": \"json\"\n    }\n  ]\n}\n[/block]\n##ACH Cutoff Times\nPayments are submitted for processing every business day (Monday - Friday). Payments are not submitted on weekends or bank holidays.\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Transaction Type\",\n    \"h-1\": \"Cutoff Time\",\n    \"0-0\": \"Same Day ACH\",\n    \"h-2\": \"Settlement Time\",\n    \"0-1\": \"9AM PT\",\n    \"0-2\": \"4PM PT (approximately)\",\n    \"1-0\": \"Next Day ACH\",\n    \"1-1\": \"4PM PT\",\n    \"1-2\": \"11AM PT (approximately)\"\n  },\n  \"cols\": 3,\n  \"rows\": 2\n}\n[/block]\n##Example Timeline\nHere is an example of a returned ACH debit. Not all transactions will follow this exact timeline, so please do not build your logic off these times. Instead, monitor transaction status and account balance.\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"DESCRIPTION\",\n    \"h-1\": \"TIME\",\n    \"h-2\": \"TRANSACTION STATUS\",\n    \"0-0\": \"User creates a transaction\",\n    \"0-1\": \"Day 1, 10AM PT\",\n    \"0-2\": \"CREATED\",\n    \"1-0\": \"Transaction is submitted to our partner bank (\\\"ODFI\\\") at the appropriate cutoff time, assuming the transaction was not queued or canceled.\",\n    \"1-1\": \"Day 1, 4:00PM PT\",\n    \"1-2\": \"PROCESSING-DEBIT\",\n    \"2-0\": \"User's bank (\\\"RDFI\\\") picks up the ACH request.\",\n    \"4-0\": \"We receive a return from the user's bank stating that the funds were not actually debited/credited. See ACH Return Codes to understand these timelines.\",\n    \"4-1\": \"Day 4, 3:00PM PT\",\n    \"2-1\": \"Day 2, 11:00AM PT\",\n    \"2-2\": \"PROCESSING-CREDIT\",\n    \"3-0\": \"We mark the transaction as settled\",\n    \"3-1\": \"Day 2, 11:05AM PT\",\n    \"3-2\": \"SETTLED\",\n    \"4-2\": \"RETURNED\",\n    \"h-3\": \"STATUS_ID\",\n    \"0-3\": \"1\",\n    \"1-3\": \"2\",\n    \"2-3\": \"3\",\n    \"3-3\": \"4\",\n    \"4-3\": \"6\"\n  },\n  \"cols\": 4,\n  \"rows\": 5\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Don't see a transaction posted at your bank?\",\n  \"body\": \"Different banks post transactions at different times, so a user may not see their transaction marked as settled at the exact time that we mark a transaction as settled.\"\n}\n[/block]\n## Transaction Status\nThe following are different types of transaction statuses for an ACH transaction.\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"STATUS\",\n    \"h-1\": \"STATUS_ID\",\n    \"h-2\": \"Comment\",\n    \"0-0\": \"QUEUED-BY-SYNAPSE\",\n    \"1-0\": \"QUEUED-BY-RECEIVER\",\n    \"2-0\": \"CREATED\",\n    \"3-0\": \"PROCESSING-DEBIT\",\n    \"4-0\": \"PROCESSING-CREDIT\",\n    \"5-0\": \"SETTLED\",\n    \"6-0\": \"CANCELED\",\n    \"7-0\": \"RETURNED\",\n    \"0-1\": \"-1\",\n    \"1-1\": \"0\",\n    \"2-1\": \"1\",\n    \"3-1\": \"2\",\n    \"4-1\": \"3\",\n    \"5-1\": \"4\",\n    \"6-1\": \"5\",\n    \"7-1\": \"6\",\n    \"0-2\": \"Transaction queued by Synapse\",\n    \"1-2\": \"Transaction queued by Client\",\n    \"2-2\": \"Transaction Created\",\n    \"3-2\": \"Processing Debit\",\n    \"4-2\": \"Processing Credit\",\n    \"5-2\": \"Transaction Settled\",\n    \"6-2\": \"Transaction Canceled\",\n    \"7-2\": \"Transaction Returned\"\n  },\n  \"cols\": 3,\n  \"rows\": 8\n}\n[/block]\n##Queued and Canceled Transactions\nVisit our [Transaction Codes resource](https://docs.synapsefi.com/v3.2/docs/transaction-codes) for the full list of reasons a transaction can be queued or canceled.\n\nTo cancel a transaction yourself, DELETE transaction. Only transactions with a `CREATED` or `QUEUED` status can be canceled. Once a transaction is processing or settled you are unable to cancel it.\n\n##Returned Transactions\nTransactions may be marked as returned after a transaction has settled. Below are the possible return codes and the corresponding timeframes within which a return may occur.\n\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Code\",\n    \"h-1\": \"Description\",\n    \"h-2\": \"Timeframe\",\n    \"0-0\": \"R01\",\n    \"1-0\": \"R02\",\n    \"2-0\": \"R03\",\n    \"3-0\": \"R04\",\n    \"4-0\": \"R06\",\n    \"5-0\": \"R07\",\n    \"6-0\": \"R08\",\n    \"7-0\": \"R09\",\n    \"8-0\": \"R10\",\n    \"9-0\": \"R11\",\n    \"10-0\": \"R12\",\n    \"11-0\": \"R13\",\n    \"12-0\": \"R14\",\n    \"13-0\": \"R16\",\n    \"14-0\": \"R17\",\n    \"15-0\": \"R20\",\n    \"16-0\": \"R21\",\n    \"17-0\": \"R22\",\n    \"18-0\": \"R23\",\n    \"19-0\": \"R24\",\n    \"20-0\": \"R29\",\n    \"21-0\": \"R31\",\n    \"22-0\": \"R33\",\n    \"23-0\": \"R34\",\n    \"0-1\": \"Insufficient Funds. Available balance is not sufficient to cover the amount of the debit entry.\",\n    \"1-1\": \"Account Closed. Previously active amount has been closed by the customer of RDFI.\",\n    \"2-1\": \"No Account/Unable to Locate Account. Account number does not correspond to the individual identified in the entry, or the account number designated is not an open account.\",\n    \"3-1\": \"Invalid Account Number\",\n    \"4-1\": \"Returned Per ODFI's Request\",\n    \"5-1\": \"Authorization Revoked by Customer\",\n    \"6-1\": \"Payment Stopped\",\n    \"7-1\": \"Uncollected Funds. Collected funds are not sufficient for payment of the debit entry.\",\n    \"8-1\": \"Customer Advises Not Authorized\",\n    \"9-1\": \"Check Safekeeping Entry Return\",\n    \"10-1\": \"Branch Sold To Another DFI\",\n    \"11-1\": \"RDFI Not Qualified to Participate\",\n    \"12-1\": \"Account Holder Deceased\",\n    \"13-1\": \"Account Frozen. Funds in bank account are unavailable due to action by RDFI or legal order\",\n    \"14-1\": \"File Record Edit Criteria\",\n    \"15-1\": \"Non-Transaction Account. Entry destined for non-payment bank account defined by reg. This means the account either does not have ACH enabled, or has maxed out the monthly quota for ACH transactions.\",\n    \"16-1\": \"Invalid Company Identification\",\n    \"17-1\": \"Invalid Individual ID Number\",\n    \"18-1\": \"Credit Refused by Receiver. Receiver returned entry because minimum or exact amount not remitted, bank account is subject to litigation, or payment represents an overpayment, originator is not known to receiver or receiver has not authorized this credit entry to this bank account\",\n    \"19-1\": \"Duplicate Entry\",\n    \"20-1\": \"Corporate Customer Advises Not Authorized\",\n    \"21-1\": \"Permissible Return Entry. RDFI has been notified by the ODFI that it agrees to accept the return entry.\",\n    \"22-1\": \"Return of XCK Entry\",\n    \"23-1\": \"Limited participation DFI\",\n    \"23-2\": \"2 Banking Days (“48 hours”)\",\n    \"22-2\": \"60 Calendar Days\",\n    \"21-2\": \"2 Banking Days (“48 hours”)\",\n    \"20-2\": \"2 Banking Days (“48 hours”)\",\n    \"19-2\": \"2 Banking Days (“48 hours”)\",\n    \"18-2\": \"2 Banking Days (“48 hours”)\",\n    \"17-2\": \"2 Banking Days (“48 hours”)\",\n    \"16-2\": \"2 Banking Days (“48 hours”)\",\n    \"15-2\": \"2 Banking Days (“48 hours”)\",\n    \"14-2\": \"2 Banking Days (“48 hours”)\",\n    \"13-2\": \"2 Banking Days (“48 hours”)\",\n    \"12-2\": \"2 Banking Days (“48 hours”)\",\n    \"11-2\": \"2 Banking Days (“48 hours”)\",\n    \"10-2\": \"2 Banking Days (“48 hours”)\",\n    \"9-2\": \"2 Banking Days (“48 hours”)\",\n    \"7-2\": \"2 Banking Days (“48 hours”)\",\n    \"6-2\": \"2 Banking Days (“48 hours”)\",\n    \"0-2\": \"2 Banking Days (“48 hours”)\",\n    \"1-2\": \"2 Banking Days (“48 hours”)\",\n    \"2-2\": \"2 Banking Days (“48 hours”)\",\n    \"3-2\": \"2 Banking Days (“48 hours”)\",\n    \"4-2\": \"Not defined, determined by ODFI and RDFI\",\n    \"5-2\": \"60 Calendar Days\",\n    \"8-2\": \"60 Calendar Days\"\n  },\n  \"cols\": 3,\n  \"rows\": 24\n}\n[/block]\n**Testing Returns in Sandbox:**\nWhile testing, [RequestBin](http://requestb.in/) is an excellent tool to help you test out web-hooks for these scenarios. Please remember, in practice ACH returns do not occur in real-time.\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Amount\",\n    \"h-1\": \"Return\",\n    \"0-0\": \"222.22\",\n    \"0-1\": \"R01 -- Insufficient Funds\",\n    \"1-0\": \"333.33\",\n    \"1-1\": \"R08 -- Payment Stopped\",\n    \"2-0\": \"444.44\",\n    \"2-1\": \"R10 -- Customer Advises Not Authorized\",\n    \"3-0\": \"555.55\",\n    \"3-1\": \"R03 -- No Account/Unable to Locate Account\"\n  },\n  \"cols\": 2,\n  \"rows\": 4\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"info\",\n  \"body\": \"We recommend that you[ subscribe to webhooks](https://docs.synapsefi.com/v3.2/docs/subscribe-to-webhooks) to stay updated on the status of transactions.\",\n  \"title\": \"Subscribe to Webhooks\"\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Transaction Fees\",\n  \"body\": \"By default, we deduct transaction fees from the transaction. To send the recipient 100% of the funds, [designate the account you want to debit fees from](https://docs.synapsefi.com/v3.2/docs/facilitator-fees-for-transactions).\\n\\nOr take an additional `fee` for yourself and designate the DEPOSIT-US node you want to send fees to.\"\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"info\",\n  \"body\": \"POST calls support idempotency for safely retrying requests without accidentally performing the same operation twice. For example, if a request to create a transaction fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single charge is created.\\n\\nTo perform an idempotent request, attach a unique key to any POST request made to the API via the X-SP-IDEMPOTENCY-KEY: <key> header.\\n\\nIdempotency keys expire after 24 hours.\",\n  \"title\": \"Idempotent Requests\"\n}\n[/block]","excerpt":"POST an ACH Transaction","slug":"ach-transactions","type":"basic","title":"ACH Transactions"}

ACH Transactions

POST an ACH Transaction

*Previous Step: [Create User](https://docs.synapsefi.com/v3.2/docs/create-a-user-1), [OAuth User](https://docs.synapsefi.com/v3.2/docs/oauth-the-user), and Link with [Bank Logins](https://docs.synapsefi.com/v3.2/docs/linking-an-ach-account-via-bank-logins) or [Account/Routing](https://docs.synapsefi.com/v3.2/docs/linking-an-ach-account-with-accountrouting-number) for all parties in the transaction* ##API ENDPOINT https://uat-api.synapsefi.com/v3.1/users/:user_id/nodes/:node_id/trans ##PATH PARAMETER [block:html] { "html": "<div class=\"api-manager\"> <div class=\"param-table\"> <div class=\"table\"><div class=\"tr\"> <div class=\"td param\"> <strong>user_id <span class=\"colon\">:</span> </strong> <div class=\"required\">required</div></div><div class=\"td\"> <strong class=\"param-type\">string</strong> <div marked=\"\" class=\"ng-isolate-scope\"> <p>ID of sender (user)</p></div></div></div><div class=\"tr\"> <div class=\"td param\"> <strong>node_id <span class=\"colon\">:</span> </strong> <div class=\"required\">required</div></div><div class=\"td\"> <strong class=\"param-type\">string</strong> <div marked=\"\" class=\"ng-isolate-scope\"> <p>ID of sending node</p></div></div></div></div></div></div>" } [/block] ##BODY PARAMETER [block:html] { "html": "<div class=\"api-manager\"> <div class=\"param-table\"> <div class=\"table\"> <div class=\"tr\"> <div class=\"td param\"> <strong> <span class=\"text-muted\">to.</span>type <span class=\"colon\">:</span> </strong> <div class=\"required\">required</div></div><div class=\"td\"> <strong class=\"param-type\">string</strong> <div marked=\"\" class=\"ng-isolate-scope\"> <p>Receiving node type</p></div></div></div><div class=\"tr\"> <div class=\"td param\"> <strong> <span class=\"text-muted\">to.</span>id <span class=\"colon\">:</span> </strong> <div class=\"required\">required</div></div><div class=\"td\"> <strong class=\"param-type\">string</strong> <div marked=\"\" class=\"ng-isolate-scope\"> <p>Receiving node ID</p></div></div></div><div class=\"tr\"> <div class=\"td param\"> <strong> <span class=\"text-muted\">amount.</span>amount <span class=\"colon\">:</span> </strong> <div class=\"required\">required</div></div><div class=\"td\"> <strong class=\"param-type\">double</strong> <div marked=\"\" class=\"ng-isolate-scope\"> <p>Amount user wishes to send</p></div></div></div><div class=\"tr\"> <div class=\"td param\"> <strong> <span class=\"text-muted\">amount.</span>currency <span class=\"colon\">:</span> </strong> <div class=\"required\">required</div></div><div class=\"td\"> <strong class=\"param-type\">string</strong> <div marked=\"\" class=\"ng-isolate-scope\"> <p>Currency of the transaction amount</p></div></div></div><div class=\"tr\"> <div class=\"td param\"> <strong> <span class=\"text-muted\">extra.</span>ip <span class=\"colon\">:</span> </strong> <div class=\"required\">required</div></div><div class=\"td\"> <strong class=\"param-type\">string</strong> <div marked=\"\" class=\"ng-isolate-scope\"> <p>IP address of the user device while creating transaction</p></div></div></div><div class=\"tr\"> <div class=\"td param\"> <strong> <span class=\"text-muted\">extra.</span>asset <span class=\"colon\">:</span> </strong></div><div class=\"td\"> <strong class=\"param-type\">string</strong> <div marked=\"\" class=\"ng-isolate-scope\"> <p>Assign this value only in case of making a transaction to or from CRYPTO-US. Acceptable values are BTC and ETH</p></div></div></div><div class=\"tr\"> <div class=\"td param\"> <strong> <span class=\"text-muted\">extra.</span>same_day <span class=\"colon\">:</span> </strong> </div><div class=\"td\"> <strong class=\"param-type\">boolean</strong> <span class=\"param-default text-muted\">false</span> <div marked=\"\" class=\"ng-isolate-scope\"> <p>Set this to <code>true</code> if you wish to settle the ACH on same day. Please note this would only work, if same day ACH has been enabled for your platform</p></div></div></div><div class=\"tr\"> <div class=\"td param\"> <strong> <span class=\"text-muted\">extra.</span>supp_id <span class=\"colon\">:</span> </strong> </div><div class=\"td\"> <strong class=\"param-type\">string</strong> <div marked=\"\" class=\"ng-isolate-scope\"> <p>ID supplied to the transaction</p></div></div></div><div class=\"tr\"> <div class=\"td param\"> <strong> <span class=\"text-muted\">extra.</span>group_id <span class=\"colon\">:</span> </strong> </div><div class=\"td\"> <strong class=\"param-type\">string</strong> <div marked=\"\" class=\"ng-isolate-scope\"> <p>Group ID supplied to the transaction</p></div></div></div><div class=\"tr\"> <div class=\"td param\"> <strong> <span class=\"text-muted\">extra.</span>note <span class=\"colon\">:</span> </strong> </div><div class=\"td\"> <strong class=\"param-type\">string</strong> <div marked=\"\" class=\"ng-isolate-scope\"> <p>Memo tagged with the transaction</p></div></div></div><div class=\"tr\"> <div class=\"td param\"> <strong> <span class=\"text-muted\">extra.</span>process_on <span class=\"colon\">:</span> </strong> </div><div class=\"td\"> <strong class=\"param-type\">integer</strong> <span class=\"param-default text-muted\">0</span> <div marked=\"\" class=\"ng-isolate-scope\"> <p>When the transaction should be processed. The value is the delta value. Which means when 1 is supplied it means that the transaction will be processed tomorrow.</p></div></div></div><div class=\"tr\"> <div class=\"td param\"> <strong> <span class=\"text-muted\">extra.other.</span>attachments <span class=\"colon\">:</span> </strong> </div><div class=\"td\"> <strong class=\"param-type\">array of strings</strong> <div marked=\"\" class=\"ng-isolate-scope\"> <p>Array of padded base64 of attachments</p></div></div></div><div class=\"tr\"> <div class=\"td param\"> <strong> <span class=\"text-muted\">fees[</span>fee <span class=\"text-muted\">]</span> <span class=\"colon\">:</span> </strong> </div><div class=\"td\"> <strong class=\"param-type\">double</strong> <div marked=\"\" class=\"ng-isolate-scope\"> <p>Fee associated with the transaction</p></div></div></div><div class=\"tr\"> <div class=\"td param\"> <strong> <span class=\"text-muted\">fees[</span>note <span class=\"text-muted\">]</span> <span class=\"colon\">:</span> </strong> </div><div class=\"td\"> <strong class=\"param-type\">string</strong> <div marked=\"\" class=\"ng-isolate-scope\"> <p>Reason for the fee</p></div></div></div><div class=\"tr\"> <div class=\"td param\"> <strong> <span class=\"text-muted\">fees[to].</span>id <span class=\"colon\">:</span> </strong> </div><div class=\"td\"> <strong class=\"param-type\">string</strong> <div marked=\"\" class=\"ng-isolate-scope\"> <p>Node ID where the fee would be credited when the transaction settled. Fee node has to be DEPOSIT-US type always</p></div></div></div></div></div></div>" } [/block] ##EXAMPLE REQUEST [block:code] { "codes": [ { "code": "POST /v3.1/users/594e6da41acea2002e666987/nodes/594e6e6c12e17a002f2e39e4/trans HTTP/1.1\nHost: uat-api.synapsefi.com\nX-SP-USER-IP: 127.0.0.1\nX-SP-USER: oauth_fyBaT5kswdlme0xQI6gSCPYKDG1Zrv8Ftj9NboJc|e83cf6ddcf778e37bfe3d48fc78a6502062fc\nContent-Type: application/json\n\n{\n \"to\": {\n \"type\": \"ACH-US\",\n \"id\": \"594e6e6c12e17a002f2e39e4\"\n },\n \"amount\": {\n \"amount\": 20.1,\n \"currency\": \"USD\"\n },\n \"extra\": {\n \"ip\": \"192.168.0.1\"\n }\n}", "language": "http" } ] } [/block] ##EXAMPLE RESPONSE [block:code] { "codes": [ { "code": "{\n \"_id\": \"5b57d2b4b75379005e3d60cf\",\n \"_links\": {\n \"self\": {\n \"href\": \"https://uat-api.synapsefi.com/v3.1/users/5b57d065c9f52d0059a50e63/nodes/5b57d07ef605a000497f0409/trans/5b57d2b4b75379005e3d60cf\"\n }\n },\n \"_v\": 2,\n \"amount\": {\n \"amount\": 20.1,\n \"currency\": \"USD\"\n },\n \"client\": {\n \"id\": \"589a9ffc86c2736412ce7ea4\",\n \"name\": \"TEST TEST MEESH\"\n },\n \"extra\": {\n \"created_on\": 1532482228415,\n \"ip\": \"192.168.0.1\",\n \"latlon\": \"0,0\",\n \"note\": \"Test transaction\",\n \"process_on\": 1532482228415,\n \"same_day\": false,\n \"supp_id\": \"1122444\"\n },\n \"fees\": [\n {\n \"fee\": 0.0,\n \"note\": \"Facilitator Fee\",\n \"to\": {\n \"id\": \"None\"\n }\n }\n ],\n \"from\": {\n \"id\": \"5b57d07ef605a000497f0409\",\n \"meta\": {},\n \"nickname\": \"SynapsePay Test Checking Account - 8901\",\n \"type\": \"ACH-US\",\n \"user\": {\n \"_id\": \"5b57d065c9f52d0059a50e63\",\n \"legal_names\": []\n }\n },\n \"recent_status\": {\n \"date\": 1532482228415,\n \"note\": \"Transaction Created.\",\n \"status\": \"CREATED\",\n \"status_id\": \"1\"\n },\n \"timeline\": [\n {\n \"date\": 1532482228415,\n \"note\": \"Transaction Created.\",\n \"status\": \"CREATED\",\n \"status_id\": \"1\"\n }\n ],\n \"to\": {\n \"id\": \"5b57d07ef605a000497f0409\",\n \"meta\": {},\n \"nickname\": \"\",\n \"type\": \"ACH-US\",\n \"user\": {\n \"_id\": \"\",\n \"legal_names\": []\n }\n }\n}\n", "language": "json" } ] } [/block] ##ACH Cutoff Times Payments are submitted for processing every business day (Monday - Friday). Payments are not submitted on weekends or bank holidays. [block:parameters] { "data": { "h-0": "Transaction Type", "h-1": "Cutoff Time", "0-0": "Same Day ACH", "h-2": "Settlement Time", "0-1": "9AM PT", "0-2": "4PM PT (approximately)", "1-0": "Next Day ACH", "1-1": "4PM PT", "1-2": "11AM PT (approximately)" }, "cols": 3, "rows": 2 } [/block] ##Example Timeline Here is an example of a returned ACH debit. Not all transactions will follow this exact timeline, so please do not build your logic off these times. Instead, monitor transaction status and account balance. [block:parameters] { "data": { "h-0": "DESCRIPTION", "h-1": "TIME", "h-2": "TRANSACTION STATUS", "0-0": "User creates a transaction", "0-1": "Day 1, 10AM PT", "0-2": "CREATED", "1-0": "Transaction is submitted to our partner bank (\"ODFI\") at the appropriate cutoff time, assuming the transaction was not queued or canceled.", "1-1": "Day 1, 4:00PM PT", "1-2": "PROCESSING-DEBIT", "2-0": "User's bank (\"RDFI\") picks up the ACH request.", "4-0": "We receive a return from the user's bank stating that the funds were not actually debited/credited. See ACH Return Codes to understand these timelines.", "4-1": "Day 4, 3:00PM PT", "2-1": "Day 2, 11:00AM PT", "2-2": "PROCESSING-CREDIT", "3-0": "We mark the transaction as settled", "3-1": "Day 2, 11:05AM PT", "3-2": "SETTLED", "4-2": "RETURNED", "h-3": "STATUS_ID", "0-3": "1", "1-3": "2", "2-3": "3", "3-3": "4", "4-3": "6" }, "cols": 4, "rows": 5 } [/block] [block:callout] { "type": "info", "title": "Don't see a transaction posted at your bank?", "body": "Different banks post transactions at different times, so a user may not see their transaction marked as settled at the exact time that we mark a transaction as settled." } [/block] ## Transaction Status The following are different types of transaction statuses for an ACH transaction. [block:parameters] { "data": { "h-0": "STATUS", "h-1": "STATUS_ID", "h-2": "Comment", "0-0": "QUEUED-BY-SYNAPSE", "1-0": "QUEUED-BY-RECEIVER", "2-0": "CREATED", "3-0": "PROCESSING-DEBIT", "4-0": "PROCESSING-CREDIT", "5-0": "SETTLED", "6-0": "CANCELED", "7-0": "RETURNED", "0-1": "-1", "1-1": "0", "2-1": "1", "3-1": "2", "4-1": "3", "5-1": "4", "6-1": "5", "7-1": "6", "0-2": "Transaction queued by Synapse", "1-2": "Transaction queued by Client", "2-2": "Transaction Created", "3-2": "Processing Debit", "4-2": "Processing Credit", "5-2": "Transaction Settled", "6-2": "Transaction Canceled", "7-2": "Transaction Returned" }, "cols": 3, "rows": 8 } [/block] ##Queued and Canceled Transactions Visit our [Transaction Codes resource](https://docs.synapsefi.com/v3.2/docs/transaction-codes) for the full list of reasons a transaction can be queued or canceled. To cancel a transaction yourself, DELETE transaction. Only transactions with a `CREATED` or `QUEUED` status can be canceled. Once a transaction is processing or settled you are unable to cancel it. ##Returned Transactions Transactions may be marked as returned after a transaction has settled. Below are the possible return codes and the corresponding timeframes within which a return may occur. [block:parameters] { "data": { "h-0": "Code", "h-1": "Description", "h-2": "Timeframe", "0-0": "R01", "1-0": "R02", "2-0": "R03", "3-0": "R04", "4-0": "R06", "5-0": "R07", "6-0": "R08", "7-0": "R09", "8-0": "R10", "9-0": "R11", "10-0": "R12", "11-0": "R13", "12-0": "R14", "13-0": "R16", "14-0": "R17", "15-0": "R20", "16-0": "R21", "17-0": "R22", "18-0": "R23", "19-0": "R24", "20-0": "R29", "21-0": "R31", "22-0": "R33", "23-0": "R34", "0-1": "Insufficient Funds. Available balance is not sufficient to cover the amount of the debit entry.", "1-1": "Account Closed. Previously active amount has been closed by the customer of RDFI.", "2-1": "No Account/Unable to Locate Account. Account number does not correspond to the individual identified in the entry, or the account number designated is not an open account.", "3-1": "Invalid Account Number", "4-1": "Returned Per ODFI's Request", "5-1": "Authorization Revoked by Customer", "6-1": "Payment Stopped", "7-1": "Uncollected Funds. Collected funds are not sufficient for payment of the debit entry.", "8-1": "Customer Advises Not Authorized", "9-1": "Check Safekeeping Entry Return", "10-1": "Branch Sold To Another DFI", "11-1": "RDFI Not Qualified to Participate", "12-1": "Account Holder Deceased", "13-1": "Account Frozen. Funds in bank account are unavailable due to action by RDFI or legal order", "14-1": "File Record Edit Criteria", "15-1": "Non-Transaction Account. Entry destined for non-payment bank account defined by reg. This means the account either does not have ACH enabled, or has maxed out the monthly quota for ACH transactions.", "16-1": "Invalid Company Identification", "17-1": "Invalid Individual ID Number", "18-1": "Credit Refused by Receiver. Receiver returned entry because minimum or exact amount not remitted, bank account is subject to litigation, or payment represents an overpayment, originator is not known to receiver or receiver has not authorized this credit entry to this bank account", "19-1": "Duplicate Entry", "20-1": "Corporate Customer Advises Not Authorized", "21-1": "Permissible Return Entry. RDFI has been notified by the ODFI that it agrees to accept the return entry.", "22-1": "Return of XCK Entry", "23-1": "Limited participation DFI", "23-2": "2 Banking Days (“48 hours”)", "22-2": "60 Calendar Days", "21-2": "2 Banking Days (“48 hours”)", "20-2": "2 Banking Days (“48 hours”)", "19-2": "2 Banking Days (“48 hours”)", "18-2": "2 Banking Days (“48 hours”)", "17-2": "2 Banking Days (“48 hours”)", "16-2": "2 Banking Days (“48 hours”)", "15-2": "2 Banking Days (“48 hours”)", "14-2": "2 Banking Days (“48 hours”)", "13-2": "2 Banking Days (“48 hours”)", "12-2": "2 Banking Days (“48 hours”)", "11-2": "2 Banking Days (“48 hours”)", "10-2": "2 Banking Days (“48 hours”)", "9-2": "2 Banking Days (“48 hours”)", "7-2": "2 Banking Days (“48 hours”)", "6-2": "2 Banking Days (“48 hours”)", "0-2": "2 Banking Days (“48 hours”)", "1-2": "2 Banking Days (“48 hours”)", "2-2": "2 Banking Days (“48 hours”)", "3-2": "2 Banking Days (“48 hours”)", "4-2": "Not defined, determined by ODFI and RDFI", "5-2": "60 Calendar Days", "8-2": "60 Calendar Days" }, "cols": 3, "rows": 24 } [/block] **Testing Returns in Sandbox:** While testing, [RequestBin](http://requestb.in/) is an excellent tool to help you test out web-hooks for these scenarios. Please remember, in practice ACH returns do not occur in real-time. [block:parameters] { "data": { "h-0": "Amount", "h-1": "Return", "0-0": "222.22", "0-1": "R01 -- Insufficient Funds", "1-0": "333.33", "1-1": "R08 -- Payment Stopped", "2-0": "444.44", "2-1": "R10 -- Customer Advises Not Authorized", "3-0": "555.55", "3-1": "R03 -- No Account/Unable to Locate Account" }, "cols": 2, "rows": 4 } [/block] [block:callout] { "type": "info", "body": "We recommend that you[ subscribe to webhooks](https://docs.synapsefi.com/v3.2/docs/subscribe-to-webhooks) to stay updated on the status of transactions.", "title": "Subscribe to Webhooks" } [/block] [block:callout] { "type": "info", "title": "Transaction Fees", "body": "By default, we deduct transaction fees from the transaction. To send the recipient 100% of the funds, [designate the account you want to debit fees from](https://docs.synapsefi.com/v3.2/docs/facilitator-fees-for-transactions).\n\nOr take an additional `fee` for yourself and designate the DEPOSIT-US node you want to send fees to." } [/block] [block:callout] { "type": "info", "body": "POST calls support idempotency for safely retrying requests without accidentally performing the same operation twice. For example, if a request to create a transaction fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single charge is created.\n\nTo perform an idempotent request, attach a unique key to any POST request made to the API via the X-SP-IDEMPOTENCY-KEY: <key> header.\n\nIdempotency keys expire after 24 hours.", "title": "Idempotent Requests" } [/block]