{"_id":"5bbd40b473abaf00034e2638","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":"5ba178b00a916500030c69ae","project":"59f79e3c584eb200345ceafc","version":"5ba178b00a916500030c6a21","__v":0,"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2018-09-16T22:26:26.400Z","from_sync":false,"order":15,"slug":"loans","title":"One-Time Loans"},"user":"5a68eb6970ea610012bfb924","__v":0,"parentDoc":null,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2018-10-09T23:58:44.506Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","examples":{"codes":[]},"auth":"required","params":[],"url":""},"isReference":false,"order":4,"body":"To make a loan payment you will need to create a transaction from a Synapse Managed account (ex: `DEPOSIT-US` or `SUBACCOUNT-US` node) or make a payment via ACH (`ACH-US`) or card processing (`INTERCHANGE-US`). The transaction is sent to the `LOAN-US` node.\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 <code>CRYPTO-US</code>. Acceptable values are <code>BTC</code> and <code>ETH</code></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 Synapse managed account always</p></div></div></div></div></div></div>\"\n}\n[/block]\nBelow is an example transaction for your convenience. Please refer to the appropriate payment product page for relevant details, including return/chargeback timelines with them:\n\n##EXAMPLE REQUEST\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"POST /v3.1/users/5bee109fc256c334c5348d09/nodes/5bee114e192dde00ac622d8f/trans HTTP/1.1\\nHost: https://uat-api.synapsefi.com\\nX-SP-USER-IP: 255.127.79.76\\nX-SP-USER: oauth_HBb0adELTAFlgYvX3Zn8QmKjMIk4tCN5uDqRce2U|e83cf6ddcf778e37bfe3d48fc78a6502062fc\\nContent-Type: application/json\\n{\\n  \\\"to\\\": {\\n    \\\"type\\\": \\\"LOAN-US\\\",\\n    \\\"id\\\": \\\"5bee11e7bab47500bc84a552\\\"\\n  },\\n  \\\"amount\\\": {\\n    \\\"amount\\\": 300.1,\\n    \\\"currency\\\": \\\"USD\\\"\\n  },\\n  \\\"extra\\\": {\\n    \\\"ip\\\": \\\"255.127.79.76\\\",\\n    \\\"note\\\": \\\"Loan payment\\\"\\n  }\",\n      \"language\": \"http\"\n    }\n  ]\n}\n[/block]\n##EXAMPLE RESPONSE\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"{\\n    \\\"_id\\\": \\\"5bee12e1a1c02600d55b5e7e\\\",\\n    \\\"_links\\\": {\\n        \\\"self\\\": {\\n            \\\"href\\\": \\\"https://uat-api.synapsefi.com/v3.1/users/5bee109fc256c334c5348d09/nodes/5bee114e192dde00ac622d8f/trans/5bee12e1a1c02600d55b5e7e\\\"\\n        }\\n    },\\n    \\\"_v\\\": 2,\\n    \\\"amount\\\": {\\n        \\\"amount\\\": 300.1,\\n        \\\"currency\\\": \\\"USD\\\"\\n    },\\n    \\\"client\\\": {\\n        \\\"id\\\": \\\"589acd9ecb3cd400fa75ac06\\\",\\n        \\\"name\\\": \\\"* SynapseFI\\\"\\n    },\\n    \\\"extra\\\": {\\n        \\\"asset\\\": null,\\n        \\\"created_on\\\": 1542329056403,\\n        \\\"encrypted_note\\\": \\\"\\\",\\n        \\\"group_id\\\": null,\\n        \\\"ip\\\": \\\"255.127.79.76\\\",\\n        \\\"latlon\\\": \\\"0,0\\\",\\n        \\\"note\\\": \\\"Loan payment\\\",\\n        \\\"process_on\\\": 1542329056403,\\n        \\\"same_day\\\": false,\\n        \\\"supp_id\\\": \\\"\\\"\\n    },\\n    \\\"fees\\\": [\\n        {\\n            \\\"fee\\\": 0,\\n            \\\"note\\\": \\\"Facilitator Fee\\\",\\n            \\\"to\\\": {\\n                \\\"id\\\": \\\"None\\\"\\n            }\\n        }\\n    ],\\n    \\\"from\\\": {\\n        \\\"id\\\": \\\"5bee114e192dde00ac622d8f\\\",\\n        \\\"nickname\\\": \\\"SynapsePay Test Checking Account - 8901\\\",\\n        \\\"type\\\": \\\"ACH-US\\\",\\n        \\\"user\\\": {\\n            \\\"_id\\\": \\\"5bee109fc256c334c5348d09\\\",\\n            \\\"legal_names\\\": [\\n                \\\"Test User\\\"\\n            ]\\n        }\\n    },\\n    \\\"recent_status\\\": {\\n        \\\"date\\\": 1542329056403,\\n        \\\"note\\\": \\\"Transaction Created.\\\",\\n        \\\"status\\\": \\\"CREATED\\\",\\n        \\\"status_id\\\": \\\"1\\\"\\n    },\\n    \\\"timeline\\\": [\\n        {\\n            \\\"date\\\": 1542329056403,\\n            \\\"note\\\": \\\"Transaction Created.\\\",\\n            \\\"status\\\": \\\"CREATED\\\",\\n            \\\"status_id\\\": \\\"1\\\"\\n        }\\n    ],\\n    \\\"to\\\": {\\n        \\\"id\\\": \\\"5bee11e7bab47500bc84a552\\\",\\n        \\\"nickname\\\": \\\"My Loan\\\",\\n        \\\"type\\\": \\\"LOAN-US\\\",\\n        \\\"user\\\": {\\n            \\\"_id\\\": \\\"5bee109fc256c334c5348d09\\\",\\n            \\\"legal_names\\\": [\\n                \\\"Test User\\\"\\n            ]\\n        }\\n    }\\n}\",\n      \"language\": \"json\"\n    }\n  ]\n}\n[/block]\n##Transaction Stages\n[block:parameters]\n{\n  \"data\": {\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    \"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    \"1-2\": \"Queued by Client\",\n    \"0-2\": \"Queued by Synapse\"\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. Please note the appropriate payment method's transaction resources to understand return codes.\n\n\n##Loan Payment Questions\n\n**What if the user pays off early or late?**\nIf the user pays earlier, they will not pay the full cap amount. They will only pay the interest accrued. If a user is late on payments, the most they will have to pay is the cap amount.\n\n**Can users put off or delay loan repayments?**\nYes, users will receive loan repayment reminder via text message in which they will have the option to “snooze” payments. Users can snooze payments up to two weeks.This will change their repayment schedule. \n\nFor example: If a user’s payment is due on the 5th of the month and the user snoozes until the 10th, \nthe rest of their scheduled repayments will get shifted until the 10th of the month.\n\n**Can the user change their installment?**\nYes, the user can adjust their installment by doing `PATCH` on the node.\n\n**What happens when a loan is paid off?**\nOnce the loan is paid off and balance is zero, the loan is closed and you can change the node status to `INACTIVE`. The node will still be available for the user to see the history of the loan.\n\nThis incentivizes the user to pay earlier to not have to pay the cap amount but also does not penalize users for paying late.\n\n**What if the user does not pay off the loan?**\nIf the loan is not paid off in a certain period of time, the platform can close the user’s loan account and the remaining negative ending balance will be reconciled out of the platform's loan reserve account. After the loan balance is zero, the loan can be closed.\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Subscribe to Webhooks\",\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}\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":"Create a transaction to pay off a loan","slug":"make-a-loan-payment","type":"basic","title":"Make A Loan Payment"}

