{"componentChunkName":"component---src-templates-article-template-tsx","path":"/co/en/payouts/transfer/breb","result":{"data":{"article":{"title":"Dispersa con Bre-B","subtitle":null,"fullWidth":null,"hero":null,"heroTextColor":null,"heroImg":null,"content":[{"body":{"childMdx":{"body":"var _excluded = [\"components\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {};\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\nvar Aside = makeShortcode(\"Aside\");\nvar CodeTabs = makeShortcode(\"CodeTabs\");\nvar NextStep = makeShortcode(\"NextStep\");\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"Disbursing payments with Bre-B means delivering funds in real time to your users using only the recipient\\u2019s payment key \\u2014 without needing to know their bank account number. The key can be their national ID, phone number, email address, alphanumeric alias, or merchant code.\"), mdx(\"p\", null, \"Ideal for:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Supplier or vendor payments\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Marketplaces\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Delivery applications\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Gig economy platforms\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Refunds and compensations\")), mdx(Aside, {\n    title: \"Important\",\n    type: \"danger\",\n    mdxType: \"Aside\"\n  }, mdx(\"p\", null, \"Available exclusively for Colombia with the Bre-B processor configured on your MID. Due to our risk policies, available payment methods and integration types may vary at the time of onboarding. We will let you know how to proceed if this applies to your business.\")), mdx(\"h2\", {\n    \"id\": \"operation-details\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h2\",\n    \"href\": \"#operation-details\",\n    \"aria-label\": \"operation details permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"Operation details\"), mdx(\"p\", null, \"The Bre-B disbursement process in Colombia follows this flow: Merchant \\u2192 Kushki \\u2192 Banco de la Rep\\xFAblica (SPBVI) \\u2192 Receiving Bank \\u2192 Beneficiary.\"), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"strong\", {\n    parentName: \"th\"\n  }, \"Parameter\")), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"strong\", {\n    parentName: \"th\"\n  }, \"Detail\")))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"Minimum amount per transaction\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"1 COP\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"Maximum amount per transaction\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Equivalent to 1,000 UVT (Tax Value Units, updated annually by the DIAN). Each financial institution or user may set lower daily or per-transaction limits.\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"Currency\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"COP\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"Available banks\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"All Colombian banks (Banco de la Rep\\xFAblica regulation)\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"API processing hours\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"24/7\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"Settlement time\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Real-time (maximum 30 seconds from initiation)\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"Response type\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Asynchronous \\u2014 the final result is delivered via webhook or by querying the Get Status endpoint\")))), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Important note:\"), \" The Kushki API accepts and processes requests 24/7. Unlike ACH, Bre-B does not use banking cycles \\u2014 processing is real-time through the SPBVI of the Banco de la Rep\\xFAblica. You do not need to query the bank list before tokenizing.\")), mdx(\"h2\", {\n    \"id\": \"flow\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h2\",\n    \"href\": \"#flow\",\n    \"aria-label\": \"flow permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"Flow\"), mdx(\"p\", null, \"The flow you will integrate is the following:\"), mdx(\"p\", null, mdx(\"span\", {\n    parentName: \"p\",\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"maxWidth\": \"1200px\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\"\n    }\n  }, \"\\n        \", mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"56.2799043062201%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAXCAMAAABODP0nAAACnVBMVEXx8vbo6e7q6+/p6u7l5uvr7PDs7fHm5+v29/v19vr29vr19vnw8fXy8/f09Pjy8/bg4eXc3eLd3uPj5Onh4ubh4uff4OXi4+ff4eXb3OHj5Oj29/rZ2uD3+Pv4+Pzk5On3+Pzz9Pj09fnt7vLz9fjW3vrv8frf6url7e7o6e3j4+fe3+Pi4+b3+PrL1frt8PrW6ufe7Ov08/jq6u7P1OTf4uvy8vbx8vTJ0/ju8Pr49/zW6ebf7Ov19fnl5/Hs7fPz8/f09fjz9PfK1fnV6ebf7Oz39/vp6+/e4OXd3+Xe3+Xl5+vp6u/L1vre7e3f6+3w8Pbv8fbw8fbs7vPo6u/q6/Hr7PHN1Obf4uzs7vLq7PHw8PTv8PTx8vXK1Pn19/z07+737+f59vD59vH38+728ez38+328uz69/Hz7Oz18/f38vH28vL1+P345dn+z6D+79r+9uX679305dLv28bw3srv28fw3cn57Nr98+H99eP99OL+9OH13db15uP6z63607b18/X19/v07er569369ez59e327+f27+b28Of38ej48+r59ez69Oz69Ovz6OX08vb29Pbh5vry8/r39/zc7Ozl8PL29/zz9Pnw8vbk5urx8/fT3Prd6+ry8vfk5eno6ezP0+Pe4Ojp6e3w8fPH0vjo7Pru7/Ps7fLg7ezu8Pf19vjM1fnn6/vl5+3a2+Hi4+je6+r19Pnz8/jm5+zd3+ni5Orn6Oz09ffn7Pvt7/Pc6unz8vfd4O7o6/Lu7/T29/nM1vrm6O7a3OHi5On19fr09Pne3+bp6vDK1Prp7Prf7ezo6u7h4ujx5Ov18vf39/rm8PDr8vPx8vfq6/Dg4efw5Ov19/rd4/rw8vru8PT09frl5urk5ert7vNTLsNCAAACaklEQVQoz3WSW4iMcRjGf883x28OO7PfYGdy+iwRarPjmEKUXFDKlTa2VpYLRS6EK5RCrqQkcqEUESFcsIhyQ1bu5GId166d2Vk57GAOfxffzGyS5+6tX8///z7PKyRjGUsSJYICSSpJBsAEVa0YABT3yVOJ4IjPoGogJg0LAFNp+fkDAHxWc2goGM8ng6GQRoF0U2QolU8nvgGkopGIv+iBgdEw6UB0MFTN2RHbToZHkqkvdqLP5xQl2wkERj1QNox3pF7qstqlXqv9KQCLpfeFBtgu6WMNE/Qtl561TH0LME2jNdAPYEuDHle0WD1TUundnDc28DubrzvYsCwseVtKwsvgIq1LhLH0Mj/mmFEdoCQISFKIT9dAzSnVHP1Ak/7Vfh3hL/mBrzMkSSBV/B7HPi9wtupoLQxgoeMkyslEItEUf1WMPYlG90R24QByiJx0jDHGOF48W7Sz/sSvM5JU6bkOwGmpY/phdU42HrizK934zADnC7vJeMMxSdp+BjZbAIQvGeOeMFNyrjHlK9Ep14rGdV3XdeM3Y13R4qmNO0rYtr103r2esfVisfsPYvUh0Xl10zrfulsPw36AaOGcjVUFFvRWz3YU1/taP2fprVrVG8pvW79mrz54FfL9gDbBRPr7WyhGU0+WmAkfmQDDh45O3jdy57FJyuu6bcV8M/fgYOYAB1fuIKRwrXq9pvv8WigU8IMTOy6YtCHkasOW4DiZ8N0XWWqBJy6vqp9ZJjf7wvPbrO0upyu5FD1ZMgONzfSyjUYzZubXhRuvLFoxcdYjFQpZGOMwbYyd2YJ+9xnwLW5U5r/6A52xvXqiM1EWAAAAAElFTkSuQmCC')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  }, \"\\n          \", mdx(\"picture\", {\n    parentName: \"span\"\n  }, \"\\n          \", mdx(\"source\", {\n    parentName: \"picture\",\n    \"srcSet\": [\"https://images.ctfassets.net/mmjbm94f6iyd/5k73k20BifJEkiTe4IF4DI/32100433cc0ef117977d1ef606d97740/flujo_tranfer_ou_EN.png?w=418&fm=webp 418w\", \"https://images.ctfassets.net/mmjbm94f6iyd/5k73k20BifJEkiTe4IF4DI/32100433cc0ef117977d1ef606d97740/flujo_tranfer_ou_EN.png?w=836&fm=webp 836w\", \"https://images.ctfassets.net/mmjbm94f6iyd/5k73k20BifJEkiTe4IF4DI/32100433cc0ef117977d1ef606d97740/flujo_tranfer_ou_EN.png?w=1672&fm=webp 1672w\"],\n    \"sizes\": \"(max-width: 1200px) 100vw, 1200px\",\n    \"type\": \"image/webp\"\n  }), \"\\n          \", mdx(\"source\", {\n    parentName: \"picture\",\n    \"srcSet\": [\"https://images.ctfassets.net/mmjbm94f6iyd/5k73k20BifJEkiTe4IF4DI/32100433cc0ef117977d1ef606d97740/flujo_tranfer_ou_EN.png?w=418 418w\", \"https://images.ctfassets.net/mmjbm94f6iyd/5k73k20BifJEkiTe4IF4DI/32100433cc0ef117977d1ef606d97740/flujo_tranfer_ou_EN.png?w=836 836w\", \"https://images.ctfassets.net/mmjbm94f6iyd/5k73k20BifJEkiTe4IF4DI/32100433cc0ef117977d1ef606d97740/flujo_tranfer_ou_EN.png?w=1672 1672w\"],\n    \"sizes\": \"(max-width: 1200px) 100vw, 1200px\"\n  }), \"\\n          \", mdx(\"img\", {\n    parentName: \"picture\",\n    \"className\": \"gatsby-resp-image-image\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\",\n      \"boxShadow\": \"inset 0px 0px 0px 400px transparent\"\n    },\n    \"alt\": \"Flujo breb EN\",\n    \"title\": \"\",\n    \"src\": \"https://images.ctfassets.net/mmjbm94f6iyd/5k73k20BifJEkiTe4IF4DI/32100433cc0ef117977d1ef606d97740/flujo_tranfer_ou_EN.png\",\n    \"loading\": \"lazy\"\n  }), \"\\n        \"), \"\\n        \"), \"\\n      \")), mdx(\"p\", null, \"Here you will learn how to integrate Bre-B money disbursements.\"), mdx(\"h2\", {\n    \"id\": \"1-tokenize-the-information\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h2\",\n    \"href\": \"#1-tokenize-the-information\",\n    \"aria-label\": \"1 tokenize the information permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"1. Tokenize the information\"), mdx(\"p\", null, \"The first step is to obtain a token by sending the recipient\\u2019s key to Kushki. Unlike ACH, \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"you do not need to query the bank list\"), \" before this step \\u2014 all Colombian banks support key-based transfers by Banco de la Rep\\xFAblica regulation.\"), mdx(\"p\", null, \"You must make the token request using our \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://api-docs.kushkipagos.com/docs/API-REFERENCE/transfer-out/request-a-transfer-out-token\"\n  }, \"tokenization endpoint\"), \".\"), mdx(\"h3\", {\n    \"id\": \"required-fields-to-obtain-the-token\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h3\",\n    \"href\": \"#required-fields-to-obtain-the-token\",\n    \"aria-label\": \"required fields to obtain the token permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"Required fields to obtain the token\"), mdx(\"p\", null, \"Take into account the required fields in the token request body for Bre-B:\"), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"strong\", {\n    parentName: \"th\"\n  }, \"Disbursement with Bre-B key (accountType = \", mdx(\"inlineCode\", {\n    parentName: \"strong\"\n  }, \"KI\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"strong\"\n  }, \"KP\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"strong\"\n  }, \"KE\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"strong\"\n  }, \"KA\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"strong\"\n  }, \"KM\"), \")\")))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"- \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"accountType\"), \" \", mdx(\"br\", null), \" - \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"accountNumber\"), \" \", mdx(\"br\", null), \" - \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"totalAmount\"), \" \", mdx(\"br\", null), \" - \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"currency\"))))), mdx(\"p\", null, \"The fields \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"documentType\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"documentNumber\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"bankId\"), \", and \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"name\"), \" are \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"optional\"), \" for Bre-B in Colombia.\"), mdx(\"h3\", {\n    \"id\": \"key-types-accounttype\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h3\",\n    \"href\": \"#key-types-accounttype\",\n    \"aria-label\": \"key types accounttype permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"Key types (\", mdx(\"inlineCode\", {\n    parentName: \"h3\"\n  }, \"accountType\"), \")\"), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"th\"\n  }, \"accountType\")), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Key type\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"KI\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"National identification number\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"KP\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Mobile phone number\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"KE\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Email address\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"KA\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Alphanumeric alias\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"KM\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Merchant code\")))), mdx(\"h3\", {\n    \"id\": \"valid-formats-for-accountnumber\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h3\",\n    \"href\": \"#valid-formats-for-accountnumber\",\n    \"aria-label\": \"valid formats for accountnumber permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"Valid formats for \", mdx(\"inlineCode\", {\n    parentName: \"h3\"\n  }, \"accountNumber\")), mdx(\"p\", null, \"The \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"accountNumber\"), \" format is validated before sending any request to the payment network (fail-fast). An invalid format returns \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"HTTP 400\"), \" immediately, without reaching the network.\"), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"th\"\n  }, \"accountType\")), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Required format for \", mdx(\"inlineCode\", {\n    parentName: \"th\"\n  }, \"accountNumber\")))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"KI\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Uppercase alphanumeric characters. Minimum 1 character. No spaces or special characters.\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"KP\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Exactly 10 digits. Must start with \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"3\"), \", followed by 9 digits.\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"KE\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Valid email address. Maximum 30 characters before \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"@\"), \" and 61 after. Must include a valid domain.\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"KA\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Must start with \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"@\"), \". Uppercase alphanumeric characters only. No spaces or special characters.\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"KM\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Exactly 10 digits. Must start with \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"00\"), \", followed by 8 digits.\")))), mdx(CodeTabs, {\n    group: \"backend\",\n    mdxType: \"CodeTabs\"\n  }, mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-javascript\"\n  }, \"var request = require('request');\\n\\n// Example with mobile phone key (KP)\\nvar options = {\\n  'method': 'POST',\\n  'url': 'https://api-uat.kushkipagos.com/payouts/transfer/v1/tokens', // Test environment\\n  'headers': {\\n    'Public-Merchant-Id': '', // Replace with your Public Key\\n    'Content-Type': 'application/json'\\n  },\\n  body: JSON.stringify({\\n    \\\"accountType\\\": \\\"KP\\\",\\n    \\\"accountNumber\\\": \\\"3001234567\\\",\\n    \\\"totalAmount\\\": 1000,\\n    \\\"currency\\\": \\\"COP\\\"\\n  })\\n};\\nrequest(options, function (error, response) {\\n  if (error) throw new Error(error);\\n  var jsonData = JSON.parse(response.body);\\n  console.log('Token:', jsonData.token);\\n  // Show jsonData.keyResolution to the user to confirm the recipient\\n  console.log('Recipient:', jsonData.keyResolution.ownerName);\\n});\\n\")), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-python\"\n  }, \"import requests\\nimport json\\n\\n# Example with mobile phone key (KP)\\nurl = \\\"https://api-uat.kushkipagos.com/payouts/transfer/v1/tokens\\\" # Test environment\\n\\npayload = json.dumps({\\n  \\\"accountType\\\": \\\"KP\\\",\\n  \\\"accountNumber\\\": \\\"3001234567\\\",\\n  \\\"totalAmount\\\": 1000,\\n  \\\"currency\\\": \\\"COP\\\"\\n})\\nheaders = {\\n  'Public-Merchant-Id': '',  # Replace with your Public Key\\n  'Content-Type': 'application/json'\\n}\\n\\nresponse = requests.request(\\\"POST\\\", url, headers=headers, data=payload)\\ndata = response.json()\\n\\nprint('Token:', data['token'])\\n# Show data['keyResolution'] to the user to confirm the recipient\\nprint('Recipient:', data['keyResolution']['ownerName'])\\n\")), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-php\"\n  }, \"$client = new http\\\\Client;\\n$request = new http\\\\Client\\\\Request;\\n\\n// Example with mobile phone key (KP)\\n$request->setRequestUrl('https://api-uat.kushkipagos.com/payouts/transfer/v1/tokens'); // Test environment\\n$request->setRequestMethod('POST');\\n$body = new http\\\\Message\\\\Body;\\n$body->append(json_encode([\\n  \\\"accountType\\\" => \\\"KP\\\",\\n  \\\"accountNumber\\\" => \\\"3001234567\\\",\\n  \\\"totalAmount\\\" => 1000,\\n  \\\"currency\\\" => \\\"COP\\\"\\n]));\\n$request->setBody($body);\\n$request->setOptions(array());\\n$request->setHeaders(array(\\n  'Public-Merchant-Id' => '', // Replace with your Public Key\\n  'Content-Type' => 'application/json'\\n));\\n$client->enqueue($request)->send();\\n$data = json_decode($client->getResponse()->getBody(), true);\\necho 'Token: ' . $data['token'];\\n// Show $data['keyResolution'] to the user to confirm the recipient\\necho 'Recipient: ' . $data['keyResolution']['ownerName'];\\n\"))), mdx(\"p\", null, \"The response includes the token \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"and\"), \" the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"keyResolution\"), \" object with the recipient\\u2019s data resolved by the payment network:\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-json\"\n  }, \"{\\n  \\\"token\\\": \\\"53de1cb6bbb54011a0a98053d48677e0\\\",\\n  \\\"keyResolution\\\": {\\n    \\\"keyValue\\\": \\\"3001234567\\\",\\n    \\\"ownerName\\\": \\\"M**** G**** L****\\\"\\n  }\\n}\\n\")), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Field\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Description\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"token\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Transaction token. Expires in \", mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"30 minutes\"), \". Single-use, regardless of the transaction result.\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"keyResolution.keyValue\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Exact value of the key, without any transformations.\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"keyResolution.ownerName\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Account holder name, returned \", mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"masked\"), \" by the payment network (e.g. \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"M**** G**** L****\"), \").\")))), mdx(Aside, {\n    type: \"info\",\n    mdxType: \"Aside\"\n  }, mdx(\"p\", null, \"See our \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://api-docs.kushkipagos.com/docs/API-REFERENCE/transfer-out/request-a-transfer-out-token\"\n  }, \"API Reference\"), \" for all available fields in the token request and response.\")), mdx(\"h2\", {\n    \"id\": \"2-confirm-the-recipient\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h2\",\n    \"href\": \"#2-confirm-the-recipient\",\n    \"aria-label\": \"2 confirm the recipient permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"2. Confirm the recipient\"), mdx(\"p\", null, \"Once you have obtained the token and the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"keyResolution\"), \" object, \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"you must show the operator or end user\"), \" the recipient\\u2019s information to confirm it is correct before initializing the transaction. This step is required by the Banco de la Rep\\xFAblica.\"), mdx(\"p\", null, \"Show the operator or user:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"The key value: \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"keyResolution.keyValue\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"The account holder name: \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"keyResolution.ownerName\"), \" (masked, e.g. \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"M**** G**** L****\"), \")\")), mdx(Aside, {\n    type: \"info\",\n    mdxType: \"Aside\"\n  }, mdx(\"p\", null, \"Keep in mind that you may not know the name of the key holder (for example, if you only have an ID number). The payment network resolves the name associated with that key so the user can confirm the recipient\\u2019s identity. Only proceed to the next step after receiving explicit confirmation.\")), mdx(\"h2\", {\n    \"id\": \"3-initialize-the-transaction\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h2\",\n    \"href\": \"#3-initialize-the-transaction\",\n    \"aria-label\": \"3 initialize the transaction permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"3. Initialize the transaction\"), mdx(\"p\", null, \"Once the recipient\\u2019s data has been confirmed, you must send the obtained token to start the disbursement process with Kushki. You must make a call to our \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://api-docs.kushkipagos.com/docs/API-REFERENCE/transfer-out/init-transaction\"\n  }, \"initialization endpoint\"), \" to start the payment. This step deducts the balance immediately from your disbursement account.\"), mdx(Aside, {\n    title: \"Check your balance before initializing\",\n    type: \"warning\",\n    mdxType: \"Aside\"\n  }, mdx(\"p\", null, \"Check your merchant funds in Kushki before initiating. You can verify your balance in the Console or using the \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://api-docs.kushkipagos.com/docs/online-payments/transfer-out/operations/get-a-wallet-v-1-merchant-balance\"\n  }, \"Balance for Payouts\"), \" endpoint.\")), mdx(Aside, {\n    type: \"info\",\n    mdxType: \"Aside\"\n  }, mdx(\"p\", null, \"Note that the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"webhooks\"), \" field in the Init request body must be sent as an \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"array\"), \". Wrap your configuration object in square brackets \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"[ ]\"), \".\")), mdx(CodeTabs, {\n    group: \"backend\",\n    mdxType: \"CodeTabs\"\n  }, mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-javascript\"\n  }, \"var request = require('request');\\nvar options = {\\n  'method': 'POST',\\n  'url': 'https://api-uat.kushkipagos.com/payouts/transfer/v1/init', // Test environment\\n  'headers': {\\n    'Private-Merchant-Id': '', // Replace with your Private Key\\n    'Content-Type': 'application/json'\\n  },\\n  body: JSON.stringify({\\n    \\\"token\\\": \\\"53de1cb6bbb54011a0a98053d48677e0\\\", // Replace with the token you received\\n    \\\"amount\\\": {\\n      \\\"subtotalIva\\\": 0,\\n      \\\"subtotalIva0\\\": 1000,\\n      \\\"iva\\\": 0\\n    },\\n    \\\"webhooks\\\": [\\n      {\\n        \\\"events\\\": [\\\"approvedTransaction\\\", \\\"declinedTransaction\\\"],\\n        \\\"urls\\\": [\\\"https://your-endpoint.com/webhook\\\"]\\n      }\\n    ]\\n  })\\n};\\nrequest(options, function (error, response) {\\n  if (error) throw new Error(error);\\n  var jsonData = JSON.parse(response.body);\\n  console.log('ticketNumber:', jsonData.ticketNumber);\\n  console.log('status:', jsonData.status);\\n  // Save the ticketNumber to query the status later\\n});\\n\")), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-python\"\n  }, \"import requests\\nimport json\\n\\nurl = \\\"https://api-uat.kushkipagos.com/payouts/transfer/v1/init\\\" # Test environment\\n\\npayload = json.dumps({\\n  \\\"token\\\": \\\"53de1cb6bbb54011a0a98053d48677e0\\\",  # Replace with the token you received\\n  \\\"amount\\\": {\\n    \\\"subtotalIva\\\": 0,\\n    \\\"subtotalIva0\\\": 1000,\\n    \\\"iva\\\": 0\\n  },\\n  \\\"webhooks\\\": [\\n    {\\n      \\\"events\\\": [\\\"approvedTransaction\\\", \\\"declinedTransaction\\\"],\\n      \\\"urls\\\": [\\\"https://your-endpoint.com/webhook\\\"]\\n    }\\n  ]\\n})\\nheaders = {\\n  'Private-Merchant-Id': '',  # Replace with your Private Key\\n  'Content-Type': 'application/json'\\n}\\n\\nresponse = requests.request(\\\"POST\\\", url, headers=headers, data=payload)\\ndata = response.json()\\n\\nprint('ticketNumber:', data['ticketNumber'])\\nprint('status:', data['status'])\\n# Save the ticketNumber to query the status later\\n\")), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-php\"\n  }, \"$client = new http\\\\Client;\\n$request = new http\\\\Client\\\\Request;\\n$request->setRequestUrl('https://api-uat.kushkipagos.com/payouts/transfer/v1/init'); // Test environment\\n$request->setRequestMethod('POST');\\n$body = new http\\\\Message\\\\Body;\\n$body->append(json_encode([\\n  \\\"token\\\" => \\\"53de1cb6bbb54011a0a98053d48677e0\\\", // Replace with the token you received\\n  \\\"amount\\\" => [\\n    \\\"subtotalIva\\\" => 0,\\n    \\\"subtotalIva0\\\" => 1000,\\n    \\\"iva\\\" => 0\\n  ],\\n  \\\"webhooks\\\" => [\\n    [\\n      \\\"events\\\" => [\\\"approvedTransaction\\\", \\\"declinedTransaction\\\"],\\n      \\\"urls\\\" => [\\\"https://your-endpoint.com/webhook\\\"]\\n    ]\\n  ]\\n]));\\n$request->setBody($body);\\n$request->setOptions(array());\\n$request->setHeaders(array(\\n  'Private-Merchant-Id' => '', // Replace with your Private Key\\n  'Content-Type' => 'application/json'\\n));\\n$client->enqueue($request)->send();\\n$data = json_decode($client->getResponse()->getBody(), true);\\necho 'ticketNumber: ' . $data['ticketNumber'];\\necho 'status: ' . $data['status'];\\n// Save the ticketNumber to query the status later\\n\"))), mdx(Aside, {\n    type: \"info\",\n    mdxType: \"Aside\"\n  }, mdx(\"p\", null, \"See our \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://api-docs.kushkipagos.com\"\n  }, \"API Reference\"), \" for more information on available response fields, including \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"fullResponse V2\"), \" where the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"keyResolution\"), \" object is included inside \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"details\"), \".\")), mdx(\"p\", null, \"The response delivers a \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"ticket number\"), \" and the \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"transaction status\"), \":\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-json\"\n  }, \"{\\n  \\\"status\\\": \\\"INITIALIZED\\\",\\n  \\\"ticketNumber\\\": \\\"1234567890\\\",\\n  \\\"transactionReference\\\": \\\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\\\"\\n}\\n\")), mdx(\"h2\", {\n    \"id\": \"4-query-the-transaction-status\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h2\",\n    \"href\": \"#4-query-the-transaction-status\",\n    \"aria-label\": \"4 query the transaction status permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"4. Query the transaction status\"), mdx(\"p\", null, \"Now that the disbursement is in process, you can check the transaction status using \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notifications/webhooks/webhook-transfer-out\"\n  }, \"webhooks\"), \" or by querying manually using our \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://api-docs.kushkipagos.com/docs/API-REFERENCE/transfer-out/get-status\"\n  }, \"API\"), \".\"), mdx(\"h3\", {\n    \"id\": \"webhook\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h3\",\n    \"href\": \"#webhook\",\n    \"aria-label\": \"webhook permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"Webhook\"), mdx(\"p\", null, \"The transaction status is automatically notified at the moment the transfer is approved or declined. The payload includes the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"keyResolution\"), \" object with \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"keyValue\"), \" and \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"ownerName\"), \".\"), mdx(Aside, {\n    mdxType: \"Aside\"\n  }, mdx(\"p\", null, \"To configure a webhook on your test merchant, you must notify our agents specifying the URL and the payment method via email. When you receive the notification, always respond with \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"HTTP 200\"), \".\")), mdx(\"h3\", {\n    \"id\": \"api\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h3\",\n    \"href\": \"#api\",\n    \"aria-label\": \"api permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"API\"), mdx(\"p\", null, \"You can use our \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://api-docs.kushkipagos.com/docs/API-REFERENCE/transfer-out/get-status\"\n  }, \"Get Status\"), \" endpoint to manually query the status of a specific transaction.\"), mdx(CodeTabs, {\n    group: \"backend\",\n    mdxType: \"CodeTabs\"\n  }, mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-javascript\"\n  }, \"var request = require('request');\\nvar options = {\\n  'method': 'GET',\\n  'url': 'https://api-uat.kushkipagos.com/payouts/transfer/v1/transaction/{{ticketNumber}}', // Replace {{ticketNumber}}\\n  'headers': {\\n    'Private-Merchant-Id': '' // Replace with your Private Key\\n  }\\n};\\nrequest(options, function (error, response) {\\n  if (error) throw new Error(error);\\n  console.log(response.body);\\n});\\n\")), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-python\"\n  }, \"import requests\\n\\nticket_number = \\\"1234567890\\\"  # Replace with the ticketNumber you received\\nurl = f\\\"https://api-uat.kushkipagos.com/payouts/transfer/v1/transaction/{ticket_number}\\\"\\n\\nheaders = {\\n  'Private-Merchant-Id': ''  # Replace with your Private Key\\n}\\n\\nresponse = requests.request(\\\"GET\\\", url, headers=headers)\\nprint(response.text.encode('utf8'))\\n\")), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-php\"\n  }, \"$client = new http\\\\Client;\\n$request = new http\\\\Client\\\\Request;\\n$ticketNumber = \\\"1234567890\\\"; // Replace with the ticketNumber you received\\n$request->setRequestUrl(\\\"https://api-uat.kushkipagos.com/payouts/transfer/v1/transaction/{$ticketNumber}\\\");\\n$request->setRequestMethod('GET');\\n$request->setOptions(array());\\n$request->setHeaders(array(\\n  'Private-Merchant-Id' => '' // Replace with your Private Key\\n));\\n$client->enqueue($request)->send();\\n$response = $client->getResponse();\\necho $response->getBody();\\n\"))), mdx(Aside, {\n    type: \"info\",\n    mdxType: \"Aside\"\n  }, mdx(\"p\", null, \"For Bre-B transactions, the fields \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"bankId\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"documentNumber\"), \", and \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"documentType\"), \" return \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"empty or null\"), \" in the response. Recipient information will only be available in the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"keyResolution\"), \" object.\")), mdx(\"h2\", {\n    \"id\": \"5-test-your-integration\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h2\",\n    \"href\": \"#5-test-your-integration\",\n    \"aria-label\": \"5 test your integration permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"5. Test your integration\"), mdx(\"p\", null, \"The Bre-B UAT environment runs on a payment network sandbox. Responses are \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"simulated\"), \" and replicate production behavior, but do not generate real money movements or network operations.\"), mdx(Aside, {\n    type: \"info\",\n    mdxType: \"Aside\"\n  }, mdx(\"p\", null, \"The test values below are exclusive to the UAT environment (\", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"api-uat.kushkipagos.com\"), \"). Do not use them in production.\")), mdx(\"h3\", {\n    \"id\": \"successful-key-resolution\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h3\",\n    \"href\": \"#successful-key-resolution\",\n    \"aria-label\": \"successful key resolution permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"Successful key resolution\"), mdx(\"p\", null, \"Use these values to obtain a token with a resolved \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"keyResolution\"), \". All of them return an approved transaction.\"), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"th\"\n  }, \"accountType\")), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Test \", mdx(\"inlineCode\", {\n    parentName: \"th\"\n  }, \"accountNumber\")), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Simulated \", mdx(\"inlineCode\", {\n    parentName: \"th\"\n  }, \"keyResolution.ownerName\")))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"KP\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"3001234567\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"JUAN PEREZ\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"KE\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"USUARIO@CORREO.COM\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"MARIA LOPEZ\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"KA\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"@COLOMBIA\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"ANA MARTINEZ\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"KM\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"0012345678\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"COMERCIO PRINCIPAL SAS\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"KI\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"CC12345678\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"LUIS GOMEZ\"))))), mdx(Aside, {\n    type: \"info\",\n    title: \"ownerName in UAT\",\n    mdxType: \"Aside\"\n  }, mdx(\"p\", null, \"In the sandbox, \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"keyResolution.ownerName\"), \" is returned \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"unmasked\"), \" to make verification easier during development. In production, the name always arrives masked (e.g. \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"J*** P****\"), \").\")), mdx(\"h3\", {\n    \"id\": \"tokenization-errors-pt060\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h3\",\n    \"href\": \"#tokenization-errors-pt060\",\n    \"aria-label\": \"tokenization errors pt060 permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"Tokenization errors (PT060)\"), mdx(\"p\", null, \"Use these values to simulate an invalid or suspended key during the tokenization step. They return \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"PT060\"), \" before the transaction is initiated.\"), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"th\"\n  }, \"accountType\")), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Test \", mdx(\"inlineCode\", {\n    parentName: \"th\"\n  }, \"accountNumber\")), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Simulated scenario\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"KE\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"BLOCKED@TEST.COM\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Suspended key\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"KM\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"0011111111\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Key suspended by the participant\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"KP\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"3000005001\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Error during key resolution\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"KI\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"ERRDICE9994\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Unexpected error during resolution\")))), mdx(\"h3\", {\n    \"id\": \"payment-scenario-simulation-by-amount\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h3\",\n    \"href\": \"#payment-scenario-simulation-by-amount\",\n    \"aria-label\": \"payment scenario simulation by amount permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"Payment scenario simulation by amount\"), mdx(\"p\", null, \"To simulate error responses in payment processing, send the exact value indicated in the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"totalAmount\"), \" field of the tokenization request. If the amount \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"does not match\"), \" any value in the table, the transaction will result in \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"approved\"), \".\"), mdx(Aside, {\n    type: \"warning\",\n    title: \"These are simulations only\",\n    mdxType: \"Aside\"\n  }, mdx(\"p\", null, \"These amounts have no economic meaning. They are only scenario identifiers within the sandbox. Do not use them in production.\")), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Synchronous errors\"), \" \\u2014 returned directly in the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"/init\"), \" endpoint response, without waiting for the webhook:\"), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"th\"\n  }, \"totalAmount\")), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Kushki \", mdx(\"inlineCode\", {\n    parentName: \"th\"\n  }, \"responseCode\")), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Description\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"4001\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"002\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"An unexpected error occurred\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"4002\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"068\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Invalid amount\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"5001\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"073\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Transaction not permitted\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"5003\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"074\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Bank or account not registered\")))), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Asynchronous errors\"), \" \\u2014 delivered via webhook or when querying Get Status, after \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"/init\"), \" returns \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"INITIALIZED\"), \":\"), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"th\"\n  }, \"totalAmount\")), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Kushki \", mdx(\"inlineCode\", {\n    parentName: \"th\"\n  }, \"responseCode\")), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Description\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"6001\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"076\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Error processing the payment\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"4016\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"045\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Insufficient funds\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"4017\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"077\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Pending response from other banks\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"4019\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"077\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Pending response from other banks\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"4020\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"041\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"A system error occurred. Please try again\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"9999\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"002\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"An unexpected error occurred\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"4006\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"080\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Invalid destination account\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"4007\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"052\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Invalid account number\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"4010\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"088\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Account does not exist\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"4011\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"091\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Account with transaction block\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"4012\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"071\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Invalid transfer amount\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"4013\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"071\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Invalid transfer amount\")))), mdx(\"h2\", {\n    \"id\": \"6-prepare-your-certification\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"h2\",\n    \"href\": \"#6-prepare-your-certification\",\n    \"aria-label\": \"6 prepare your certification permalink\",\n    \"className\": \"anchor before\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  }))), \"6. Prepare your certification\"), mdx(\"p\", null, \"Take the following guidelines into account to pass the technical certification (required to obtain production credentials):\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Amount calculations are correct (\", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"subtotalIva\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"subtotalIva0\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"iva\"), \").\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"On-screen messages are shown in line with Kushki responses.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"All Kushki responses are saved and logged (required in case support is needed).\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"The \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"keyResolution\"), \" object is shown to the operator or user and explicit confirmation is required before initializing the transaction.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"The processor configured in the Console corresponds to Bre-B.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"If a receipt does not need to be sent to the client\\u2019s email, the email should not be included in the token request.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"If webhook notifications are received correctly, respond to the request with status 200.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"The disbursement button is disabled after the first click to prevent double submission.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"The Kushki logo must be visible to the client. You can find our logo in various formats \", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://s3.amazonaws.com/kushki-cdn-production/docs/Logo+Kushki.zip\"\n  }, \"here\"), \".\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Ensure that the request body includes all required fields as specified in the \", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://api-docs.kushkipagos.com\"\n  }, \"API reference\"), \".\")), mdx(\"hr\", null), mdx(NextStep, {\n    title: \"Accept webhooks\",\n    link: \"/notifications/webhooks/webhook-transfer-out\",\n    type: \"recommended\",\n    side: \"left\",\n    mdxType: \"NextStep\"\n  }, mdx(\"p\", null, \"Handle post-disbursement events the right way.\")), mdx(NextStep, {\n    title: \"Error codes\",\n    link: \"/payouts/transfer/breb-error-codes\",\n    side: \"right\",\n    type: \"recommended\",\n    mdxType: \"NextStep\"\n  }, mdx(\"p\", null, \"Check the error codes for Bre-B disbursements.\")));\n}\n;\nMDXContent.isMDXComponent = true;","excerpt":"Disbursing payments with Bre-B means delivering funds in real time to your users using only the recipient's payment key — without needing to…","timeToRead":4,"tableOfContents":{"items":[{"url":"#operation-details","title":"Operation details"},{"url":"#flow","title":"Flow"},{"url":"#1-tokenize-the-information","title":"1. Tokenize the information","items":[{"url":"#required-fields-to-obtain-the-token","title":"Required fields to obtain the token"},{"url":"#key-types-accounttype","title":"Key types (accountType)"},{"url":"#valid-formats-for-accountnumber","title":"Valid formats for accountNumber"}]},{"url":"#2-confirm-the-recipient","title":"2. Confirm the recipient"},{"url":"#3-initialize-the-transaction","title":"3. Initialize the transaction"},{"url":"#4-query-the-transaction-status","title":"4. Query the transaction status","items":[{"url":"#webhook","title":"Webhook"},{"url":"#api","title":"API"}]},{"url":"#5-test-your-integration","title":"5. Test your integration","items":[{"url":"#successful-key-resolution","title":"Successful key resolution"},{"url":"#tokenization-errors-pt060","title":"Tokenization errors (PT060)"},{"url":"#payment-scenario-simulation-by-amount","title":"Payment scenario simulation by amount"}]},{"url":"#6-prepare-your-certification","title":"6. Prepare your certification"}]}}},"updatedAt":"May 12, 2026","tabTitle":null}]}},"pageContext":{"country":"co","id":"04125eae-d125-5830-9cd4-043e6fb22a81","locale":"en","localeDateFormat":"MMMM DD, YYYY"}},"staticQueryHashes":["1632712422","2408418099","63159454"]}