{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-products/smart_collections_brazil/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["partial","admonition"]},"type":"markdown"},"seo":{"title":"Phase 2: Payment Creation (Direct API)","description":"Belvo provides open finance products for Latin America that allow you to securely access and aggregate financial data as well as accept and issue bank-to-bank payments","siteUrl":"https://developers.belvo.com/","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"phase-2-payment-creation-direct-api","__idx":0},"children":["Phase 2: Payment Creation (Direct API)"]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning","name":"Beta"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Smart Collections is currently in Beta. Some contracts on this page are still being confirmed with our engineering team, so treat them as provisional and expect refinements before general availability, including:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Webhook payloads and event codes"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["API reference updates for the Collection Instructions, Payment Authorization, and Charge endpoints"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Field names and documentation improvements (terminology, diagrams)"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Contact your Belvo account manager to join the Beta program."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In Phase 2 of Smart Collections, you collect the funds with ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Smart Transfers"]},", Belvo's Payments product for moving money between accounts held by the same user. You create a Smart Transfers ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Payment Authorization"]}," once, and then trigger a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Charge"]}," each time Phase 1 tells you there are enough funds."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The full step-by-step integration, with every field, response, and status, is in the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/products/payments_brazil/payments-brazil-smart-transfers-api-guide","target":"_blank"},"children":["Direct API (Smart Transfers)"]}," guide. This page only covers what's specific to using Smart Transfers together with ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/products/smart_collections_brazil/smart-collections-balance-checking","target":"_blank"},"children":["Phase 1: Balance Checking"]},"."]},{"$$mdtype":"Tag","name":"Mermaid","attributes":{"data-language":"mermaid","diagramSource":"sequenceDiagram\n    participant Client as Your application\n    participant Aggregation as Belvo Aggregation API\n    participant Payments as Belvo Payments API\n\n    Client->>Payments: POST /payments/br/payment-authorizations/\n    Note over Client, Payments: Your user approves it at their bank\n    Payments->>Client: Webhook: PAYMENT_AUTHORIZATION\n    Client->>Payments: GET /payments/br/payment-authorizations/{id}/\n    Payments-->>Client: 200 OK (status: AUTHORIZED)\n\n    Aggregation->>Client: Webhook: item_ready_to_charge (data.amount)\n    Client->>Payments: POST /payments/br/payment-authorizations/{id}/charges/\n    Payments-->>Client: 201 Created\n    Payments->>Client: Webhook: CHARGE\n    Client->>Payments: GET /payments/br/payment-authorizations/{id}/charges/{charge_id}/\n    Payments-->>Client: 200 OK (status: SETTLED or FAILED)\n","diagramHtml":"<div class=\"mermaid\" data-processed=\"true\"><svg id=\"mermaid-1792178818100\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" style=\"max-width: 905.5px;\" viewBox=\"-50 -10 905.5 763\" role=\"graphics-document document\" aria-roledescription=\"sequence\"><g><rect x=\"638.5\" y=\"677\" fill=\"#eaeaea\" stroke=\"#666\" width=\"167\" height=\"65\" name=\"Payments\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"722\" y=\"709.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400;\"><tspan x=\"722\" dy=\"0\">Belvo Payments API</tspan></text></g><g><rect x=\"405.5\" y=\"677\" fill=\"#eaeaea\" stroke=\"#666\" width=\"183\" height=\"65\" name=\"Aggregation\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"497\" y=\"709.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400;\"><tspan x=\"497\" dy=\"0\">Belvo Aggregation API</tspan></text></g><g><rect x=\"0\" y=\"677\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"Client\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"75\" y=\"709.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400;\"><tspan x=\"75\" dy=\"0\">Your application</tspan></text></g><g><line id=\"actor2\" x1=\"722\" y1=\"65\" x2=\"722\" y2=\"677\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"Payments\"></line><g id=\"root-2\"><rect x=\"638.5\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"167\" height=\"65\" name=\"Payments\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"></rect><text x=\"722\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400;\"><tspan x=\"722\" dy=\"0\">Belvo Payments API</tspan></text></g></g><g><line id=\"actor1\" x1=\"497\" y1=\"65\" x2=\"497\" y2=\"677\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"Aggregation\"></line><g id=\"root-1\"><rect x=\"405.5\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"183\" height=\"65\" name=\"Aggregation\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"></rect><text x=\"497\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400;\"><tspan x=\"497\" dy=\"0\">Belvo Aggregation API</tspan></text></g></g><g><line id=\"actor0\" x1=\"75\" y1=\"65\" x2=\"75\" y2=\"677\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"Client\"></line><g id=\"root-0\"><rect x=\"0\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"Client\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"></rect><text x=\"75\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400;\"><tspan x=\"75\" dy=\"0\">Your application</tspan></text></g></g><style>#mermaid-1792178818100{font-family:\"trebuchet ms\",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-1792178818100 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-1792178818100 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-1792178818100 .error-icon{fill:#552222;}#mermaid-1792178818100 .error-text{fill:#552222;stroke:#552222;}#mermaid-1792178818100 .edge-thickness-normal{stroke-width:1px;}#mermaid-1792178818100 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-1792178818100 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-1792178818100 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-1792178818100 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-1792178818100 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-1792178818100 .marker{fill:#333333;stroke:#333333;}#mermaid-1792178818100 .marker.cross{stroke:#333333;}#mermaid-1792178818100 svg{font-family:\"trebuchet ms\",verdana,arial,sans-serif;font-size:16px;}#mermaid-1792178818100 p{margin:0;}#mermaid-1792178818100 .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-1792178818100 text.actor&gt;tspan{fill:black;stroke:none;}#mermaid-1792178818100 .actor-line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-1792178818100 .innerArc{stroke-width:1.5;stroke-dasharray:none;}#mermaid-1792178818100 .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-1792178818100 .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-1792178818100 #arrowhead path{fill:#333;stroke:#333;}#mermaid-1792178818100 .sequenceNumber{fill:white;}#mermaid-1792178818100 #sequencenumber{fill:#333;}#mermaid-1792178818100 #crosshead path{fill:#333;stroke:#333;}#mermaid-1792178818100 .messageText{fill:#333;stroke:none;}#mermaid-1792178818100 .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-1792178818100 .labelText,#mermaid-1792178818100 .labelText&gt;tspan{fill:black;stroke:none;}#mermaid-1792178818100 .loopText,#mermaid-1792178818100 .loopText&gt;tspan{fill:black;stroke:none;}#mermaid-1792178818100 .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-1792178818100 .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-1792178818100 .noteText,#mermaid-1792178818100 .noteText&gt;tspan{fill:black;stroke:none;}#mermaid-1792178818100 .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-1792178818100 .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-1792178818100 .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-1792178818100 .actorPopupMenu{position:absolute;}#mermaid-1792178818100 .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-1792178818100 .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-1792178818100 .actor-man circle,#mermaid-1792178818100 line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-1792178818100 :root{--mermaid-font-family:\"trebuchet ms\",verdana,arial,sans-serif;}</style><g></g><defs><symbol id=\"computer\" width=\"24\" height=\"24\"><path transform=\"scale(.5)\" d=\"M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z\"></path></symbol></defs><defs><symbol id=\"database\" fill-rule=\"evenodd\" clip-rule=\"evenodd\"><path transform=\"scale(.5)\" d=\"M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z\"></path></symbol></defs><defs><symbol id=\"clock\" width=\"24\" height=\"24\"><path transform=\"scale(.5)\" d=\"M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z\"></path></symbol></defs><defs><marker id=\"arrowhead\" refX=\"7.9\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M -1 0 L 10 5 L 0 10 z\"></path></marker></defs><defs><marker id=\"crosshead\" markerWidth=\"15\" markerHeight=\"8\" orient=\"auto\" refX=\"4\" refY=\"4.5\"><path fill=\"none\" stroke=\"#000000\" stroke-width=\"1pt\" d=\"M 1,2 L 6,7 M 6,2 L 1,7\" style=\"stroke-dasharray: 0, 0;\"></path></marker></defs><defs><marker id=\"filled-head\" refX=\"15.5\" refY=\"7\" markerWidth=\"20\" markerHeight=\"28\" orient=\"auto\"><path d=\"M 18,7 L9,13 L14,7 L9,1 Z\"></path></marker></defs><defs><marker id=\"sequencenumber\" refX=\"15\" refY=\"15\" markerWidth=\"60\" markerHeight=\"40\" orient=\"auto\"><circle cx=\"15\" cy=\"15\" r=\"6\"></circle></marker></defs><g><rect x=\"50\" y=\"129\" fill=\"#EDF2AE\" stroke=\"#666\" width=\"697\" height=\"42\" class=\"note\"></rect><text x=\"399\" y=\"134\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"noteText\" dy=\"1em\" style=\"font-size: 16px; font-weight: 400;\"><tspan x=\"399\">Your user approves it at their bank</tspan></text></g><text x=\"397\" y=\"80\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-size: 16px; font-weight: 400;\">POST /payments/br/payment-authorizations/</text><line x1=\"76\" y1=\"119\" x2=\"718\" y2=\"119\" class=\"messageLine0\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#arrowhead)\" style=\"fill: none;\"></line><text x=\"400\" y=\"186\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-size: 16px; font-weight: 400;\">Webhook: PAYMENT_AUTHORIZATION</text><line x1=\"721\" y1=\"225\" x2=\"79\" y2=\"225\" class=\"messageLine0\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#arrowhead)\" style=\"fill: none;\"></line><text x=\"397\" y=\"240\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-size: 16px; font-weight: 400;\">GET /payments/br/payment-authorizations/{id}/</text><line x1=\"76\" y1=\"279\" x2=\"718\" y2=\"279\" class=\"messageLine0\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#arrowhead)\" style=\"fill: none;\"></line><text x=\"400\" y=\"294\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-size: 16px; font-weight: 400;\">200 OK (status: AUTHORIZED)</text><line x1=\"721\" y1=\"333\" x2=\"79\" y2=\"333\" class=\"messageLine1\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><text x=\"288\" y=\"348\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-size: 16px; font-weight: 400;\">Webhook: item_ready_to_charge (data.amount)</text><line x1=\"496\" y1=\"387\" x2=\"79\" y2=\"387\" class=\"messageLine0\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#arrowhead)\" style=\"fill: none;\"></line><text x=\"397\" y=\"402\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-size: 16px; font-weight: 400;\">POST /payments/br/payment-authorizations/{id}/charges/</text><line x1=\"76\" y1=\"441\" x2=\"718\" y2=\"441\" class=\"messageLine0\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#arrowhead)\" style=\"fill: none;\"></line><text x=\"400\" y=\"456\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-size: 16px; font-weight: 400;\">201 Created</text><line x1=\"721\" y1=\"495\" x2=\"79\" y2=\"495\" class=\"messageLine1\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><text x=\"400\" y=\"510\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-size: 16px; font-weight: 400;\">Webhook: CHARGE</text><line x1=\"721\" y1=\"549\" x2=\"79\" y2=\"549\" class=\"messageLine0\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#arrowhead)\" style=\"fill: none;\"></line><text x=\"397\" y=\"564\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-size: 16px; font-weight: 400;\">GET /payments/br/payment-authorizations/{id}/charges/{charge_id}/</text><line x1=\"76\" y1=\"603\" x2=\"718\" y2=\"603\" class=\"messageLine0\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#arrowhead)\" style=\"fill: none;\"></line><text x=\"400\" y=\"618\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-size: 16px; font-weight: 400;\">200 OK (status: SETTLED or FAILED)</text><line x1=\"721\" y1=\"657\" x2=\"79\" y2=\"657\" class=\"messageLine1\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line></svg></div>"},"children":["sequenceDiagram\n    participant Client as Your application\n    participant Aggregation as Belvo Aggregation API\n    participant Payments as Belvo Payments API\n\n    Client->>Payments: POST /payments/br/payment-authorizations/\n    Note over Client, Payments: Your user approves it at their bank\n    Payments->>Client: Webhook: PAYMENT_AUTHORIZATION\n    Client->>Payments: GET /payments/br/payment-authorizations/{id}/\n    Payments-->>Client: 200 OK (status: AUTHORIZED)\n\n    Aggregation->>Client: Webhook: item_ready_to_charge (data.amount)\n    Client->>Payments: POST /payments/br/payment-authorizations/{id}/charges/\n    Payments-->>Client: 201 Created\n    Payments->>Client: Webhook: CHARGE\n    Client->>Payments: GET /payments/br/payment-authorizations/{id}/charges/{charge_id}/\n    Payments-->>Client: 200 OK (status: SETTLED or FAILED)\n"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"1-create-the-payment-authorization-early","__idx":1},"children":["1. Create the Payment Authorization early"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Create the Smart Transfers Payment Authorization ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["in parallel"]}," with your Phase 1 Collection Instruction, so that it's already ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AUTHORIZED"]}," when ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["item_ready_to_charge"]}," arrives. Follow ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/products/payments_brazil/payments-brazil-smart-transfers-api-guide#create-a-payment-authorization","target":"_blank"},"children":["Create a Payment Authorization"]},", and keep these points in mind:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["One authorization, many Charges."]}," Create one authorization per user and reuse it for every Charge. Size ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["total_allowed_amount"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payment_transaction_limit"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["periodic_limits"]}," to cover the items you expect to collect."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["The beneficiary must be held by the user."]}," Smart Transfers only moves funds between accounts held by the same person (same CPF) or company (same CNPJ root)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Use the same bank as the Link."]}," Set ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payer.institution"]}," to the payments institution that matches the bank of the Link you monitor in Phase 1. Belvo can't check this for you, because the authorization doesn't reference the Link."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"charge-the-account-you-monitor","__idx":2},"children":["Charge the account you monitor"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In Phase 1, Belvo checks the balance of ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["every"]}," account the user shared in their data consent, and sends ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["item_ready_to_charge"]}," as soon as ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["any one"]}," of them has enough funds. The webhook doesn't say which account it was."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To make sure Charges debit the account you monitor, create the authorization with that account's details in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payer.account_details"]}," (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["account_type"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ispb"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["issuer"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["number"]},"). You can take ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["issuer"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["number"]}," from the account's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["agency"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["number"]}," in Banking Aggregation. See ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/products/payments_brazil/payments-brazil-smart-transfers-api-guide#debit-a-specific-account","target":"_blank"},"children":["Debit a specific account"]},". Otherwise, your user chooses the account at their bank, and it may not be the one whose balance was checked."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"2-charge-when-item_ready_to_charge-arrives","__idx":3},"children":["2. Charge when ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["item_ready_to_charge"]}," arrives"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When you receive ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["item_ready_to_charge"]},", check that the authorization is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AUTHORIZED"]},", and then ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/products/payments_brazil/payments-brazil-smart-transfers-api-guide#create-a-charge","target":"_blank"},"children":["create a Charge"]}," against it:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Set ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amount"]}," to the webhook's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["data.amount"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Set ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["date"]}," to today, so the funds are collected while they're available."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Set ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["external_id"]}," to a UUID you store alongside the item. Belvo doesn't link Collection Instructions, authorizations, and Charges to each other, and a Charge's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["external_id"]}," must be a UUID, so the item's own ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["external_id"]}," can only be reused if it's a UUID too."]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Phase 1 is optional"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You don't need a Collection Instruction to charge. With an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AUTHORIZED"]}," Payment Authorization you can create a Charge at any time. Phase 1 is only needed when you want Belvo to tell you when the account has enough funds."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"3-follow-the-charge","__idx":4},"children":["3. Follow the Charge"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Belvo sends a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CHARGE"]}," webhook each time the Charge's status changes. Fetch the Charge to read it: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SETTLED"]}," means the funds left the user's account; ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["FAILED"]}," means they didn't, and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status_reason_code"]}," tells you why (for example, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["INSUFFICIENT_FUNDS"]}," if the balance dropped after Phase 1 checked it)."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning","name":"A failed Charge doesn't restart Phase 1"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Once an item reaches ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["item_ready_to_charge"]},", Belvo stops monitoring it, even if the Charge you create later fails. To try again, create a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["new"]}," Collection Instruction for that amount. Reusing the same item ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["external_id"]}," is fine."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"best-practices","__idx":5},"children":["Best practices"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Correlate everything with your own IDs."]}," Store the item ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]},", the authorization ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]},", and the Charge ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]}," (and your ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["external_id"]},"s) together, so you can reconstruct which item each Charge settled."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Return ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["2XX"]}," from your webhook endpoints quickly."]}," Process business logic asynchronously so you don't time out and trigger retries."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Reconcile items that never produce a Charge."]}," Phase 1 sends no webhook when an item's windows end without enough funds. Track your items and follow up on any that go stale. You can ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/products/smart_collections_brazil/smart-collections-balance-checking#check-the-status-of-your-items","target":"_blank"},"children":["check each item's status"]}," to see how it ended."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Avoid duplicate Charges."]}," Smart Transfers doesn't support idempotency keys yet. If a Charge request times out, list the authorization's Charges and look for your ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["external_id"]}," before you retry."]}]},"headings":[{"value":"Phase 2: Payment Creation (Direct API)","id":"phase-2-payment-creation-direct-api","depth":1},{"value":"1. Create the Payment Authorization early","id":"1-create-the-payment-authorization-early","depth":2},{"value":"Charge the account you monitor","id":"charge-the-account-you-monitor","depth":3},{"value":"2. Charge when item_ready_to_charge arrives","id":"2-charge-when-item_ready_to_charge-arrives","depth":2},{"value":"3. Follow the Charge","id":"3-follow-the-charge","depth":2},{"value":"Best practices","id":"best-practices","depth":2}],"frontmatter":{"seo":{"title":"Phase 2: Payment Creation (Direct API)"}},"lastModified":"2026-10-20T20:55:37.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/products/smart_collections_brazil/smart-collections-payments","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}