Make A Loan Payment

Create a transaction to pay off a loan

To make a loan payment you will need to create a transaction from a Synapse Managed account (ex: `DEPOSIT-US` or `SUBACCOUNT-US` node) or make a payment via ACH (`ACH-US`) or card processing (`INTERCHANGE-US`). The transaction is sent to the `LOAN-US` node. ##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 <code>CRYPTO-US</code>. Acceptable values are <code>BTC</code> and <code>ETH</code></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 Synapse managed account always</p></div></div></div></div></div></div>" } [/block] Below is an example transaction for your convenience. Please refer to the appropriate payment product page for relevant details, including return/chargeback timelines with them: ##EXAMPLE REQUEST [block:code] { "codes": [ { "code": "POST /v3.1/users/5bee109fc256c334c5348d09/nodes/5bee114e192dde00ac622d8f/trans HTTP/1.1\nHost: https://uat-api.synapsefi.com\nX-SP-USER-IP: 255.127.79.76\nX-SP-USER: oauth_HBb0adELTAFlgYvX3Zn8QmKjMIk4tCN5uDqRce2U|e83cf6ddcf778e37bfe3d48fc78a6502062fc\nContent-Type: application/json\n{\n \"to\": {\n \"type\": \"LOAN-US\",\n \"id\": \"5bee11e7bab47500bc84a552\"\n },\n \"amount\": {\n \"amount\": 300.1,\n \"currency\": \"USD\"\n },\n \"extra\": {\n \"ip\": \"255.127.79.76\",\n \"note\": \"Loan payment\"\n }", "language": "http" } ] } [/block] ##EXAMPLE RESPONSE [block:code] { "codes": [ { "code": "{\n \"_id\": \"5bee12e1a1c02600d55b5e7e\",\n \"_links\": {\n \"self\": {\n \"href\": \"https://uat-api.synapsefi.com/v3.1/users/5bee109fc256c334c5348d09/nodes/5bee114e192dde00ac622d8f/trans/5bee12e1a1c02600d55b5e7e\"\n }\n },\n \"_v\": 2,\n \"amount\": {\n \"amount\": 300.1,\n \"currency\": \"USD\"\n },\n \"client\": {\n \"id\": \"589acd9ecb3cd400fa75ac06\",\n \"name\": \"* SynapseFI\"\n },\n \"extra\": {\n \"asset\": null,\n \"created_on\": 1542329056403,\n \"encrypted_note\": \"\",\n \"group_id\": null,\n \"ip\": \"255.127.79.76\",\n \"latlon\": \"0,0\",\n \"note\": \"Loan payment\",\n \"process_on\": 1542329056403,\n \"same_day\": false,\n \"supp_id\": \"\"\n },\n \"fees\": [\n {\n \"fee\": 0,\n \"note\": \"Facilitator Fee\",\n \"to\": {\n \"id\": \"None\"\n }\n }\n ],\n \"from\": {\n \"id\": \"5bee114e192dde00ac622d8f\",\n \"nickname\": \"SynapsePay Test Checking Account - 8901\",\n \"type\": \"ACH-US\",\n \"user\": {\n \"_id\": \"5bee109fc256c334c5348d09\",\n \"legal_names\": [\n \"Test User\"\n ]\n }\n },\n \"recent_status\": {\n \"date\": 1542329056403,\n \"note\": \"Transaction Created.\",\n \"status\": \"CREATED\",\n \"status_id\": \"1\"\n },\n \"timeline\": [\n {\n \"date\": 1542329056403,\n \"note\": \"Transaction Created.\",\n \"status\": \"CREATED\",\n \"status_id\": \"1\"\n }\n ],\n \"to\": {\n \"id\": \"5bee11e7bab47500bc84a552\",\n \"nickname\": \"My Loan\",\n \"type\": \"LOAN-US\",\n \"user\": {\n \"_id\": \"5bee109fc256c334c5348d09\",\n \"legal_names\": [\n \"Test User\"\n ]\n }\n }\n}", "language": "json" } ] } [/block] ##Transaction Stages [block:parameters] { "data": { "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", "2-2": "Transaction Created", "3-2": "Processing Debit", "4-2": "Processing Credit", "5-2": "Transaction Settled", "6-2": "Transaction Canceled", "7-2": "Transaction Returned", "1-2": "Queued by Client", "0-2": "Queued by Synapse" }, "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. Please note the appropriate payment method's transaction resources to understand return codes. ##Loan Payment Questions **What if the user pays off early or late?** If the user pays earlier, they will not pay the full cap amount. They will only pay the interest accrued. If a user is late on payments, the most they will have to pay is the cap amount. **Can users put off or delay loan repayments?** Yes, users will receive loan repayment reminder via text message in which they will have the option to “snooze” payments. Users can snooze payments up to two weeks.This will change their repayment schedule. For example: If a user’s payment is due on the 5th of the month and the user snoozes until the 10th, the rest of their scheduled repayments will get shifted until the 10th of the month. **Can the user change their installment?** Yes, the user can adjust their installment by doing `PATCH` on the node. **What happens when a loan is paid off?** Once the loan is paid off and balance is zero, the loan is closed and you can change the node status to `INACTIVE`. The node will still be available for the user to see the history of the loan. This incentivizes the user to pay earlier to not have to pay the cap amount but also does not penalize users for paying late. **What if the user does not pay off the loan?** If the loan is not paid off in a certain period of time, the platform can close the user’s loan account and the remaining negative ending balance will be reconciled out of the platform's loan reserve account. After the loan balance is zero, the loan can be closed. [block:callout] { "type": "info", "title": "Subscribe to Webhooks", "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." } [/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]