{"metadata":{"image":[],"title":"","description":""},"api":{"url":"","auth":"required","results":{"codes":[]},"settings":"","params":[]},"next":{"description":"","pages":[]},"title":"Access Higher Limits","type":"basic","slug":"users-higher-limits","excerpt":"Allow Users access to higher transaction processing limits","body":"[block:callout]\n{\n  \"type\": \"danger\",\n  \"title\": \"Closed Beta API\",\n  \"body\": \"This API is in closed beta. \\n\\nIt contains overlapping functionality with the Accounts APIs. It is designed to eventually supersede the Accounts API eventually (for the case of individual end-users). Presently only a limited subset of functionality is available.\\n\\nBe aware that it is similar but not identical to the Accounts V3 API. Be careful to use the correct documentation when integrating.\"\n}\n[/block]\nThis document describes how Users can request and access higher processing limits. This flow touches a few endpoints such as [Create User](doc:create-user) and [Wallet Order Reservations](doc:wallet-order-reservations).\n\nUsers can access increased spending limits by going through an additional KYC process. See the chart below for the increased standard limits for USA and international users.\n[block:parameters]\n{\n  \"data\": {\n    \"0-0\": \"7,500 weekly\\n7,500 monthly\\n100,000 yearly\",\n    \"0-1\": \"10,000 weekly\\n25,000 monthly\\n250,000 yearly\",\n    \"h-0\": \"USA Limits (USD)\",\n    \"h-1\": \"International Limits (USD)\"\n  },\n  \"cols\": 2,\n  \"rows\": 1\n}\n[/block]\nHere is a simple flow of the process required to access higher limits:\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/8c60179-a5c22c88-1794-462b-8924-22d125d040d8.png\",\n        \"a5c22c88-1794-462b-8924-22d125d040d8.png\",\n        2433,\n        321,\n        \"#333\"\n      ]\n    }\n  ]\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Activating Higher Limits:\",\n  \"body\": \"1. [Create a User](#create-a-user)\\n2. [Onboarding Link](#onboarding-link)\\n3. [Higher Limits Approval](#higher-limits-approval)\\n4. [Create a Wallet Order Reservation](#create-a-wallet-order-reservation)\"\n}\n[/block]\n\n[block:api-header]\n{\n  \"title\": \"Create a User\"\n}\n[/block]\nFollow the steps required to [Create a User](doc:create-user). Take note of the returned user id. You will reference this when making the Wallet Order Reservation. The `scopes` parameter will need an additional item called \"DEBIT_CARD_L2.\" This additional scope will allow for higher limits.\n[block:callout]\n{\n  \"type\": \"warning\",\n  \"title\": \"Necessary Account Settings\",\n  \"body\": \"Wyre must manually configure the user scopes on your master account. This applies when your platform creates users with the \\\"DEBIT_CARD_L2\\\" scope. Please reach out to [sales](mailto:sales:::at:::sendwyre.com)\"\n}\n[/block]\n\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"//Note the \\\"scopes\\\" and addition of \\\"DEBIT_CARD_L2\\\"\\n{\\n  \\\"fields\\\": {},\\n  \\\"blockchains\\\":[\\\"ALL\\\"],\\n  \\\"immediate\\\": false,\\n  \\\"scopes\\\":[\\\"DEBIT_CARD_L2\\\"]\\n}\",\n      \"language\": \"json\"\n    }\n  ]\n}\n[/block]\n\n[block:api-header]\n{\n  \"title\": \"Onboarding Link\"\n}\n[/block]\nCreated users with the \"DEBIT_CARD_L2\" scope can access higher limits onboarding through a white label link. The endpoint below will return the link. \n\nGET `https://api.testwyre.com/v3/sumsub/users/:userId`\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"//The \\\"verificationLinkUrl\\\" is the onboarding link.\\n{\\n    \\\"accountId\\\": \\\"US_6J8WBL96H2Z\\\",\\n    \\\"sumSubApplicantId\\\": \\\"603806870aa6c4000ab1b238\\\",\\n    \\\"verificationLinkUrl\\\": \\\"https://test-api.sumsub.com/idensic/l/#/C4rW2BwBL3hj02Vu\\\"\\n}\",\n      \"language\": \"json\"\n    }\n  ]\n}\n[/block]\nWhen generating the SumSub onboarding URL, please note:\n1. The SumSub URL expires after 30 mins, so best practice is to NOT cache the url but always call the endpoint to generate a new URL.\n3. A timestamp is not required when making the call.\n4. Partners who are already integrated with SumSub can use the [SumSub SDK](https://developers.sumsub.com/web-sdk/#integration).\n\nAfter the user has been onboarded and approved. Your platform can create a Wallet Order Reservation with higher limits.\n[block:api-header]\n{\n  \"title\": \"Higher Limits Approval\"\n}\n[/block]\nWhen the onboarding flow is completed Wyre will approve the account. Once approved, the user should be redirected to a loading page, after a couple of seconds the loading page should bring the user to a success page.\n\nAccess to higher limits can then be verified by calling the [Limits API](doc:limits-api) as shown here:\nPOST `https://api.sendwyre.com/v3/widget/limits/calculate`\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"//The \\\"accountId\\\" is the id of the parent account initiating the request.\\n{\\n  \\\"accountId\\\":\\\"AC_1234567890\\\",\\n  \\\"userId\\\":\\\"US_123456789\\\"\\n}\",\n      \"language\": \"json\",\n      \"name\": \"Checking Limits\"\n    }\n  ]\n}\n[/block]\n\n[block:api-header]\n{\n  \"title\": \"Subsequent Wallet Order Reservations\"\n}\n[/block]\nThere is an additional required parameter for a higher limits [Wallet Order Reservation](doc:wallet-order-reservations). The `owner` parameter will require the id of the user that has been onboarded and approved higher limits. See the example below:\n\"owner\": \"user:US_XXXXXXXXXX\",\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"//Example WOR request body with \\\"owner\\\" parameter.\\n{\\n  \\\"sourceAmount\\\": 1,\\n  \\\"amountIncludeFees\\\": false,\\n  \\\"sourceCurrency\\\": \\\"USD\\\",\\n  \\\"destCurrency\\\": \\\"USD\\\",\\n  \\\"referrerAccountId\\\": \\\"AC_XXXXXXXXXX\\\",\\n  \\\"country\\\": \\\"US\\\",\\n  \\\"email\\\": \\\"[email protected]\\\",\\n  \\\"dest\\\": \\\"account:AC_CUVGQPNUG62\\\",\\n  \\\"city\\\": \\\"asd123asd123\\\",\\n  \\\"phone\\\": \\\"+14153195808\\\",\\n  \\\"paymentMethod\\\": \\\"google-pay\\\",\\n  \\\"redirectUrl\\\": \\\"http://google.com\\\",\\n  \\\"failureRedirectUrl\\\": \\\"http://google.com\\\",\\n  \\\"street1\\\": \\\"1234 Test Blvd\\\",  \\n  \\\"state\\\": \\\"CA\\\",\\n  \\\"postalCode\\\": \\\"94105\\\",\\n  \\\"firstName\\\": \\\"Adam\\\",\\n  \\\"lastName\\\": \\\"West\\\",\\n  \\\"owner\\\": \\\"user:US_XXXXXXXXXX\\\"\\n}\",\n      \"language\": \"json\"\n    }\n  ]\n}\n[/block]\nThis user's Wallet Order Reservation will be able to access higher limits for Card Processing.\n[block:api-header]\n{\n  \"title\": \"User Management\"\n}\n[/block]\nYou will need to store and map the returned user ids to users on your platform. The user id is required for higher limit wallet orders. You reference the user id in the `owner` field so that Wyre knows the user has already passed KYC.\n[block:api-header]\n{\n  \"title\": \"Checking Limits\"\n}\n[/block]\n\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"//POST /widget/limits/calculate\\n{\\n  \\\"accountId\\\":\\\"AC_1234567890\\\",\\n  \\\"userId\\\":\\\"US_123456789\\\"\\n}\",\n      \"language\": \"json\",\n      \"name\": \"POST /widget/limits/calculate\"\n    }\n  ]\n}\n[/block]\n\n[block:api-header]\n{\n  \"title\": \"Onboarding Screens\"\n}\n[/block]\nStep 1. Click Onboarding Link\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/f2dd317-verification.png\",\n        \"verification.png\",\n        1302,\n        1003,\n        \"#333\"\n      ],\n      \"caption\": \"\",\n      \"border\": false\n    }\n  ]\n}\n[/block]\nStep 2. Choose Document Type\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/e6cf9b5-document.png\",\n        \"document.png\",\n        1300,\n        1000,\n        \"#333\"\n      ],\n      \"caption\": \"\"\n    }\n  ]\n}\n[/block]\nStep 3. Take Seflie With Document\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/e3801a8-Selfie.png\",\n        \"Selfie.png\",\n        1301,\n        1000,\n        \"#333\"\n      ],\n      \"caption\": \"\"\n    }\n  ]\n}\n[/block]\nStep 4. Perform a \"Liveness\" Check\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/ff19e17-liveness.png\",\n        \"liveness.png\",\n        1301,\n        1001,\n        \"#333\"\n      ],\n      \"caption\": \"\"\n    }\n  ]\n}\n[/block]\nStep 5. Final Check\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/c2244df-final-check.png\",\n        \"final-check.png\",\n        1301,\n        1000,\n        \"#333\"\n      ],\n      \"caption\": \"Step 6. Final Check\"\n    }\n  ]\n}\n[/block]\nStep 6. Confirmation\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/04e7fdf-1d1e37d-onboarding.png\",\n        \"1d1e37d-onboarding.png\",\n        1421,\n        884,\n        \"#333\"\n      ],\n      \"caption\": \"\",\n      \"sizing\": \"80\"\n    }\n  ]\n}\n[/block]","updates":[],"order":1,"isReference":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"_id":"60146c694747a6024e3e4403","createdAt":"2021-01-29T20:13:30.003Z","user":"5f7f6ea298ba660011771f74","category":{"sync":{"isSync":false,"url":""},"pages":[],"title":"Card Processing","slug":"card-processing","order":4,"from_sync":false,"reference":false,"_id":"5f2768d05702ca0011f7655e","createdAt":"2020-08-03T01:30:56.397Z","version":"550f75de61d9d30d00af9e01","project":"550f74bb6fc8130d0038aad3","__v":0},"version":{"version":"3","version_clean":"3.0.0","codename":"","is_stable":true,"is_beta":true,"is_hidden":false,"is_deprecated":false,"categories":["550f75de61d9d30d00af9e02","551027e38579861900a86698","551029e08579861900a8669a","551029e7498062190006328a","5bc633a722d682005c9ad9e4","5bc633b08c4b0b000d6a7eaa","5bc633b48f3ff600626e3e18","5bc63538e5a6ba000d22ee6d","5bc63587a18a6b000decd295","5bc635c0937fcb0056223d9c","5bc6360f42f41800319aeaa6","5be5d13ff1d319002baca9ce","5be5d2287cd14d00291fbfdb","5be8b3b09f7cb70023c56a39","5be8b3cbb910100044e20206","5c1d769a4f6aed001fe527f0","5c402942010f0d001496dded","5e8127d61c906800374eeb1c","5f2768c98622b8005106544a","5f2768d05702ca0011f7655e","5f276e5348d2b600321aef9b","5f276fd300e519001139200a","5f9a2cb79dafe500259281a7","5fd92bf362bb7301b00e48ba"],"_id":"550f75de61d9d30d00af9e01","__v":24,"releaseDate":"2015-03-23T02:09:34.221Z","project":"550f74bb6fc8130d0038aad3","createdAt":"2015-03-23T02:09:34.221Z","forked_from":"550f74bb6fc8130d0038aad6"},"project":"550f74bb6fc8130d0038aad3","__v":0,"parentDoc":null}

Access Higher Limits

Allow Users access to higher transaction processing limits

[block:callout] { "type": "danger", "title": "Closed Beta API", "body": "This API is in closed beta. \n\nIt contains overlapping functionality with the Accounts APIs. It is designed to eventually supersede the Accounts API eventually (for the case of individual end-users). Presently only a limited subset of functionality is available.\n\nBe aware that it is similar but not identical to the Accounts V3 API. Be careful to use the correct documentation when integrating." } [/block] This document describes how Users can request and access higher processing limits. This flow touches a few endpoints such as [Create User](doc:create-user) and [Wallet Order Reservations](doc:wallet-order-reservations). Users can access increased spending limits by going through an additional KYC process. See the chart below for the increased standard limits for USA and international users. [block:parameters] { "data": { "0-0": "7,500 weekly\n7,500 monthly\n100,000 yearly", "0-1": "10,000 weekly\n25,000 monthly\n250,000 yearly", "h-0": "USA Limits (USD)", "h-1": "International Limits (USD)" }, "cols": 2, "rows": 1 } [/block] Here is a simple flow of the process required to access higher limits: [block:image] { "images": [ { "image": [ "https://files.readme.io/8c60179-a5c22c88-1794-462b-8924-22d125d040d8.png", "a5c22c88-1794-462b-8924-22d125d040d8.png", 2433, 321, "#333" ] } ] } [/block] [block:callout] { "type": "info", "title": "Activating Higher Limits:", "body": "1. [Create a User](#create-a-user)\n2. [Onboarding Link](#onboarding-link)\n3. [Higher Limits Approval](#higher-limits-approval)\n4. [Create a Wallet Order Reservation](#create-a-wallet-order-reservation)" } [/block] [block:api-header] { "title": "Create a User" } [/block] Follow the steps required to [Create a User](doc:create-user). Take note of the returned user id. You will reference this when making the Wallet Order Reservation. The `scopes` parameter will need an additional item called "DEBIT_CARD_L2." This additional scope will allow for higher limits. [block:callout] { "type": "warning", "title": "Necessary Account Settings", "body": "Wyre must manually configure the user scopes on your master account. This applies when your platform creates users with the \"DEBIT_CARD_L2\" scope. Please reach out to [sales](mailto:[email protected])" } [/block] [block:code] { "codes": [ { "code": "//Note the \"scopes\" and addition of \"DEBIT_CARD_L2\"\n{\n \"fields\": {},\n \"blockchains\":[\"ALL\"],\n \"immediate\": false,\n \"scopes\":[\"DEBIT_CARD_L2\"]\n}", "language": "json" } ] } [/block] [block:api-header] { "title": "Onboarding Link" } [/block] Created users with the "DEBIT_CARD_L2" scope can access higher limits onboarding through a white label link. The endpoint below will return the link. GET `https://api.testwyre.com/v3/sumsub/users/:userId` [block:code] { "codes": [ { "code": "//The \"verificationLinkUrl\" is the onboarding link.\n{\n \"accountId\": \"US_6J8WBL96H2Z\",\n \"sumSubApplicantId\": \"603806870aa6c4000ab1b238\",\n \"verificationLinkUrl\": \"https://test-api.sumsub.com/idensic/l/#/C4rW2BwBL3hj02Vu\"\n}", "language": "json" } ] } [/block] When generating the SumSub onboarding URL, please note: 1. The SumSub URL expires after 30 mins, so best practice is to NOT cache the url but always call the endpoint to generate a new URL. 3. A timestamp is not required when making the call. 4. Partners who are already integrated with SumSub can use the [SumSub SDK](https://developers.sumsub.com/web-sdk/#integration). After the user has been onboarded and approved. Your platform can create a Wallet Order Reservation with higher limits. [block:api-header] { "title": "Higher Limits Approval" } [/block] When the onboarding flow is completed Wyre will approve the account. Once approved, the user should be redirected to a loading page, after a couple of seconds the loading page should bring the user to a success page. Access to higher limits can then be verified by calling the [Limits API](doc:limits-api) as shown here: POST `https://api.sendwyre.com/v3/widget/limits/calculate` [block:code] { "codes": [ { "code": "//The \"accountId\" is the id of the parent account initiating the request.\n{\n \"accountId\":\"AC_1234567890\",\n \"userId\":\"US_123456789\"\n}", "language": "json", "name": "Checking Limits" } ] } [/block] [block:api-header] { "title": "Subsequent Wallet Order Reservations" } [/block] There is an additional required parameter for a higher limits [Wallet Order Reservation](doc:wallet-order-reservations). The `owner` parameter will require the id of the user that has been onboarded and approved higher limits. See the example below: "owner": "user:US_XXXXXXXXXX", [block:code] { "codes": [ { "code": "//Example WOR request body with \"owner\" parameter.\n{\n \"sourceAmount\": 1,\n \"amountIncludeFees\": false,\n \"sourceCurrency\": \"USD\",\n \"destCurrency\": \"USD\",\n \"referrerAccountId\": \"AC_XXXXXXXXXX\",\n \"country\": \"US\",\n \"email\": \"[email protected]\",\n \"dest\": \"account:AC_CUVGQPNUG62\",\n \"city\": \"asd123asd123\",\n \"phone\": \"+14153195808\",\n \"paymentMethod\": \"google-pay\",\n \"redirectUrl\": \"http://google.com\",\n \"failureRedirectUrl\": \"http://google.com\",\n \"street1\": \"1234 Test Blvd\", \n \"state\": \"CA\",\n \"postalCode\": \"94105\",\n \"firstName\": \"Adam\",\n \"lastName\": \"West\",\n \"owner\": \"user:US_XXXXXXXXXX\"\n}", "language": "json" } ] } [/block] This user's Wallet Order Reservation will be able to access higher limits for Card Processing. [block:api-header] { "title": "User Management" } [/block] You will need to store and map the returned user ids to users on your platform. The user id is required for higher limit wallet orders. You reference the user id in the `owner` field so that Wyre knows the user has already passed KYC. [block:api-header] { "title": "Checking Limits" } [/block] [block:code] { "codes": [ { "code": "//POST /widget/limits/calculate\n{\n \"accountId\":\"AC_1234567890\",\n \"userId\":\"US_123456789\"\n}", "language": "json", "name": "POST /widget/limits/calculate" } ] } [/block] [block:api-header] { "title": "Onboarding Screens" } [/block] Step 1. Click Onboarding Link [block:image] { "images": [ { "image": [ "https://files.readme.io/f2dd317-verification.png", "verification.png", 1302, 1003, "#333" ], "caption": "", "border": false } ] } [/block] Step 2. Choose Document Type [block:image] { "images": [ { "image": [ "https://files.readme.io/e6cf9b5-document.png", "document.png", 1300, 1000, "#333" ], "caption": "" } ] } [/block] Step 3. Take Seflie With Document [block:image] { "images": [ { "image": [ "https://files.readme.io/e3801a8-Selfie.png", "Selfie.png", 1301, 1000, "#333" ], "caption": "" } ] } [/block] Step 4. Perform a "Liveness" Check [block:image] { "images": [ { "image": [ "https://files.readme.io/ff19e17-liveness.png", "liveness.png", 1301, 1001, "#333" ], "caption": "" } ] } [/block] Step 5. Final Check [block:image] { "images": [ { "image": [ "https://files.readme.io/c2244df-final-check.png", "final-check.png", 1301, 1000, "#333" ], "caption": "Step 6. Final Check" } ] } [/block] Step 6. Confirmation [block:image] { "images": [ { "image": [ "https://files.readme.io/04e7fdf-1d1e37d-onboarding.png", "1d1e37d-onboarding.png", 1421, 884, "#333" ], "caption": "", "sizing": "80" } ] } [/block]