{"info":{"_postman_id":"2a5f6280-1b9b-4fe3-a3dc-755c77e4e3e4","name":"🚀   The Launchpad - V2 🚀","description":"<html><head></head><body><p><strong>Welcome to Token's Launchpad.</strong></p>\n<p>This is Token's quickstart guide to our Open Banking API.</p>\n<p>Here the steps to create a merchant (subTpp), and complete a Single Immediate Payment (SIP) via Open Banking will be explored.</p>\n<p>Feel free to fork the collection to get started, or use the link below:</p>\n<p><a href=\"https://api.postman.com/collections/25102001-2a5f6280-1b9b-4fe3-a3dc-755c77e4e3e4?access_key=PMAT-01KHNBWX7G0N5M8TGP32AM3CSJ\">https://api.postman.com/collections/25102001-2a5f6280-1b9b-4fe3-a3dc-755c77e4e3e4?access_key=PMAT-01KHNBWX7G0N5M8TGP32AM3CSJ</a></p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"25102001","collectionId":"2a5f6280-1b9b-4fe3-a3dc-755c77e4e3e4","publishedId":"2s935rJhNV","public":true,"customColor":{"top-bar":"1C0F36","right-sidebar":"303030","highlight":"16bbfb"},"publishDate":"2023-11-30T18:26:43.000Z"},"item":[{"name":"Change Log","item":[],"id":"38c43e16-2033-4e4d-8a65-805b79ec9c77","description":"<p>29 Mar 2023 - Updated collection to treat all banks as 1-step</p>\n<p>28 June 2023 - EU Connectivity available also</p>\n<p>11 March 2024 - Useful reading added</p>\n<p>11 April 2024 - Timeline expectations and and JWT example added</p>\n<p>15 September 2024 - Hosted Pages V2 addded</p>\n<p>18 Nov 2024 - Added specific steps for JWT Auth</p>\n<p>13 Feb 2026 - Updated AIS to HPV2</p>\n<p>1 Apr 2026 - Added Account on File</p>\n","_postman_id":"38c43e16-2033-4e4d-8a65-805b79ec9c77"},{"name":"Sandbox Credentials","item":[],"id":"19490869-0bac-4a61-b66c-71ce7ae10495","description":"<p><strong>UK NatWest:</strong> <strong><code>ob-natwest</code></strong></p>\n<p>This is a UK redirect bank using GBP.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>This is a UK redirect bank using GBP.\nUsername: 123456789012\nPassword: displayed on screen\n\n</code></pre><p><strong>Spain BBVA:</strong> <strong><code>ngp-inal</code></strong></p>\n<p>This is a Spanish redirect bank using Euros.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>IBAN: ES2501822200160201933547\nUsername: user1\nPassword: 1234\nAuthentication code: 123456\n\n</code></pre><p><strong>German KD-Bank:</strong> <strong><code>sk-fidu-genoded1dkd</code></strong></p>\n<p>This is a German embedded bank using Euros.<em><strong>This should be used for Token WebApp UX.</strong></em></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>psuId: VRK1234567890ALL\nPassword: password\nSCA method: SecureGo\nPIN: 123456\nSourceIBAN (Success Case): DE39499999600000005111\nSourceIBAN (Decline Case): DE98499999600000005116\n\n</code></pre><p><strong>German Deutsche Kreditbank Aktiengesellschaft:</strong> <strong><code>ngp-byla</code></strong></p>\n<p>This is a German embedded bank using Euros. <em><strong>This will only work with client-UX, this will not work with Token's webapp in sandbox.</strong></em> The calls in the collection already have these credentials built in.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>psuId: abc\nPassword: 123\nSCA: 962: SmartTAN plus HHD 1.4\nPIN: 123456\n\n</code></pre><p><strong>Sweden Swedbank:</strong> <strong><code>ngp-swed</code></strong></p>\n<p>This is a Swedish redirect bank using SEK. <em><strong>This will only work with client-UX, this will not work with Token's webapp in sandbox.</strong></em></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>UserID: 11112233-4444\n\n</code></pre>","_postman_id":"19490869-0bac-4a61-b66c-71ce7ae10495"},{"name":"Merchant (subTpp) Creation","item":[{"name":"List subTpps","event":[{"listen":"test","script":{"type":"text/javascript","exec":["var jsonData = JSON.parse(responseBody);","postman.setEnvironmentVariable(\"sub-tppId\", jsonData.subTpps[0].id);",""],"id":"06c34520-ab33-41b6-9761-893cf29fe64e"}}],"id":"16458bc7-c48c-4b6b-acaa-cd70caab909e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":""},"url":"https://api.{{baseURL}}/member/sub-tpps?page.limit=10","description":"<p>This request will retrieve a list of all onboarded merchants.</p>\n<p>Merchants are also referenced as sub-tpps.</p>\n","urlObject":{"protocol":"https","path":["member","sub-tpps"],"host":["api","{{baseURL}}"],"query":[{"key":"page.limit","value":"10"}],"variable":[]}},"response":[],"_postman_id":"16458bc7-c48c-4b6b-acaa-cd70caab909e"},{"name":"Show information for specific subTpp","event":[{"listen":"test","script":{"id":"c1193ba8-fe45-4026-bc3b-3353ab2c8b24","exec":["var jsonData = JSON.parse(responseBody);","postman.setEnvironmentVariable(\"sub-tppId\", jsonData.subTpp.id);","","var jsonData = JSON.parse(responseBody);","postman.setEnvironmentVariable(\"sub-tppName\", jsonData.subTpp.name);",""],"type":"text/javascript"}}],"id":"c6bd94bf-fd11-4007-9fa9-3fea7e26f876","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"url":"https://api.{{baseURL}}/member/sub-tpps/{{sub-tppId}}","description":"<p>This request passes in a subTppId as a parameter in the GET request.</p>\n<p>This limits the subTpp information returned to solely the subTpp specified.</p>\n","urlObject":{"protocol":"https","path":["member","sub-tpps","{{sub-tppId}}"],"host":["api","{{baseURL}}"],"query":[{"disabled":true,"key":null,"value":""}],"variable":[]}},"response":[],"_postman_id":"c6bd94bf-fd11-4007-9fa9-3fea7e26f876"},{"name":"Create merchant","id":"cf340dcf-2ed0-4720-8374-7870772e285d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"domain\": \"somehost.example.com\",   // mandatory\n                                        // This is an identifier that cannot be modified once created, a web domain is required\n                                        // This value does not need to be unique\n    \"logo\": \"b0Y5cVl6aDc3RkE5blZyQ24yamlh\", // optional\n    \"merchant\": {\n        \"merchantJurisdiction\": \"DE\",   // mandatory\n                                        // Country the merchant is located\n        \"legalEntityName\": \"Merchant Entity Name\", // mandatory\n        \"companyRegistrationNumber\": 123456789, // mandatory\n        \"primaryUseCase\": \"AIS : Accounting package integration\", // mandatory\n        \"iban\": \"DE89370400440532013000\", // mandatory\n        \"bic\": \"ABCDDE99\" // optional\n    },\n\n    \"name\": \"Sub-TPP Business Ltd\"         // mandatory\n                                            // Display name of the merchant that will appear in your dashboard at https://dashboard.token.io/\n    \n    //\"parentSubTppId\": \"6f34h397-b29h-23b0-s30g-hkd0d2dk4k1\" // optional\n                                                            // Enables this subTpp to be created as the child to another SubTpp\n                                                            // Only used in multilevel setups where a PSP serves a PSP who then serves a merchant\n}","options":{"raw":{"language":"json"}}},"url":"https://api.{{baseURL}}/member/sub-tpps","description":"<p>This call is used to create a new merchant as <em>a child</em> to the PSPs main account.</p>\n","urlObject":{"protocol":"https","path":["member","sub-tpps"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"cf340dcf-2ed0-4720-8374-7870772e285d"},{"name":"Deactivate merchant","id":"e89fb054-942a-43c9-ad5c-e570181ca8c4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://api.{{baseURL}}/member/sub-tpps/c0a0cf5d-4554-4350-9db5-9dcafbec9955","description":"<p>This call is used to deactivate a subTpp.</p>\n","urlObject":{"protocol":"https","path":["member","sub-tpps","c0a0cf5d-4554-4350-9db5-9dcafbec9955"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"e89fb054-942a-43c9-ad5c-e570181ca8c4"}],"id":"88031a6c-0588-4254-995b-cd136d4e06e5","description":"<p>This folder describes how merchants are created.</p>\n<p>It is not essential to create a merchant for sandbox testing, although for PSPs it is recommended; creating a merchant is representative of what is required if PSPs are using Token's licence.</p>\n<p>If you are a direct merchant, there is no need to create merchants in your account.</p>\n<img src=\"https://content.pstmn.io/d7901d61-fd4b-4ded-a2b5-a43c492930df/U2NyZWVuc2hvdCAyMDIyLTEyLTI4IGF0IDE3LjM0LjM3LnBuZw==\" alt />","_postman_id":"88031a6c-0588-4254-995b-cd136d4e06e5"},{"name":"UX Options for Integrating with Token's Platform","item":[{"name":"Hosted Pages","item":[{"name":"Payments - V2","item":[{"name":"GBP","item":[{"name":"1. Payment Initiation","event":[{"listen":"prerequest","script":{"id":"41053c9f-974d-477b-9499-b0a06e4a18cb","exec":[""],"type":"text/javascript","packages":{},"requests":{}}},{"listen":"test","script":{"id":"979b44a2-3815-4f24-be95-b4b26cef8380","exec":["var jsonData = JSON.parse(responseBody);","pm.environment.set(\"paymentId\", jsonData.payment.id);","","console.log(pm.environment.get('paymentId'))","","","pm.environment.set(\"VA.refId\", jsonData.payment.initiation.refId);","pm.environment.set(\"amount\", jsonData.payment.initiation.amount.value);"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"e15b1ad2-c124-4e45-b243-2884ad00e59b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"initiation\": {\n    //\"bankId\": \"{{bankId}}\",                                     // Sets the bank to to be used\n    \"refId\": \"35961535\",                          // Sets the unique payment reference identifier\n    \"remittanceInformationPrimary\": \"Account Top-up\",\n    // \"remittanceInformationSecondary\": \"Account Top-up\",\n    // \"onBehalfOfId\": \"87399b11-45ca-4bc1-9745-fdd461082cbc\",                                 // Specifies the subTpp\n\n    \"amount\": {\n      \"value\": \"1.00\",                                          // Specifies the number of the payment\n      \"currency\": \"GBP\"                                         // Specifies the currency of the payment to be initiated\n    },\n    \"localInstrument\": \"FASTER_PAYMENTS\",                       // Specifies the payment rail to be used\n\n    \"creditor\": {                                   \n      \"name\": \"{{merchantName}}\",                               // Specifies the legal name of the beneficiary account\n      \"accountNumber\": \"{{accountNumber}}\",                              // Specifies the account number of the beneficiary account\n      \"sortCode\": \"{{sortCode}}\"                                      // Specifies the sort code of the beneficiary account\n      },\n\n    \"returnRefundAccount\": true,                                // Specifies whether the originator account information should be provided back to the TPP\n    \"callbackUrl\": \"{{redirectURL}}\",\n    \"flowType\": \"FULL_HOSTED_PAGES\"                            // Specifies where the PSU should be returned to, following authentication at the bank\n    // ,\"returnTokenizedAccount\": true\n  }\n\n  // \"pispConsentAccepted\": true                                   // Confirms that the PSU did accept consent within the TPPs user experience\n}","options":{"raw":{"language":"json"}}},"url":"https://api.{{baseURL}}/v2/payments","description":"<p>The Hosted Pages V2 link will be available at authentication.redirectUrl in the response.</p>\n<p>Redirect the consumer to this URL to continue the steps of bank selection, and consent.</p>\n<p>The consumer will then be redirected to their bank to authenticate themselves and authorise the payment.</p>\n","urlObject":{"protocol":"https","path":["v2","payments"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"e15b1ad2-c124-4e45-b243-2884ad00e59b"},{"name":"2. Poll /v2/payments/","event":[{"listen":"prerequest","script":{"id":"80c7f659-92a2-43e3-97d5-75a3088d3035","exec":[""],"type":"text/javascript"}}],"id":"1e9f4775-b67c-41f3-95f1-6a88afac53ae","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"url":"https://api.{{baseURL}}/v2/payments/{{paymentId}}","urlObject":{"protocol":"https","path":["v2","payments","{{paymentId}}"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"1e9f4775-b67c-41f3-95f1-6a88afac53ae"}],"id":"943d5eb2-b44d-4705-835f-d5f3797ba571","_postman_id":"943d5eb2-b44d-4705-835f-d5f3797ba571","description":""},{"name":"EUR","item":[{"name":"1. Payment Initiation","event":[{"listen":"prerequest","script":{"id":"41053c9f-974d-477b-9499-b0a06e4a18cb","exec":["var date = new Date();","var ts = Math.round(date.getTime() / 1000);","var dateTime = date.toISOString();","pm.globals.set('vrpRemInfoPrim', ts);","// pm.globals.set('G_REFID', ts+1);","pm.globals.set('vrpStartDateTime', dateTime);"],"type":"text/javascript","packages":{},"requests":{}}},{"listen":"test","script":{"id":"979b44a2-3815-4f24-be95-b4b26cef8380","exec":[""],"type":"text/javascript","packages":{},"requests":{}}}],"id":"123887b2-8a60-4fcd-a4d8-060a7241f858","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"initiation\": {\n    \"bankId\": \"{{bankId}}\",                                     // Sets the bank to to be used\n    \"refId\": \"22110765\",                          // Sets the unique payment reference identifier\n    \"remittanceInformationPrimary\": \"05797775\",\n    // \"onBehalfOfId\": \"87399b11-45ca-4bc1-9745-fdd461082cbc\",                                 // Specifies the subTpp\n\n    \"amount\": {\n      \"value\": \"1.00\",                                          // Specifies the number of the payment\n      \"currency\": \"EUR\"                                         // Specifies the currency of the payment to be initiated\n    },\n    \"localInstrument\": \"SEPA_INSTANT\",                       // Specifies the payment rail to be used\n\n    \"creditor\": {                                   \n      \"name\": \"{{merchantName}}\",                               // Specifies the legal name of the beneficiary account\n      \"iban\": \"GB63REVO00997010707063\"                              // Specifies the account number of the beneficiary account\n      },\n\n    \"returnRefundAccount\": true,                                // Specifies whether the originator account information should be provided back to the TPP\n    \"callbackUrl\": \"{{redirectURL}}\",\n    \"flowType\": \"EMBEDDED_HOSTED_PAGES\"                            // Specifies where the PSU should be returned to, following authentication at the bank\n\n  }\n\n  // \"pispConsentAccepted\": true                                   // Confirms that the PSU did accept consent within the TPPs user experience\n}","options":{"raw":{"language":"json"}}},"url":"https://api.{{baseURL}}/v2/payments","description":"<p>The Hosted Pages V2 link will be available at authentication.redirectUrl in the response.</p>\n<p>Redirect the consumer to this URL to continue the steps of bank selection, and consent.</p>\n<p>The consumer will then be redirected to their bank to authenticate themselves and authorise the payment.</p>\n","urlObject":{"protocol":"https","path":["v2","payments"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"123887b2-8a60-4fcd-a4d8-060a7241f858"},{"name":"2. Poll /v2/payments/","event":[{"listen":"prerequest","script":{"id":"80c7f659-92a2-43e3-97d5-75a3088d3035","exec":[""],"type":"text/javascript"}}],"id":"fdaba6ea-0038-4827-b893-6760c21a93e5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"url":"https://api.{{baseURL}}/v2/payments/{{paymentId}}","urlObject":{"protocol":"https","path":["v2","payments","{{paymentId}}"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"fdaba6ea-0038-4827-b893-6760c21a93e5"}],"id":"8cfdfe98-072e-48b2-825b-ac0169b9fddc","_postman_id":"8cfdfe98-072e-48b2-825b-ac0169b9fddc","description":""}],"id":"aabf5126-9b66-4941-a8f1-94d294c13fcb","description":"<p>Here Token.io's Hosted Pages V2 will cover the key aspects of Bank Selection and Consent Collection in the Open Banking User Journey.</p>\n<p>Note: This experience can be delievered using Token's or a clients PISP license with appropriate amendments to Terms and Conditions and Consent text.</p>\n","_postman_id":"aabf5126-9b66-4941-a8f1-94d294c13fcb"},{"name":"WebApp/ AIS","item":[{"name":"1. Create token-request","event":[{"listen":"test","script":{"id":"6f65a1ea-0de0-4b71-ab5a-fbf26dc6d83e","exec":["var jsonData = JSON.parse(responseBody);","pm.environment.set(\"requestId\", jsonData.tokenRequest.id);","","console.log(pm.environment.get('requestId'))","","console.log(\"Web-App Links\")","console.log(\"https://app.token.io/session/\" + pm.environment.get('requestId'))","","","console.log(\"https://app.sandbox.token.io/session/\" + pm.environment.get('requestId'))","",""],"type":"text/javascript","packages":{},"requests":{}}}],"id":"a8d8f93d-9181-4c19-8816-5e8ed7e95736","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{APIKey}}"}],"body":{"mode":"raw","raw":"{\n    \"requestPayload\": {\n        \"refId\": \"27198061\",\n        \"to\": {\n            \"id\": \"{{memberId}}\"\n        },\n        // \"countries\":[\"GB\"],     // Used to prefilter country selection on the webapp\n        \"accessBody\": {            \n            \"resourceTypeList\":{ // Used to specify the resources within the account to request access for\n                \"resources\": [\n                    \"ACCOUNTS\",\n                    \"BALANCES\",\n                    \"TRANSACTIONS\"\n                    //\"TRANSFER_DESTINATIONS\", \n                    //\"STANDING_ORDERS\" \n                ]\n            }\n        },\n        // \"tokenExpiration\": \"1710496671000\", Epoch timestamp of expiry\n        \"redirectUrl\": \"{{redirectURL}}\" // the URL that the PSU should be returned to (the TPP) \n    }//,\n   //\"requestOptions\":{\n   //  \"bankId\": \"ob-natwest\"           // Optionally usrd to prefilter the Hosted pages and preselect bank\n   // }         \n}","options":{"raw":{"language":"json"}}},"url":"https://api.{{baseURL}}/token-requests","urlObject":{"protocol":"https","path":["token-requests"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"a8d8f93d-9181-4c19-8816-5e8ed7e95736"},{"name":"2. Retrieve accessId","event":[{"listen":"test","script":{"type":"text/javascript","exec":["var jsonData = JSON.parse(responseBody);","postman.setEnvironmentVariable(\"accessId\", jsonData.tokenId);",""],"id":"66001cfc-70f8-4076-a21a-40d78af38404"}}],"id":"c2ba16f6-5705-4807-8b06-3332435fb4d1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"url":"https://api.{{baseURL}}/token-requests/{{requestId}}/result","urlObject":{"protocol":"https","path":["token-requests","{{requestId}}","result"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"c2ba16f6-5705-4807-8b06-3332435fb4d1"},{"name":"3a. Retrieve accounts","event":[{"listen":"test","script":{"type":"text/javascript","exec":["var jsonData = JSON.parse(responseBody);","postman.setEnvironmentVariable(\"accountId1\", jsonData.accounts[0].id);"],"id":"9b2f8786-910f-415f-a15e-0a6dee815cba"}}],"id":"30537579-d509-4426-8ce3-f1e8c5aecefa","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"},{"key":"on-behalf-of","value":"{{accessId}}","type":"text"}],"url":"https://api.{{baseURL}}/accounts","urlObject":{"protocol":"https","path":["accounts"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"30537579-d509-4426-8ce3-f1e8c5aecefa"},{"name":"3b. Retrieve accounts-balance","event":[{"listen":"test","script":{"id":"fa30ac0f-5cc1-4812-803f-c14a26a5de23","exec":[""],"type":"text/javascript"}}],"id":"dbbac105-7976-40b0-a53c-a60180ea4512","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"},{"key":"on-behalf-of","value":"{{accessId}}","type":"text"}],"url":"https://api.{{baseURL}}/account-balance?accountId={{accountId1}}","urlObject":{"protocol":"https","path":["account-balance"],"host":["api","{{baseURL}}"],"query":[{"key":"accountId","value":"{{accountId1}}"}],"variable":[]}},"response":[],"_postman_id":"dbbac105-7976-40b0-a53c-a60180ea4512"},{"name":"3c. Retrieve specific info","event":[{"listen":"test","script":{"id":"d15b6dff-55bf-4b71-a263-016c904a8f41","exec":[""],"type":"text/javascript"}}],"id":"5e1b911a-995f-4433-ae75-cbbd2676e857","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"},{"key":"on-behalf-of","value":"{{accessId}}","type":"text"}],"url":"https://api.{{baseURL}}/accounts/{{accountId1}}","urlObject":{"protocol":"https","path":["accounts","{{accountId1}}"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"5e1b911a-995f-4433-ae75-cbbd2676e857"},{"name":"3d. Retrieve specific balance","event":[{"listen":"test","script":{"id":"20d94aa0-6aa8-4f32-a21f-be3a9bdd787c","exec":[""],"type":"text/javascript"}}],"id":"ea1c1796-bca3-48c0-ac7f-0cceed19505f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"},{"key":"on-behalf-of","value":"{{accessId}}","type":"text"}],"url":"https://api.{{baseURL}}/accounts/{{accountId1}}/balance","urlObject":{"protocol":"https","path":["accounts","{{accountId1}}","balance"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"ea1c1796-bca3-48c0-ac7f-0cceed19505f"},{"name":"3e. Retrieve specific transactions","event":[{"listen":"test","script":{"id":"2a07ff68-a2fb-498e-80cd-14b7bd8532c3","exec":[""],"type":"text/javascript"}}],"id":"5cbca397-698d-4b73-b2ee-025f54c1c4f9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"},{"key":"on-behalf-of","value":"{{accessId}}","type":"text"}],"url":"https://api.{{baseURL}}/accounts/{{accountId1}}/transactions?page.limit=200","urlObject":{"protocol":"https","path":["accounts","{{accountId1}}","transactions"],"host":["api","{{baseURL}}"],"query":[{"key":"page.limit","value":"200"},{"disabled":true,"key":"page.offset","value":"44SFnPxqtiAfGaTEvzSmCAmnE21kvqfUgKbs65tu6QKN4dKRfCcgZo42WTLkE2WqUungwTkCipdt9pkkPqurNnSAi8Ar6dNkQ9tUdYro867j8aXwZcoJFERMY8SBmLWhaXNyVLQmLhVZvP9Q5Y8xo2teQjb7dn966gdRPCiLyk4zKAyxvsDhLJkGT4LNQqxYKuzd9nWdiRKN8UxGpPQtg7omDo9VC3N5YdEwqj7ALzCFTcEDCfTdyZSdw6f5GHJNtf3AbWpW3JFttfwJHudcz7421tq7qquFQtnbpKosqyDMKrLuTCkMxmivVoupDFHTgQpG6wGvWNe2D2Y9LGRp8jhXt4nswPxrezZjvZWPTzG4MAZaM71aQrYQyaVW4xKc7SoRNGFetMwQLRTRHg4znx3RX36UDcmvvEUGYGxSXF2Lr2dXfn9cZBFW1G8bQCg9zsVCUGjc4Sq5Lgx"},{"disabled":true,"key":"startDate","value":"2021-10-05"}],"variable":[]}},"response":[],"_postman_id":"5cbca397-698d-4b73-b2ee-025f54c1c4f9"},{"name":"3f. Retrieve specific payees","event":[{"listen":"test","script":{"id":"6fc9fdbf-4bf6-4fc2-a81c-aabb29c1b3da","exec":[""],"type":"text/javascript"}}],"id":"be85545d-3f5a-4ddd-afd7-d495b476ffc6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"},{"key":"on-behalf-of","value":"{{accessId}}","type":"text"}],"url":"https://api.{{baseURL}}/accounts/{{accountId1}}/transfer-destinations","urlObject":{"protocol":"https","path":["accounts","{{accountId1}}","transfer-destinations"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"be85545d-3f5a-4ddd-afd7-d495b476ffc6"},{"name":"3g. Retrieve Standing Order","event":[{"listen":"test","script":{"id":"6acc5ca9-78d0-45cb-982c-f36239582488","exec":[""],"type":"text/javascript"}}],"id":"a46f9d98-387d-42a9-bc35-77211c29fa5a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"},{"key":"on-behalf-of","value":"{{accessId}}","type":"text"}],"url":"https://api.{{baseURL}}/accounts/{{accountId1}}/standing-orders?page.limit=1","urlObject":{"protocol":"https","path":["accounts","{{accountId1}}","standing-orders"],"host":["api","{{baseURL}}"],"query":[{"key":"page.limit","value":"1"}],"variable":[]}},"response":[],"_postman_id":"a46f9d98-387d-42a9-bc35-77211c29fa5a"},{"name":"4. Revoke Token","event":[{"listen":"test","script":{"id":"05dc8eb4-d7ba-4346-9888-210b8a3377bb","exec":[""],"type":"text/javascript"}}],"id":"bb97d7f9-9679-472a-9704-57553d50df0c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"url":"https://api.{{baseURL}}/tokens/{{accessId}}/cancel","urlObject":{"protocol":"https","path":["tokens","{{accessId}}","cancel"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"bb97d7f9-9679-472a-9704-57553d50df0c"}],"id":"bb36396e-5026-4c95-ac70-944df8340554","_postman_id":"bb36396e-5026-4c95-ac70-944df8340554","description":""}],"id":"c0ba88cc-c860-42d5-93b7-75ca24f515ce","_postman_id":"c0ba88cc-c860-42d5-93b7-75ca24f515ce","description":""},{"name":"Client UX","item":[{"name":"Payments - V2 - redirect","item":[{"name":"1. /Banks","event":[{"listen":"test","script":{"id":"092734bb-f484-431b-a6a6-9979ebff49fa","exec":["var jsonData = JSON.parse(responseBody);","postman.setEnvironmentVariable(\"bankId\", jsonData.banks[0].id);","",""],"type":"text/javascript","packages":{}}}],"id":"4e6039e4-1c2a-4c2c-8089-ce84581ffeb8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"url":"https://api.{{baseURL}}/v2/banks?ids=ob-natwest","description":"<p><a href=\"https://developer.token.io/token_rest_api_doc/content/e-rest/get_banks.htm?Highlight=get%20banks\">https://developer.token.io/token_rest_api_doc/content/e-rest/get_banks.htm?Highlight=get%20banks</a></p>\n","urlObject":{"protocol":"https","path":["v2","banks"],"host":["api","{{baseURL}}"],"query":[{"disabled":true,"key":"countries","value":"ie"},{"key":"ids","value":"ob-natwest"}],"variable":[]}},"response":[],"_postman_id":"4e6039e4-1c2a-4c2c-8089-ce84581ffeb8"},{"name":"2. Payment Initiation","event":[{"listen":"prerequest","script":{"id":"41053c9f-974d-477b-9499-b0a06e4a18cb","exec":["var date = new Date();","var ts = Math.round(date.getTime() / 1000);","var dateTime = date.toISOString();","pm.globals.set('vrpRemInfoPrim', ts);","// pm.globals.set('G_REFID', ts+1);","pm.globals.set('vrpStartDateTime', dateTime);"],"type":"text/javascript","packages":{}}},{"listen":"test","script":{"id":"979b44a2-3815-4f24-be95-b4b26cef8380","exec":["var jsonData = JSON.parse(responseBody);","postman.setEnvironmentVariable(\"paymentId\", jsonData.payment.id);"],"type":"text/javascript","packages":{}}}],"id":"5c39d5c6-9d6c-41b6-91e2-bcc3e6fec1f2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"initiation\": {\n    \"bankId\": \"{{bankId}}\",                                     // Sets the bank to to be used\n    \"refId\": \"47588938\",                          // Sets the unique payment reference identifier\n    \"remittanceInformationPrimary\": \"{{vrpRemInfoPrim}}\",\n    // \"onBehalfOfId\": \"87399b11-45ca-4bc1-9745-fdd461082cbc\",                                 // Specifies the subTpp\n\n    \"amount\": {\n      \"value\": \"1.20\",                                          // Specifies the number of the payment\n      \"currency\": \"GBP\"                                         // Specifies the currency of the payment to be initiated\n    },\n    \"localInstrument\": \"FASTER_PAYMENTS\",                       // Specifies the payment rail to be used\n\n    \"creditor\": {                                   \n      \"name\": \"{{merchantName}}\",                               // Specifies the legal name of the beneficiary account\n      \"accountNumber\": \"78044278\",                              // Specifies the account number of the beneficiary account\n      \"sortCode\": \"517014\"                                      // Specifies the sort code of the beneficiary account\n      },\n\n    \"returnRefundAccount\": true,                                // Specifies whether the originator account information should be provided back to the TPP\n    \"callbackUrl\": \"{{redirectURL}}\",                            // Specifies where the PSU should be returned to, following authentication at the bank\n    \"flowType\": \"API_ONLY\"\n  },\n\n  \"pispConsentAccepted\": true                                   // Confirms that the PSU did accept consent within the TPPs user experience\n}","options":{"raw":{"language":"json"}}},"url":"https://api.{{baseURL}}/v2/payments","description":"<p>The bank authentication URL will be available at authentication.redirectUrl in the response.</p>\n<p>Redirect the consumer to this URL to authenticate themselves directly with the bank.</p>\n","urlObject":{"protocol":"https","path":["v2","payments"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"5c39d5c6-9d6c-41b6-91e2-bcc3e6fec1f2"},{"name":"3. Poll /v2/payments/","event":[{"listen":"prerequest","script":{"id":"80c7f659-92a2-43e3-97d5-75a3088d3035","exec":[""],"type":"text/javascript"}}],"id":"d0bc830b-e9c6-43be-8d4b-2a1c0a50dd00","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"url":"https://api.{{baseURL}}/v2/payments/{{paymentId}}","urlObject":{"protocol":"https","path":["v2","payments","{{paymentId}}"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"d0bc830b-e9c6-43be-8d4b-2a1c0a50dd00"}],"id":"0a99b7f1-d230-4185-a8b7-1d3c5089150b","description":"<p>Here the PSP will cover the key aspects of Bank Selection and Consent Collection in the Open Banking User Journey.</p>\n<p>Note: This experience can be delievered using Token's license with appropriate amendments to Terms and Conditions and Consent text.</p>\n<img src=\"https://content.pstmn.io/dd716f2b-8449-4549-994c-6ecb6d0fc145/VVgucG5n\" />","_postman_id":"0a99b7f1-d230-4185-a8b7-1d3c5089150b"},{"name":"Payments - V2 - embedded","item":[{"name":"1. /Banks","event":[{"listen":"test","script":{"id":"092734bb-f484-431b-a6a6-9979ebff49fa","exec":["var jsonData = JSON.parse(responseBody);","postman.setEnvironmentVariable(\"bankId\", jsonData.banks[0].id);","",""],"type":"text/javascript"}}],"id":"23a680fb-da88-43c9-ade6-ed6863bc80fd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"url":"https://api.{{baseURL}}/v2/banks?ids=sk-fidu-genoded1dkd","description":"<p><a href=\"https://developer.token.io/token_rest_api_doc/content/e-rest/get_banks.htm?Highlight=get%20banks\">https://developer.token.io/token_rest_api_doc/content/e-rest/get_banks.htm?Highlight=get%20banks</a></p>\n","urlObject":{"protocol":"https","path":["v2","banks"],"host":["api","{{baseURL}}"],"query":[{"disabled":true,"key":"countries","value":"se"},{"key":"ids","value":"sk-fidu-genoded1dkd"}],"variable":[]}},"response":[],"_postman_id":"23a680fb-da88-43c9-ade6-ed6863bc80fd"},{"name":"2a. Embedded.1","event":[{"listen":"prerequest","script":{"id":"41053c9f-974d-477b-9499-b0a06e4a18cb","exec":["var date = new Date();","var ts = Math.round(date.getTime() / 1000);","var dateTime = date.toISOString();","pm.globals.set('vrpRemInfoPrim', ts);","// pm.globals.set('G_REFID', ts+1);","pm.globals.set('vrpStartDateTime', dateTime);"],"type":"text/javascript","packages":{}}},{"listen":"test","script":{"id":"979b44a2-3815-4f24-be95-b4b26cef8380","exec":["var jsonData = JSON.parse(responseBody);","postman.setEnvironmentVariable(\"paymentId\", jsonData.payment.id);"],"type":"text/javascript","packages":{}}}],"id":"eda5cb0b-26dd-4bbd-9ef8-699a0b4118ba","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"initiation\": {\n    \"bankId\": \"{{bankId}}\",                                     // Sets the bank to to be used\n    \"refId\": \"45057531\",                          // Sets the unique payment reference identifier\n    \"onBehalfOfId\": \"87399b11-45ca-4bc1-9745-fdd461082cbc\",                                 // Specifies the subTpp\n    \"remittanceInformationPrimary\": \"{{vrpRemInfoPrim}}\",\n    \"flowType\": \"API_ONLY\",\n\n    \"amount\": {\n      \"value\": \"0.20\",                                          // Specifies the number of the payment\n      \"currency\": \"EUR\"                                         // Specifies the currency of the payment to be initiated\n    },\n    \"localInstrument\": \"SEPA_INSTANT\",                       // Specifies the payment rail to be used\n\n    \"creditor\": {                                   \n      \"name\": \"{{merchantName}}\",                               // Specifies the legal name of the beneficiary account\n      \"iban\": \"GB69MOCK00000003766545\"                              // Specifies the account number of the beneficiary account\n      },\n\n    \"debtor\": {                                   \n      \"iban\": \"DE39499999600000005111\"                              // Specifies the account number of the beneficiary account\n      },\n\n    \"returnRefundAccount\": true,                                // Specifies whether the originator account information should be provided back to the TPP\n    \"callbackUrl\": \"{{redirectURL}}\"                            // Specifies where the PSU should be returned to, following authentication at the bank\n\n  },\n\n  \"pispConsentAccepted\": true,                                   // Confirms that the PSU did accept consent within the TPPs user experience\n  \"initialEmbeddedAuth\": {\n      \"psuId\": \"VRK1234567890ALL\",\n      \"password\": \"password\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.{{baseURL}}/v2/payments","urlObject":{"protocol":"https","path":["v2","payments"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"eda5cb0b-26dd-4bbd-9ef8-699a0b4118ba"},{"name":"2b. Embedded.2","id":"5a11ba45-a910-4b30-947a-f87328fbfe2e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"embeddedAuth\": {\n        \"sca\": \"962: SmartTAN plus HHD 1.4\"\n        }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.{{baseURL}}/v2/payments/{{paymentId}}/embedded-auth","urlObject":{"protocol":"https","path":["v2","payments","{{paymentId}}","embedded-auth"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"5a11ba45-a910-4b30-947a-f87328fbfe2e"},{"name":"2c. Embedded.3","id":"af03e9c2-48a1-4958-8559-50de194db9b2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"embeddedAuth\": {\n        \"pin\": 123456\n        }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.{{baseURL}}/v2/payments/{{paymentId}}/embedded-auth","urlObject":{"protocol":"https","path":["v2","payments","{{paymentId}}","embedded-auth"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"af03e9c2-48a1-4958-8559-50de194db9b2"},{"name":"3. Poll /v2/payments/","event":[{"listen":"prerequest","script":{"id":"80c7f659-92a2-43e3-97d5-75a3088d3035","exec":[""],"type":"text/javascript"}}],"id":"dfa990c6-44b2-457a-aecc-ad7d1100246e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"url":"https://api.{{baseURL}}/v2/payments/{{paymentId}}","urlObject":{"protocol":"https","path":["v2","payments","{{paymentId}}"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"dfa990c6-44b2-457a-aecc-ad7d1100246e"}],"id":"f8327943-6c59-43d1-8d8f-63c7efaea8fe","description":"<p>Here the PSP again will cover the key aspects of Bank Selection and Consent Collection in the Open Banking User Journey.</p>\n<p>Note: This experience can be delievered using Token's license with appropriate amendments to Terms and Conditions and Consent text.</p>\n","_postman_id":"f8327943-6c59-43d1-8d8f-63c7efaea8fe"},{"name":"Client UX/ AIS","item":[{"name":"Get Specific Bank","event":[{"listen":"test","script":{"id":"6054b515-8d45-44f2-8cac-39b823032834","exec":["var jsonData = JSON.parse(responseBody);","postman.setEnvironmentVariable(\"bankId\", jsonData.banks[0].id);","",""],"type":"text/javascript","packages":{}}}],"id":"95286b15-cbd6-4782-96fc-a45e40983579","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"url":"https://api.{{baseURL}}/banks?ids=ob-natwest","urlObject":{"protocol":"https","path":["banks"],"host":["api","{{baseURL}}"],"query":[{"key":"ids","value":"ob-natwest"},{"disabled":true,"key":"countries","value":"GB"}],"variable":[]}},"response":[],"_postman_id":"95286b15-cbd6-4782-96fc-a45e40983579"},{"name":"1.1 Create token-request","event":[{"listen":"test","script":{"id":"241f8c8f-4cd5-424a-b258-924544fe4f7d","exec":["var jsonData = JSON.parse(responseBody);","pm.environment.set(\"requestId\", jsonData.tokenRequest.id);","","","",""],"type":"text/javascript","packages":{}}}],"id":"052ebd5b-520e-4257-b8ad-da64c1127c2b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"requestPayload\": {\n        \"refId\": \"32830262\",\n\n        \"to\": {\n            \"id\": \"{{memberId}}\"\n        },\n\n        \"accessBody\": {\n            \"resourceTypeList\":{\n                \"resources\": [\n                    \"ACCOUNTS\",\n                    \"BALANCES\", \n                    \"TRANSACTIONS\" \n                ]\n            }\n        },\n        \n        \"redirectUrl\": \"{{redirectURL}}\" // the URL that the PSU should be returned to (the TPP) \n    },\n    \n    \"requestOptions\":{\n        \"bankId\": \"{{bankId}}\"\n    }         \n\n}","options":{"raw":{"language":"json"}}},"url":"https://api.{{baseURL}}/token-requests","urlObject":{"protocol":"https","path":["token-requests"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"052ebd5b-520e-4257-b8ad-da64c1127c2b"},{"name":"1.2 Send Consent","id":"1c1cc0c8-f7f6-46c3-aaa5-8366194e1033","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n//    \"credentials\":{\n//        \"psuId\": \"llr001\",\n//        \"password\": \"Password123\"\n//    },\n\n    \"consentAccepted\": true\n    \n    \n\n}","options":{"raw":{"language":"json"}}},"url":"https://api.{{baseURL}}/token-requests/{{requestId}}/authorization","urlObject":{"protocol":"https","path":["token-requests","{{requestId}}","authorization"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"1c1cc0c8-f7f6-46c3-aaa5-8366194e1033"},{"name":"2. Retrieve accessId","event":[{"listen":"test","script":{"id":"8c8d6fff-34af-443f-ae59-df787424ecc4","exec":["var jsonData = JSON.parse(responseBody);","postman.setEnvironmentVariable(\"accessId\", jsonData.tokenId);",""],"type":"text/javascript"}}],"id":"51b8caae-9f8b-400b-9f8b-8c2c91d9a038","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"url":"https://api.{{baseURL}}/token-requests/{{requestId}}/token_request_result","urlObject":{"protocol":"https","path":["token-requests","{{requestId}}","token_request_result"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"51b8caae-9f8b-400b-9f8b-8c2c91d9a038"},{"name":"3a. Retrieve accounts","event":[{"listen":"test","script":{"type":"text/javascript","exec":["var jsonData = JSON.parse(responseBody);","postman.setEnvironmentVariable(\"accountId1\", jsonData.accounts[0].id);"],"id":"d13b629a-0553-493c-9f7d-d3bca35384ca"}}],"id":"8469bb17-1f77-437b-ba34-fca168c20169","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"},{"key":"on-behalf-of","value":"{{accessId}}","type":"text"}],"url":"https://api.{{baseURL}}/accounts","urlObject":{"protocol":"https","path":["accounts"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"8469bb17-1f77-437b-ba34-fca168c20169"},{"name":"3b. Retrieve accounts-balance","event":[{"listen":"test","script":{"id":"63dcf06d-ba31-48a6-abba-7109dd1f3d59","exec":[""],"type":"text/javascript"}}],"id":"3d763061-fc80-45c5-b973-67a70a521523","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"},{"key":"on-behalf-of","value":"{{accessId}}","type":"text"}],"url":"https://api.{{baseURL}}/account-balance?accountId={{accountId1}}","urlObject":{"protocol":"https","path":["account-balance"],"host":["api","{{baseURL}}"],"query":[{"key":"accountId","value":"{{accountId1}}"}],"variable":[]}},"response":[],"_postman_id":"3d763061-fc80-45c5-b973-67a70a521523"},{"name":"3c. Retrieve specific info","event":[{"listen":"test","script":{"id":"26e59f06-57ac-4aa3-ab59-874e8e06c953","exec":[""],"type":"text/javascript"}}],"id":"f2525895-ef1a-4cf1-aeb1-34a4982d3214","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"},{"key":"on-behalf-of","value":"{{accessId}}","type":"text"}],"url":"https://api.{{baseURL}}/accounts/{{accountId1}}","urlObject":{"protocol":"https","path":["accounts","{{accountId1}}"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"f2525895-ef1a-4cf1-aeb1-34a4982d3214"},{"name":"3d. Retrieve specific balance","event":[{"listen":"test","script":{"id":"7e558423-2be6-4065-b51e-f9aa1827ea09","exec":[""],"type":"text/javascript"}}],"id":"236f67a9-f67d-49d1-b2c9-c7c99e2c25b0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"},{"key":"on-behalf-of","value":"{{accessId}}","type":"text"}],"url":"https://api.{{baseURL}}/accounts/{{accountId1}}/balance","urlObject":{"protocol":"https","path":["accounts","{{accountId1}}","balance"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"236f67a9-f67d-49d1-b2c9-c7c99e2c25b0"},{"name":"3e. Retrieve specific transactions","event":[{"listen":"test","script":{"id":"718bd289-684d-4f8a-869e-d88102631a69","exec":[""],"type":"text/javascript"}}],"id":"74630743-3c2f-48d3-8034-604c8cb9d877","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"},{"key":"on-behalf-of","value":"{{accessId}}","type":"text"}],"url":"https://api.{{baseURL}}/accounts/{{accountId1}}/transactions?page.limit=200&startDate=2023-10-05","urlObject":{"protocol":"https","path":["accounts","{{accountId1}}","transactions"],"host":["api","{{baseURL}}"],"query":[{"key":"page.limit","value":"200"},{"disabled":true,"key":"page.offset","value":"44SFnPxqtiAfGaTEvzSmCAmnE21kvqfUgKbs65tu6QKN4dKRfCcgZo42WTLkE2WqUungwTkCipdt9pkkPqurNnSAi8Ar6dNkQ9tUdYro867j8aXwZcoJFERMY8SBmLWhaXNyVLQmLhVZvP9Q5Y8xo2teQjb7dn966gdRPCiLyk4zKAyxvsDhLJkGT4LNQqxYKuzd9nWdiRKN8UxGpPQtg7omDo9VC3N5YdEwqj7ALzCFTcEDCfTdyZSdw6f5GHJNtf3AbWpW3JFttfwJHudcz7421tq7qquFQtnbpKosqyDMKrLuTCkMxmivVoupDFHTgQpG6wGvWNe2D2Y9LGRp8jhXt4nswPxrezZjvZWPTzG4MAZaM71aQrYQyaVW4xKc7SoRNGFetMwQLRTRHg4znx3RX36UDcmvvEUGYGxSXF2Lr2dXfn9cZBFW1G8bQCg9zsVCUGjc4Sq5Lgx"},{"key":"startDate","value":"2023-10-05"}],"variable":[]}},"response":[],"_postman_id":"74630743-3c2f-48d3-8034-604c8cb9d877"},{"name":"3f. Retrieve specific payees","event":[{"listen":"test","script":{"id":"4818c14e-7a12-4394-9621-92a23c59f442","exec":[""],"type":"text/javascript"}}],"id":"a841ca1c-496b-4f52-8bb0-4bb60bb725a6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"},{"key":"on-behalf-of","value":"{{accessId}}","type":"text"}],"url":"https://api.{{baseURL}}/accounts/{{accountId1}}/transfer-destinations","urlObject":{"protocol":"https","path":["accounts","{{accountId1}}","transfer-destinations"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"a841ca1c-496b-4f52-8bb0-4bb60bb725a6"},{"name":"3g. Retrieve Standing Order","event":[{"listen":"test","script":{"id":"68e4fc9d-d291-4ac9-a325-cbe237cabe61","exec":[""],"type":"text/javascript"}}],"id":"25a12107-01d2-4e2a-ac8d-6f93845ef82c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"},{"key":"on-behalf-of","value":"{{accessId}}","type":"text"}],"url":"https://api.{{baseURL}}/accounts/{{accountId1}}/standing-orders?page.limit=1","urlObject":{"protocol":"https","path":["accounts","{{accountId1}}","standing-orders"],"host":["api","{{baseURL}}"],"query":[{"key":"page.limit","value":"1"}],"variable":[]}},"response":[],"_postman_id":"25a12107-01d2-4e2a-ac8d-6f93845ef82c"},{"name":"4. Revoke Token","event":[{"listen":"test","script":{"id":"c11944d6-b8d0-4211-b34c-6b5f66b272b3","exec":[""],"type":"text/javascript"}}],"id":"96ef24b2-7f4e-47b4-8370-7bce755cea83","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"url":"https://api.{{baseURL}}/tokens/{{accessId}}/cancel","urlObject":{"protocol":"https","path":["tokens","{{accessId}}","cancel"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"96ef24b2-7f4e-47b4-8370-7bce755cea83"}],"id":"399cbe8f-6c54-4b58-ae63-77ded2e54fcb","_postman_id":"399cbe8f-6c54-4b58-ae63-77ded2e54fcb","description":""}],"id":"f006590b-b265-4638-a162-9d92a20435f6","_postman_id":"f006590b-b265-4638-a162-9d92a20435f6","description":""}],"id":"88718be8-1c3d-4a1c-8380-f6bb2bc9364e","description":"<p>Clients can either use Token.io's Hosted Pages V2 to proceed through bank selection and consent capture, or clients can build their own UX.</p>\n<p>Contact Technical Sales for more information.</p>\n","_postman_id":"88718be8-1c3d-4a1c-8380-f6bb2bc9364e"},{"name":"Account on File","item":[{"name":"Client UX","item":[{"name":"Payments - V2 - embedded","item":[{"name":"1. /Banks","event":[{"listen":"test","script":{"id":"092734bb-f484-431b-a6a6-9979ebff49fa","exec":["var jsonData = JSON.parse(responseBody);","postman.setEnvironmentVariable(\"bankId\", jsonData.banks[0].id);","",""],"type":"text/javascript"}}],"id":"c10f941c-e666-46c2-89ab-362caacb26e9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"url":"https://api.{{baseURL}}/v2/banks?ids=sk-fidu-genoded1dkd","description":"<p><a href=\"https://developer.token.io/token_rest_api_doc/content/e-rest/get_banks.htm?Highlight=get%20banks\">https://developer.token.io/token_rest_api_doc/content/e-rest/get_banks.htm?Highlight=get%20banks</a></p>\n","urlObject":{"protocol":"https","path":["v2","banks"],"host":["api","{{baseURL}}"],"query":[{"disabled":true,"key":"countries","value":"se"},{"key":"ids","value":"sk-fidu-genoded1dkd"}],"variable":[]}},"response":[],"_postman_id":"c10f941c-e666-46c2-89ab-362caacb26e9"},{"name":"2a. Embedded.1","event":[{"listen":"prerequest","script":{"id":"41053c9f-974d-477b-9499-b0a06e4a18cb","exec":["var date = new Date();","var ts = Math.round(date.getTime() / 1000);","var dateTime = date.toISOString();","pm.globals.set('vrpRemInfoPrim', ts);","// pm.globals.set('G_REFID', ts+1);","pm.globals.set('vrpStartDateTime', dateTime);"],"type":"text/javascript","packages":{},"requests":{}}},{"listen":"test","script":{"id":"979b44a2-3815-4f24-be95-b4b26cef8380","exec":["var jsonData = JSON.parse(responseBody);","postman.setEnvironmentVariable(\"paymentId\", jsonData.payment.id);"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"d4a334fb-6af5-4a8f-aef5-5545561f3430","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"initiation\": {\n    \"bankId\": \"{{bankId}}\",                                     // Sets the bank to to be used\n    \"refId\": \"43476285\",                          // Sets the unique payment reference identifier\n    \"onBehalfOfId\": \"87399b11-45ca-4bc1-9745-fdd461082cbc\",                                 // Specifies the subTpp\n    \"remittanceInformationPrimary\": \"{{vrpRemInfoPrim}}\",\n    \"flowType\": \"API_ONLY\",\n\n    \"amount\": {\n      \"value\": \"0.20\",                                          // Specifies the number of the payment\n      \"currency\": \"EUR\"                                         // Specifies the currency of the payment to be initiated\n    },\n    \"localInstrument\": \"SEPA_INSTANT\",                       // Specifies the payment rail to be used\n\n    \"creditor\": {                                   \n      \"name\": \"{{merchantName}}\",                               // Specifies the legal name of the beneficiary account\n      \"iban\": \"GB69MOCK00000003766545\"                              // Specifies the account number of the beneficiary account\n      },\n\n    \"debtor\": {                                   \n      \"iban\": \"DE39499999600000005111\"                              // Specifies the account number of the beneficiary account\n      },\n\n    \"returnRefundAccount\": true,                                // Specifies whether the originator account information should be provided back to the TPP\n    \"returnTokenizedAccount\": true,                                // Specifies whether the originator account information should be provided back to the TPP\n    \"callbackUrl\": \"{{redirectURL}}\"                            // Specifies where the PSU should be returned to, following authentication at the bank\n\n  },\n\n  \"pispConsentAccepted\": true,                                   // Confirms that the PSU did accept consent within the TPPs user experience\n  \"initialEmbeddedAuth\": {\n      \"psuId\": \"VRK1234567890ALL\",\n      \"password\": \"password\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.{{baseURL}}/v2/payments","urlObject":{"protocol":"https","path":["v2","payments"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"d4a334fb-6af5-4a8f-aef5-5545561f3430"},{"name":"2b. Embedded.2","id":"1184ad32-e810-43b7-8455-d808d8b12959","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"embeddedAuth\": {\n        \"sca\": \"962: SmartTAN plus HHD 1.4\"\n        }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.{{baseURL}}/v2/payments/{{paymentId}}/embedded-auth","urlObject":{"protocol":"https","path":["v2","payments","{{paymentId}}","embedded-auth"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"1184ad32-e810-43b7-8455-d808d8b12959"},{"name":"2c. Embedded.3","id":"1961c93b-3cd5-464d-b91a-8d7f6329d1d1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"embeddedAuth\": {\n        \"pin\": 123456\n        }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.{{baseURL}}/v2/payments/{{paymentId}}/embedded-auth","urlObject":{"protocol":"https","path":["v2","payments","{{paymentId}}","embedded-auth"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"1961c93b-3cd5-464d-b91a-8d7f6329d1d1"},{"name":"3. Poll /v2/payments/","event":[{"listen":"prerequest","script":{"id":"80c7f659-92a2-43e3-97d5-75a3088d3035","exec":[""],"type":"text/javascript","packages":{},"requests":{}}},{"listen":"test","script":{"id":"527c6489-5431-412e-9318-92d875ebb309","exec":["var jsonData = pm.response.json();","","pm.environment.set(\"tokenizedAccountId\", jsonData.payment.initiation.debtor.tokenizedAccountId);","console.log(pm.environment.get('tokenizedAccountId'));"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"dba21f67-4dbe-4dba-8563-29a51e34b53c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"url":"https://api.{{baseURL}}/v2/payments/{{paymentId}}","urlObject":{"protocol":"https","path":["v2","payments","{{paymentId}}"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"dba21f67-4dbe-4dba-8563-29a51e34b53c"},{"name":"4a. Returning User Journey","event":[{"listen":"prerequest","script":{"id":"41053c9f-974d-477b-9499-b0a06e4a18cb","exec":["var date = new Date();","var ts = Math.round(date.getTime() / 1000);","var dateTime = date.toISOString();","pm.globals.set('vrpRemInfoPrim', ts);","// pm.globals.set('G_REFID', ts+1);","pm.globals.set('vrpStartDateTime', dateTime);"],"type":"text/javascript","packages":{},"requests":{}}},{"listen":"test","script":{"id":"979b44a2-3815-4f24-be95-b4b26cef8380","exec":["var jsonData = JSON.parse(responseBody);","postman.setEnvironmentVariable(\"paymentId\", jsonData.payment.id);"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"f64de6f5-3b2c-4f8a-8286-facde6acc2bd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"initiation\": {\n    \"bankId\": \"{{bankId}}\",                                     // Sets the bank to to be used\n    \"refId\": \"17088518\",                          // Sets the unique payment reference identifier\n    \"onBehalfOfId\": \"87399b11-45ca-4bc1-9745-fdd461082cbc\",                                 // Specifies the subTpp\n    \"remittanceInformationPrimary\": \"{{vrpRemInfoPrim}}\",\n    \"flowType\": \"API_ONLY\",\n\n    \"amount\": {\n      \"value\": \"0.20\",                                          // Specifies the number of the payment\n      \"currency\": \"EUR\"                                         // Specifies the currency of the payment to be initiated\n    },\n    \"localInstrument\": \"SEPA_INSTANT\",                       // Specifies the payment rail to be used\n\n    \"creditor\": {                                   \n      \"name\": \"{{merchantName}}\",                               // Specifies the legal name of the beneficiary account\n      \"iban\": \"GB69MOCK00000003766545\"                              // Specifies the account number of the beneficiary account\n      },\n\n    \"debtor\": {                                   \n      \"tokenizedAccountId\": \"{{tokenizedAccountId}}\"                              // Specifies the account number of the debtor account\n      },\n\n    \"returnRefundAccount\": true,                                // Specifies whether the originator account information should be provided back to the TPP\n    \"callbackUrl\": \"{{redirectURL}}\"                            // Specifies where the PSU should be returned to, following authentication at the bank\n\n  },\n\n  \"pispConsentAccepted\": true,                                   // Confirms that the PSU did accept consent within the TPPs user experience\n  \"initialEmbeddedAuth\": {\n      \"psuId\": \"VRK1234567890ALL\",\n      \"password\": \"password\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.{{baseURL}}/v2/payments","urlObject":{"protocol":"https","path":["v2","payments"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"f64de6f5-3b2c-4f8a-8286-facde6acc2bd"},{"name":"4b. Embedded.2","id":"c6cf32af-d138-48cb-ab90-96791f88580d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"embeddedAuth\": {\n        \"sca\": \"962: SmartTAN plus HHD 1.4\"\n        }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.{{baseURL}}/v2/payments/{{paymentId}}/embedded-auth","urlObject":{"protocol":"https","path":["v2","payments","{{paymentId}}","embedded-auth"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"c6cf32af-d138-48cb-ab90-96791f88580d"},{"name":"4c. Embedded.3","id":"68dd4ea9-dfee-44b4-8950-9a257f25fe82","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"embeddedAuth\": {\n        \"pin\": 123456\n        }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.{{baseURL}}/v2/payments/{{paymentId}}/embedded-auth","urlObject":{"protocol":"https","path":["v2","payments","{{paymentId}}","embedded-auth"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"68dd4ea9-dfee-44b4-8950-9a257f25fe82"},{"name":"5. Poll /v2/payments/","event":[{"listen":"prerequest","script":{"id":"80c7f659-92a2-43e3-97d5-75a3088d3035","exec":[""],"type":"text/javascript","packages":{},"requests":{}}},{"listen":"test","script":{"id":"527c6489-5431-412e-9318-92d875ebb309","exec":["var jsonData = pm.response.json();","","pm.environment.set(\"tokenizedAccountId\", jsonData.payment.initiation.debtor.tokenizedAccountId);","console.log(pm.environment.get('tokenizedAccountId'));"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"9cdeb6df-3a1a-4c14-9d6a-045fd12524a0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"url":"https://api.{{baseURL}}/v2/payments/{{paymentId}}","urlObject":{"protocol":"https","path":["v2","payments","{{paymentId}}"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"9cdeb6df-3a1a-4c14-9d6a-045fd12524a0"}],"id":"d00debc7-dd83-4336-821b-57bcc1497758","description":"<p>Here the PSP again will cover the key aspects of Bank Selection and Consent Collection in the Open Banking User Journey.</p>\n<p>Note: This experience can be delievered using Token's license with appropriate amendments to Terms and Conditions and Consent text.</p>\n","_postman_id":"d00debc7-dd83-4336-821b-57bcc1497758"}],"id":"5e5159f0-1a4c-4d4a-9a52-f769799e6e9d","_postman_id":"5e5159f0-1a4c-4d4a-9a52-f769799e6e9d","description":""}],"id":"6eac27a8-e44f-4119-8a9d-eb376ab57156","description":"<p>Clients can either use Token.io's Hosted Pages V2 to proceed through bank selection and consent capture, or clients can build their own UX.</p>\n<p>Contact Technical Sales for more information.</p>\n","_postman_id":"6eac27a8-e44f-4119-8a9d-eb376ab57156"},{"name":"Variable Recurring Payments","item":[{"name":"Token's Hosted Payment Page (WebApp)","item":[{"name":"Create VRP Consent","event":[{"listen":"prerequest","script":{"id":"2c6d8c0b-45c1-4a99-bb03-34dd7d277d84","exec":["var date = new Date();","var ts = Math.round(date.getTime() / 1000);","var dateTime = date.toISOString();","pm.globals.set('vrpRemInfoPrim', ts);","// pm.globals.set('G_REFID', ts+1);","pm.globals.set('vrpStartDateTime', dateTime);"],"type":"text/javascript","packages":{},"requests":{}}},{"listen":"test","script":{"id":"b816dc3d-5edc-4abc-8cc6-897092b5d6ef","exec":["var jsonData = JSON.parse(responseBody);","pm.environment.set(\"vrpConsentId\", jsonData.vrpConsent.id);","","console.log(pm.environment.get('vrpConsentId'))","","console.log(\"Web-App Links\")","console.log(\"https://app.token.io/session\" + pm.environment.get('vrpConsentId')+\"&country=gb\")","console.log(\"https://app.sandbox.token.io/session/\" + pm.environment.get('vrpConsentId'))",""],"type":"text/javascript","packages":{},"requests":{}}}],"id":"f1b4f63b-aeb9-4d7e-8f76-157cef16c727","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"initiation\": {\n        // \"bankId\":\"ob-natwest\",\n        \"currency\": \"GBP\",\n        \"refId\": \"77205151\",\n        \"remittanceInformationPrimary\": \"{{vrpRemInfoPrim}}\",\n        \"remittanceInformationSecondary\": \"secondary remittance info\",\n        //\"startDateTime\": \"{{vrpStartDateTime}}\",\n        \"endDateTime\": \"2028-04-01T00:00:00.000+00:00\",\n//        \"onBehalfOfId\": \"0123938c-c485-4529-b152-775eb827aae1\",\n\n        \"scheme\": \"OBL_SWEEPING\", // \"SWEEPING\" for sweeping, \"OTHER\" for non-sweeping cases\n        \"localInstrument\": \"FASTER_PAYMENTS\",\n        \"creditor\": {\n            \"name\": \"{{merchantName}}\",\n            \"accountNumber\": \"{{accountNumber}}\",\n            \"sortCode\": \"{{sortCode}}\"\n        },\n        \"maximumIndividualAmount\": \"50.00\",\n        \"periodicLimits\": [\n            {\n                \"maximumAmount\": \"100.00\",\n                \"periodType\": \"DAY\"\n            },\n            {\n                \"maximumAmount\": \"500.00\",\n                \"periodType\": \"YEAR\"\n            }\n        ],\n        \"callbackUrl\": \"{{redirectURL}}\",\n        \"returnRefundAccount\": true,\n        \n        \"risk\": {\n            \"psuId\": \"0000789123\",\n            \"paymentContextCode\": \"OTHER\",\n            //\"paymentPurposeCode\": \"DVPM\",\n            \"merchantCategoryCode\": \"4829\"\n            //\"beneficiaryAccountType\": \"BUSINESS\",\n            //\"contractPresentIndicator\": true,\n            //\"beneficiaryPrepopulatedIndicator\": true\n        }\n    }\n}\n\n","options":{"raw":{"language":"json"}}},"url":"https://api.{{baseURL}}/vrp-consents","urlObject":{"protocol":"https","path":["vrp-consents"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"f1b4f63b-aeb9-4d7e-8f76-157cef16c727"},{"name":"Retrieve VRP Consent by Id","event":[{"listen":"test","script":{"id":"fb568d0d-e246-47fd-bb48-40d5277b373a","exec":["pm.test('Check Status', () => {","    return (pm.response.code === 200) ?  0 :  1;","})"],"type":"text/javascript"}}],"id":"d3dd7fcc-fead-4f58-ba4b-f02bbe01c164","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"url":"https://api.{{baseURL}}/vrp-consents/{{vrpConsentId}}","urlObject":{"protocol":"https","path":["vrp-consents","{{vrpConsentId}}"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"d3dd7fcc-fead-4f58-ba4b-f02bbe01c164"},{"name":"Initiate Variable Recurring Payment","event":[{"listen":"prerequest","script":{"id":"fecc45f7-b337-466a-8aed-f4fb54e542c8","exec":[""],"type":"text/javascript"}},{"listen":"test","script":{"id":"1d4da170-880c-4d14-bde3-85d372cc1d0f","exec":["pm.test('Check Status', () => {","    if(pm.response.code === 200) {","        const res = pm.response.json();","        let devkey = '';","","        // set globals","        pm.globals.set('vrpPaymentId', res.vrp.id);","    }","})"],"type":"text/javascript"}}],"id":"6a00d7e1-3597-4dbf-95ff-093571afc0a0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"initiation\": {\n        \"consentId\": \"{{vrpConsentId}}\",\n        \"refId\": \"28765533\",\n        \"remittanceInformationPrimary\": \"{{vrpRemInfoPrim}}\",\n        \"remittanceInformationSecondary\": \"secondary remittance info\",\n        \"amount\": {\n            \"value\": \"1.69\",\n            \"currency\": \"GBP\"\n        },\n        \"confirmFunds\": true\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.{{baseURL}}/vrps","urlObject":{"protocol":"https","path":["vrps"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"6a00d7e1-3597-4dbf-95ff-093571afc0a0"},{"name":"Retrieve VRP by Id","event":[{"listen":"test","script":{"id":"1d022c22-bcfa-4b4c-b7c0-bc2a9fd65598","exec":["pm.test('Check Status', () => {","    return (pm.response.code === 200) ?  0 :  1;","})"],"type":"text/javascript"}}],"id":"9198a9f9-3542-4ca4-8b18-7a650c53bac2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"url":"https://api.{{baseURL}}/vrps/{{vrpPaymentId}}","urlObject":{"protocol":"https","path":["vrps","{{vrpPaymentId}}"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"9198a9f9-3542-4ca4-8b18-7a650c53bac2"},{"name":"Revoke VRP Consent","id":"d3a07340-6cfa-471f-97be-8d86fbf82c54","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"url":"https://api.{{baseURL}}/vrp-consents/{{vrpConsentId}}","urlObject":{"protocol":"https","path":["vrp-consents","{{vrpConsentId}}"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"d3a07340-6cfa-471f-97be-8d86fbf82c54"}],"id":"dc75903e-e478-4b85-b075-b3e6c1e86c94","_postman_id":"dc75903e-e478-4b85-b075-b3e6c1e86c94","description":""},{"name":"Client UX","item":[{"name":"Get Specific Bank","event":[{"listen":"test","script":{"id":"53872ecf-6e5b-4c33-a2be-1f008161f4d3","exec":["var jsonData = JSON.parse(responseBody);","pm.environment.set(\"bankId\", jsonData.banks[0].id);","",""],"type":"text/javascript","packages":{}}}],"id":"23386f25-5f4e-4122-8b6e-cbe099a1b8a2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"url":"https://api.{{baseURL}}/banks?ids=ob-natwest","urlObject":{"protocol":"https","path":["banks"],"host":["api","{{baseURL}}"],"query":[{"key":"ids","value":"ob-natwest"},{"disabled":true,"key":"countries","value":"GB"}],"variable":[]}},"response":[],"_postman_id":"23386f25-5f4e-4122-8b6e-cbe099a1b8a2"},{"name":"Create VRP Consent","event":[{"listen":"prerequest","script":{"id":"2c6d8c0b-45c1-4a99-bb03-34dd7d277d84","exec":["var date = new Date();","var ts = Math.round(date.getTime() / 1000);","var dateTime = date.toISOString();","pm.globals.set('vrpRemInfoPrim', ts);","// pm.globals.set('G_REFID', ts+1);","pm.globals.set('vrpStartDateTime', dateTime);"],"type":"text/javascript","packages":{}}},{"listen":"test","script":{"id":"b816dc3d-5edc-4abc-8cc6-897092b5d6ef","exec":["var jsonData = JSON.parse(responseBody);","pm.environment.set(\"vrpConsentId\", jsonData.vrpConsent.id);","","console.log(pm.environment.get('vrpConsentId'))","","",""],"type":"text/javascript","packages":{}}}],"id":"8b31b8e3-1ff7-4382-a6ae-2f2e5f133d77","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"initiation\": {\n        \"bankId\":\"{{bankId}}\",\n        \"currency\": \"GBP\",\n        \"refId\": \"39614219\",\n        \"remittanceInformationPrimary\": \"{{vrpRemInfoPrim}}\",\n        \"remittanceInformationSecondary\": \"secondary remittance info\",\n        //\"startDateTime\": \"{{vrpStartDateTime}}\",\n        \"endDateTime\": \"2028-04-01T00:00:00.000+00:00\",\n//        \"onBehalfOfId\": \"0123938c-c485-4529-b152-775eb827aae1\",\n\n        \"vrpType\": \"SWEEPING\", // \"SWEEPING\" for sweeping, \"OTHER\" for non-sweeping cases\n        \"localInstrument\": \"FASTER_PAYMENTS\",\n        \"creditor\": {\n            \"name\": \"{{merchantName}}\",\n            \"accountNumber\": \"{{accountNumber}}\",\n            \"sortCode\": \"{{sortCode}}\"\n        },\n        \"maximumIndividualAmount\": \"50.00\",\n        \"periodicLimits\": [\n            {\n                \"maximumAmount\": \"100.00\",\n                \"periodType\": \"DAY\"\n            },\n            {\n                \"maximumAmount\": \"500.00\",\n                \"periodType\": \"YEAR\"\n            }\n        ],\n        \"callbackUrl\": \"{{redirectURL}}\",\n        \"returnRefundAccount\": true,\n        \"risk\": {\n            \"psuId\": \"0000789123\",\n            \"paymentContextCode\": \"OTHER\",\n            //\"paymentPurposeCode\": \"DVPM\",\n            \"merchantCategoryCode\": \"4829\"\n            //\"beneficiaryAccountType\": \"BUSINESS\",\n            //\"contractPresentIndicator\": true,\n            //\"beneficiaryPrepopulatedIndicator\": true\n        }\n    }\n}\n\n","options":{"raw":{"language":"json"}}},"url":"https://api.{{baseURL}}/vrp-consents","urlObject":{"protocol":"https","path":["vrp-consents"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"8b31b8e3-1ff7-4382-a6ae-2f2e5f133d77"},{"name":"Retrieve VRP Consent by Id","event":[{"listen":"test","script":{"id":"fb568d0d-e246-47fd-bb48-40d5277b373a","exec":["pm.test('Check Status', () => {","    return (pm.response.code === 200) ?  0 :  1;","})"],"type":"text/javascript"}}],"id":"0e27c63f-8933-4a29-9f96-ca864d059468","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"url":"https://api.{{baseURL}}/vrp-consents/{{vrpConsentId}}","urlObject":{"protocol":"https","path":["vrp-consents","{{vrpConsentId}}"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"0e27c63f-8933-4a29-9f96-ca864d059468"},{"name":"Initiate Variable Recurring Payment","event":[{"listen":"prerequest","script":{"id":"fecc45f7-b337-466a-8aed-f4fb54e542c8","exec":[""],"type":"text/javascript"}},{"listen":"test","script":{"id":"1d4da170-880c-4d14-bde3-85d372cc1d0f","exec":["pm.test('Check Status', () => {","    if(pm.response.code === 200) {","        const res = pm.response.json();","        let devkey = '';","","        // set globals","        pm.globals.set('vrpPaymentId', res.vrp.id);","    }","})"],"type":"text/javascript"}}],"id":"28053b6f-6b86-4124-8825-27c9c6736032","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"initiation\": {\n        \"consentId\": \"{{vrpConsentId}}\",\n        \"refId\": \"26522961\",\n        \"remittanceInformationPrimary\": \"{{vrpRemInfoPrim}}\",\n        \"remittanceInformationSecondary\": \"secondary remittance info\",\n        \"amount\": {\n            \"value\": \"5.00\",\n            \"currency\": \"GBP\"\n        },\n        \"confirmFunds\": true\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.{{baseURL}}/vrps","urlObject":{"protocol":"https","path":["vrps"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"28053b6f-6b86-4124-8825-27c9c6736032"},{"name":"Retrieve VRP by Id","event":[{"listen":"test","script":{"id":"1d022c22-bcfa-4b4c-b7c0-bc2a9fd65598","exec":["pm.test('Check Status', () => {","    return (pm.response.code === 200) ?  0 :  1;","})"],"type":"text/javascript"}}],"id":"058d60c4-e578-44c5-8185-0ae8d3a63fa9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{APIKey}}","type":"text"}],"url":"https://api.{{baseURL}}/vrps/{{vrpPaymentId}}","urlObject":{"protocol":"https","path":["vrps","{{vrpPaymentId}}"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"058d60c4-e578-44c5-8185-0ae8d3a63fa9"},{"name":"Revoke VRP Consent","id":"bbdb305f-934d-4d95-aa5a-937baa7b6f65","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Basic {{API_KEY}}","type":"text"}],"url":"https://api.{{baseURL}}/vrp-consents/{{vrpConsentId}}","urlObject":{"protocol":"https","path":["vrp-consents","{{vrpConsentId}}"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"bbdb305f-934d-4d95-aa5a-937baa7b6f65"}],"id":"36b1e9ec-e41e-4cff-bfba-b9e66bcc86b3","_postman_id":"36b1e9ec-e41e-4cff-bfba-b9e66bcc86b3","description":""}],"id":"35ff5cf4-bd38-4322-80cc-787be5576100","description":"<p><a href=\"https://developer.token.io/token_rest_api_doc/content/e-rest/vrp/variable_recurring_payment.htm?tocpath=Variable%20Recurring%20Payment%20(VRP)%7C_____0\">Full Token VRP Documentation</a></p>\n","_postman_id":"35ff5cf4-bd38-4322-80cc-787be5576100"},{"name":"Timeline Expectations","item":[],"id":"2dcd890a-2ec8-48de-83c4-df1bff9bc578","description":"<h2 id=\"implementation-timelines\"><strong>Implementation Timelines</strong></h2>\n<img src=\"https://content.pstmn.io/28e92618-6b3e-41bb-9f05-b977889b86e7/aW1wbGVtZW50YXRpb24gdGltZWxpbmUucG5n\" alt />\n\n<h2 id=\"clients-bringing-their-own-licenses\">Clients bringing their own licenses</h2>\n<p>Where clients bring their own licence, Token requires 6 - 10 weeks to register a clients license with banks.</p>\n","_postman_id":"2dcd890a-2ec8-48de-83c4-df1bff9bc578"},{"name":"Going live and Production Access","item":[{"name":"Sending a JWT tokenRequest","item":[{"name":"1. jsrsasign - library","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.globals.set(\"jsrsasign-js\", responseBody);"],"id":"e4fa1dd0-3aaa-46e6-8d6b-f5cff01eb2cc"}}],"id":"a6eb7a84-5c5f-4177-ac6d-cbb5e5b21268","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://kjur.github.io/jsrsasign/jsrsasign-latest-all-min.js","description":"<p>Run this call in your local postman collection to set the script as an environment variable.</p>\n","urlObject":{"protocol":"http","path":["jsrsasign","jsrsasign-latest-all-min.js"],"host":["kjur","github","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"a6eb7a84-5c5f-4177-ac6d-cbb5e5b21268"},{"name":"2. create payment - example","event":[{"listen":"prerequest","script":{"id":"d66afc21-8825-4e11-be20-a3c50e218480","exec":["var navigator = {};","var window = {};","eval(pm.globals.get(\"jsrsasign-js\"));","","","// Set headers for JWT","var header = {","    \"alg\": \"RS256\",","    \"typ\": \"jwt\",","    \"exp\": \"180000\", // expiration","    \"mid\": \"m:E42cdhVcuD9xpi3patVtQkjbdeC:5zKtXEAq\", // member ID","    \"kid\": \"LSUHXoWeAwqXHTdG\", // key ID","    \"method\": \"POST\", // HTTP method","    \"host\": \"api.sandbox.token.io:443\", // base URL","    \"path\": \"/v2/payments\", // endpoint","//    \"query\": \"\"// only where required","};","","console.log(header.host+header.path);","","var data = ","{","  \"initiation\": {","    \"bankId\": \"ob-natwest\",                                     // Sets the bank to to be used","    \"refId\": \"1232456\",                          // Sets the unique payment reference identifier","    \"remittanceInformationPrimary\": \"2345\",","    //\"onBehalfOfId\": \"string\",","","    \"amount\": {","      \"value\": \"1.20\",                                          // Specifies the number of the payment","      \"currency\": \"GBP\"                                         // Specifies the currency of the payment to be initiated","    },","    \"localInstrument\": \"FASTER_PAYMENTS\",                       // Specifies the payment rail to be used","","    \"creditor\": {                                   ","      \"name\": \"JWT Test\",                               // Specifies the legal name of the beneficiary account","      \"accountNumber\": \"12345678\",                              // Specifies the account number of the beneficiary account","      \"sortCode\": \"123456\"                                      // Specifies the sort code of the beneficiary account","      },","\t\t\"flowType\": \"FULL_HOSTED_PAGES\",","    \"returnRefundAccount\": true,                                // Specifies whether the originator account information should be provided back to the TPP","    \"callbackUrl\": \"https://www.google.com/\"                            // Specifies where the PSU should be returned to, following authentication at the bank","","  },","","  \"pispConsentAccepted\": true                                   // Confirms that the PSU did accept consent within the TPPs user experience","}","","","pm.variables.set('data', JSON.stringify(data));","","// data = addIAT(data);","","var privateKey =\"-----BEGIN PRIVATE KEY-----MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDGixs+Viw7dDkbKOaQqMZeLSbroPt/UrcWQqvjGjLPMMd5L9Z6hm7X6rXs/xXFwMxebPM/ABx1XlarUae96KMaPooKBD/tgz3+gjnBRHoyv6hhUD/VOlvNFiYSHnENTgFkKH4mW1CSbG+n7fOUys7vVCoyc2xjqTEYKIakJPLtOAVA7sJzk0YqI8y6878AjZT4YqN84+P+PAaWWfz97GLA4gKzZ+z/BPiv2pjhUjnWrQ8YwpHaZ4R0vC1Cysk9652SmV0s0YJWFmlQGci2OYpUKW5Civrc+OZsAzAC50vi1V2RID4x7eL1+QtvqP7sxyMrc/lOqCepdumJRydHmMqNAgMBAAECggEAIjgC8cc51+Rj3D+8H0YLbFtVWCqWdf8MUaCbjehrxeRnGMarLVJio8GO6eIb/0mHn6Wg9eR/wyXHg77uzW8dP050jZ3mY7npMyaALERwWDNKor0JR2eHv2zYEmrfOrcNS9UjytoVpKreQp/jCau7pymHHUth7LpSHRMNA5jfqo0dKQKFhVbEqA8J11x3eDxgPZBueWY65QwiXb8vakqWeZ5Hetc0FmuYMz+6TVEcdTaKhZlUBa0iucGbjKj8GqQVUSGgkvzruYNhDtDjOcyOLV0RCXi8NiJ5bgEw4Dr2zBzuXDvcwt6Jp42xgKv/NnvyvHmZM9nGgFOTNcrVtUPwqQKBgQD+YIaXMSeJZnJYMkbETluaSXdiAa9Xlr+AxP/IvYr2yuXogFW0kT74YYD+MV4uS1QSltl4J8jpUYe/7b+Xl6FxJDAaJqwsQZ7E9WN1CYLUPp9mFylywixBGYMMS8FrAIP/Zt4obPDNTU4wyopBA5hY4xJbyV977QIJfENx88pYZQKBgQDHz2My+WO+GwU1RLzkvbNu4Rr5jF5xTXvpqa1bKT7tF55fG51zDZk/Y+lBdOLda6yUIn8xTXb8NiljZLoJwHCxUbDkxYHRtFKYbyJSXgLKXuAqHq7I5kPJDw9V+y3D2WZfZvcg2lCQDNjzwpy1HhVfaovEXlpEdqpcwk5TPUCDCQKBgQDAb++B84qwdFMui6Jjoc/Esa1h9FpczctENEQ47cNyHl69fFDaEENuDf1Sz7ArH4uToJEWSCrC743d0ZNusCRO/oxxTC5WMLJW2DkMckyKGnHl/sG5clGeUhmEtM63DyXMklqghIHLHp93Y9IhiwG2xNm/nGDi1JME7//p9f9uzQKBgQCwDopn1dsPHRvfreuK2aQLJQnxrL9islVms/1t/8/UdSU0xE5dnDPV6SEUbfugAkoUVLkiJhGbddXOIGjUQt6JP2PQkD8tGehVLEdfsDphOmvmcRatKke8Fyr6JdJTaXGMylsidXrbEpbvYiFWbWWDp4vzwPdkr/K4vPTq32PCkQKBgALRIRUaBpmiG0LOTOXvRDMnOZFTeWE2inWKWApEQ0Q7qwPfbNGj534G+t17mHRdKRIAVVuIMQmKlo0hmRLUmdE3zjF+u/6oaxSNBw5RvWqWjZMgjxgz7f8vpYL0eyfLAYR6TLEjn396WodFxIBenJnkPqvokIVWnaspHkr9FfjJ-----END PRIVATE KEY-----\";","","","var sHeader = JSON.stringify(header);","var sPayload = JSON.stringify(data);","","pm.variables.set('data', JSON.stringify(data));","","var sJWT = KJUR.jws.JWS.sign(header.alg, sHeader, sPayload, privateKey);","","pm.environment.set('jwt_signed', sJWT);","","console.log('Signed and encoded JWT', sJWT)","","","console.log(data);"],"type":"text/javascript","packages":{}}},{"listen":"test","script":{"id":"8c440a62-7c34-4279-a57a-3b808ba8a598","exec":[""],"type":"text/javascript","packages":{}}}],"id":"2599235a-3636-4b35-acaf-bfb15b9b8d59","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{jwt_signed}}"},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{{data}}","options":{"raw":{"language":"json"}}},"url":"https://api.{{baseURL}}/v2/payments","description":"<p>This is a simple /v2/payments call that is signed with a JWT.</p>\n<p>The call will output to your console, the parts of the JWT message to assist with troubleshooting.</p>\n<p>Additionally, we recommend validating your JWT using <a href=\"https://jwt.io/\">https://jwt.io/</a></p>\n","urlObject":{"protocol":"https","path":["v2","payments"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"2599235a-3636-4b35-acaf-bfb15b9b8d59"},{"name":"3. create payment v2","event":[{"listen":"prerequest","script":{"id":"d66afc21-8825-4e11-be20-a3c50e218480","exec":["var navigator = {};","var window = {};","eval(pm.globals.get(\"jsrsasign-js\"));","","","// Set headers for JWT","var header = {","    \"alg\": \"RS256\",","    \"typ\": \"jwt\",","    \"exp\": \"180000\", // expiration","    \"mid\": \"m:E42cdhVcuD9xpi3patVtQkjbdeC:5zKtXEAq\", // member ID","    \"kid\": \"f9wW2jTbklvbIrFU\", // key ID","    \"method\": \"GET\", // HTTP method","    \"host\": \"api.sandbox.token.io:443\", // base URL","    \"path\": \"/v2/payments/pm2:rUGP8JM9CDQfuTKePSDN4eFh8AP:2gFUX1NEJHU\", // endpoint","    // \"query\": \"\"// only where required","};","","console.log(header.host+header.path);","","var data = ","{","","}","","","pm.variables.set('data', JSON.stringify(data));","","// data = addIAT(data);","","var privateKey = \"-----BEGIN RSA PRIVATE KEY-----\\","MIICXAIBAAKBgQCAT+hHrYqLjv17c8hWSPcxAREtDlJKlqBlsvp+JwOvoQUBCO1o3IqIhleOQjOdiQRJ9IGfkKbfQkfRslExW23V+jXmeJBuwQNJwiZa146Hu3nS1y0sl+jFC3blnZvsVJwigyZRSw/A/VwdiVQc7fTeMBtCsD8qn4iUJg1RmcRq5QIDAQABAoGACFwseC8YbctdPKPok6ahZHH7WoIqXm29+aJVq86C8Ph+yPh573EfHZITNlOd5U++Fct2fp0AIl/BKiqCG8MnPsgk3nQpmnWbqHIZgVbzBwQ0wxfaCZ/7uIErV40nZByiyPmHsJHvVpf/uEEkCOkn9hNpF7SBaQUedu5mcwYvFqkCQQDDqaFb+wFgGtaawXpBBgET9lJaavSv60h1pm07wiZhe0unkOGQJvBzhpsSVeFg0Y2n8Bv928RoxDWrRw0H1sM/AkEAp+FeHDh2azaBb/C4wHp/vuif/GQfkGC9ZrNKMEXaVQm4gKen/Rpsk4cTYUXQSJ6BIbLRd6/tjnMRzr788q+c2wJBAKNvD59bHJ0ADf4aWlnx//iCqetop5ZCO7Y6G8fstk56xIjlFeRpAjQdXW6FWcqbf22lvFvhtD+mlQXKRXIky9UCQAprrs/JoXAePgKYyp8H+436GpQsEtl/Z8JMNrqwW1ET/WPfBEptrXeq1sUe9ELNs+5Hj0ECpphFBEH1EPZveCkCQHXZpN8o5+SVen6Kw8TwjfnD36kRXMpHjPplFTknTqBoiUXUgvWdJ6QXUckmigYTQLIhkhc8lNv6Jd84DnMyCig=\\","-----END RSA PRIVATE KEY-----\";","","var sHeader = JSON.stringify(header);","var sPayload = JSON.stringify(data);","","pm.variables.set('data', JSON.stringify(data));","","var sJWT = KJUR.jws.JWS.sign(header.alg, sHeader, sPayload, privateKey);","","pm.environment.set('jwt_signed', sJWT);","","console.log('Signed and encoded JWT', sJWT)","","","console.log(data);"],"type":"text/javascript","packages":{}}},{"listen":"test","script":{"id":"8c440a62-7c34-4279-a57a-3b808ba8a598","exec":["// public key is: 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCAT-hHrYqLjv17c8hWSPcxAREtDlJKlqBlsvp-JwOvoQUBCO1o3IqIhleOQjOdiQRJ9IGfkKbfQkfRslExW23V-jXmeJBuwQNJwiZa146Hu3nS1y0sl-jFC3blnZvsVJwigyZRSw_A_VwdiVQc7fTeMBtCsD8qn4iUJg1RmcRq5QIDAQAB'"],"type":"text/javascript","packages":{}}}],"id":"c80af03c-50de-4823-b93d-157ff1a8aaf0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{jwt_signed}}"},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"{{data}}","options":{"raw":{"language":"json"}}},"url":"https://api.{{baseURL}}/v2/payments/pm2:rUGP8JM9CDQfuTKePSDN4eFh8AP:2gFUX1NEJHU","urlObject":{"protocol":"https","path":["v2","payments","pm2:rUGP8JM9CDQfuTKePSDN4eFh8AP:2gFUX1NEJHU"],"host":["api","{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"c80af03c-50de-4823-b93d-157ff1a8aaf0"}],"id":"4080eb42-83aa-4fc7-9f88-11bb7dc2ec5b","description":"<p>This folder includes a pre-request script, and an example of a POST message that is signed with a JWT.</p>\n<p>Please ensure you upload your own Public Key to your account at: <a href=\"https://dashboard.sandbox.token.io/authentication-keys\">https://dashboard.sandbox.token.io/authentication-keys</a></p>\n<h2 id=\"step-by-step-instructions\">Step by step instructions:</h2>\n<p>Using VS Code:</p>\n<ol>\n<li><p>Generate private key using: <code>openssl genrsa -out private.pem 2048</code> . This will create a file called <code>private.pem</code></p>\n</li>\n<li><p>Extract public key using: <code>openssl rsa -in private.pem -outform PEM -pubout -out public.pem</code> . This will create a file called <code>public.pem</code></p>\n</li>\n<li><p>Print out the <code>public.pem</code> file in base64 encoded format using: <code>cat public.pem | sed -E \"s/(-----[^-]\\\\* KEY-----)//\" | sed 's/+/-/g' | sed 's/\\//_/g' | tr -d '\\n='</code> . This will print out the string to the console that must be uploaded to the <a href=\"http://token.io/\">Token.io</a> dashboard.</p>\n</li>\n<li><p>Upload the base64 encoded public key. Select RSA256 in the <a href=\"http://token.io/\">Token.io</a> dashboard.</p>\n</li>\n<li><p>Obtain your <code>keyId</code> from the dashboard and use it in your Postman pre-request script.</p>\n</li>\n<li><p>Ensure your <code>memberId</code> is correct in the Postman pre-request script.</p>\n</li>\n<li><p>Open <code>private.pem</code> in VS Code, and remove all carriage returns.</p>\n</li>\n<li><p>Insert your private key into the Postman pre-request script; be sure to insert <code>\\</code> in the <strong><code>var</code></strong> <code>privateKey</code> as per the example, or delete all carriage returns in the <code>private.pem</code> file</p>\n</li>\n<li><p>Execute the POST message</p>\n</li>\n<li><p>Validate using <a href=\"http://jwt.io/\">JWT.io</a></p>\n</li>\n</ol>\n<p>Futher information can be found in our core documentation at:<br /><a href=\"https://developer.token.io/token_rest_api_doc/content/e-rest/authentication.htm?Highlight=jwt#API\">https://developer.token.io/token_rest_api_doc/content/e-rest/authentication.htm?Highlight=jwt#API</a></p>\n","_postman_id":"4080eb42-83aa-4fc7-9f88-11bb7dc2ec5b"},{"name":"Go-live gateway: Checklists","item":[],"id":"8853df0c-dcc9-44a7-8999-1652fd1b92d8","description":"<ul>\n<li><p><a href=\"https://docs.google.com/document/d/1t92udcid4LQfE6ks1OdW93h1TaNnKMQyTqCd5ETbFsw/edit?usp=sharing\">Hosted Pages Checklist</a></p>\n</li>\n<li><p><a href=\"https://docs.google.com/document/d/12nZUU8xoKIEwu5FSQAUInP3OjMlR5kjw2V3lukFxKjg/edit?usp=sharing\">Client UX Checklist</a></p>\n</li>\n</ul>\n","_postman_id":"8853df0c-dcc9-44a7-8999-1652fd1b92d8"}],"id":"6cf59cc3-1a29-436a-970d-916fc4844e82","description":"<p>To get Production access, a signed contract must exist between Token.io and yourselves.</p>\n<p>Furthermore, all Production integrations must use JSON Web Tokens (JWT) as the API authentication mechanism.</p>\n","_postman_id":"6cf59cc3-1a29-436a-970d-916fc4844e82"},{"name":"Useful reading","item":[{"name":"Bank Authentication Mechanisms","item":[],"id":"615a5da0-dd34-4e5a-9c5f-7397747b8d2f","description":"<img src=\"https://content.pstmn.io/aebb647c-6d95-4cc0-9b36-ac483a566092/U2NyZWVuc2hvdCAyMDIyLTEyLTI4IGF0IDE3LjUxLjQyLnBuZw==\" width=\"490\" height=\"305\" />","_postman_id":"615a5da0-dd34-4e5a-9c5f-7397747b8d2f"},{"name":"Reconcilliation","item":[],"id":"546c040b-32d7-4b2f-8879-86c1b5be04a6","description":"<p>When clients create the Payment Initiation Request via API to Token's platform, the client will set the reconciliation identifiers.</p>\n<p>These are then passed through unmodified to the originating bank.</p>\n<p>The originating bank then sends these fields unmodified to the payment rail and the beneficiary institution.</p>\n<blockquote>\n<p><em><strong>TLDR:</strong></em> <em>As reconciliation identifiers are set by clients initially, and these remain constant throughout the payment lifecycle, clients are able to use these values to reconcile incoming bank credits with Payment Initiation Requests via Token.io.</em> </p>\n</blockquote>\n<h3 id=\"v2-payment-reconciliation\">V2 Payment Reconciliation</h3>\n<p>In V2 both the <code>refId</code> and <code>remittanceInformationPrimary</code> fields are mandatory.</p>\n<p>The mapping is as below - as <code>remittanceInformation.reference</code> will always be populated for a V2 payment request, we can expect the <code>remittanceInformationPrimary</code> to always show in the bank statement:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>request body:\n{\n  \"Data\": {\n    \"ReadRefundAccount\": \"Yes\",\n    \"Initiation\": {\n      \"InstructionIdentification\": \"TEST1684145178\",// refId\n      \"EndToEndIdentification\": \"TEST1684145178\", //refId\n      \"LocalInstrument\": \"UK.OBIE.FPS\",\n      \"InstructedAmount\": {\n        \"Amount\": \"1.00\",\n        \"Currency\": \"GBP\"\n      },\n      \"CreditorAccount\": {\n        \"SchemeName\": \"UK.OBIE.SortCodeAccountNumber\",\n        \"Identification\": \"50000012345601\",\n        \"Name\": \"Zalando Ltd\"\n      },\n      \"RemittanceInformation\": {\n        \"Unstructured\": \"RMTNC2TEST1684145178\", //remittanceInformationSecondary\n        \"Reference\": \"RMTNC1TEST1684145178\" //remittanceInformationPrimary\n      }\n    }\n  },\n  \"Risk\": {\n    \"PaymentContextCode\": \"Other\"\n  }\n}\n\n</code></pre>","_postman_id":"546c040b-32d7-4b2f-8879-86c1b5be04a6"},{"name":"Payment Rails and Timings","item":[],"id":"56f2381a-2c71-4832-b34f-97afe6862a27","description":"<p>Token.io provides support for the primary payment rails in connected markets.</p>\n<ul>\n<li><strong>SEPA</strong> - has an execution time of up to 3-5 days. This is due to banks not being obliged to process payments outside of <em>business days.</em></li>\n<li><strong>SEPA Instant</strong> - has a 20 second SLA for settlement after successful payment initiation. This usually starts from the moment the PSU successfully authorises the payment at their bank.</li>\n<li><strong>Faster Payments</strong> - has a 2h SLA for settlement after successful payment initiation.<br />  Additionally, we have seen that in most cases ~99,42% we receive a final status during the first 2 minutes. This taking into account that this data is based on clients using webhooks and is dependant on our polling logic.</li>\n<li><strong>EU_DOMESTIC_NON_EURO - (Hungary, Poland, Romania, Sweden, Norway)</strong> - Vary depending on specific region. More information available on request.</li>\n</ul>\n<img src=\"https://content.pstmn.io/3d4ccdde-b405-45da-a438-5565ddefa513/cGF5bWVudCBpbml0aWF0aW9uIHRpbWVsaW5lcy5wbmc=\" />","_postman_id":"56f2381a-2c71-4832-b34f-97afe6862a27"},{"name":"IBAN Discrimination","item":[],"id":"fdbdd4f6-34e7-403d-ab5b-4680e86f610b","description":"<p>IBAN discrimination is where the originating bank (the PSU bank), refuses to send funds to a beneficiary (the merchant) IBAN in a different jurisdiction (e.g. because the IBAN is in a different country to the originator).</p>\n<p>Whilst still an obstacle in Cross-Border Open Banking Payment flows, the direction of travel at regulatory level is that this is fundamentally racism in payments, has been identified as an issue, and Token.io are part of groups that feed this bank behaviour back to the regulator, who works to remove this discrimination.</p>\n<blockquote>\n<p><em><strong>TLDR:</strong></em> <em>Token.io are able to draw on their vast experience with their portfolio of clients to quickly identify banks exhibiting this behaviour and suggest workarounds until this is rectified at bank level. Options include Local Settlement Accounts, and recommendations to downgrade SEPA INSTANT Payments to SEPA payments.</em></p>\n</blockquote>\n","_postman_id":"fdbdd4f6-34e7-403d-ab5b-4680e86f610b"},{"name":"API Capabilities - Polling/ Webhooks","item":[],"id":"3e1d1c21-dff8-4689-b1c3-61629c3f01ce","description":"<p>Token.io provides 2 options for clients to obtain the current payment initiation status.</p>\n<p>Using <strong>Webhooks</strong>, Token will poll the bank for all open transfers every 90 seconds.</p>\n<p><em>This is recommended for cases where the transaction is not happening in person.</em></p>\n<p>Using <strong>Polling</strong>: Token will forward polling requests from clients to the bank in real-time.</p>\n<p>This is executed by the client via GET /v2/payments/{{paymentId}}<br /><em>This is recommended for point of sale use cases.</em></p>\n<blockquote>\n<p><em><strong>TLDR:</strong></em><br /><em>Polling is best in person.</em><br /><em>Webhooks are great for async uses.</em><br /><em>Token.io supports both.</em> </p>\n</blockquote>\n<img src=\"https://content.pstmn.io/e605feb2-f554-4132-bac3-f18932764155/aW1hZ2UgKDUxKS5wbmc=\" />","_postman_id":"3e1d1c21-dff8-4689-b1c3-61629c3f01ce"}],"id":"c339a59f-3937-4db9-b262-f2f00fa6b41b","_postman_id":"c339a59f-3937-4db9-b262-f2f00fa6b41b","description":""}]}