{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["image-lightbox","admonition"]},"type":"markdown"},"seo":{"title":"Flute Checkout","siteUrl":"https://developer.flute.com","description":"Documentation and API reference for integrating Flute payment processing.","lang":"en-US"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"flute-checkout","__idx":0},"children":["Flute Checkout"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Flute Checkout is a hosted payment page that handles the entire checkout experience on your behalf. You redirect your customer to it at payment time, and once the payment is complete, Flute sends them back to your application."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Flute Checkout gives you:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["PCI-DSS compliance"]},". Card data is captured and processed through Flute's secure infrastructure, never touching your servers."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["No frontend work"]},". A single API call creates the payment session. Flute hosts and manages the entire payment UI."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Branded experience"]},". Customize the hosted page with your logo, colors, and font to match your application."]}]},{"$$mdtype":"Tag","name":"ImageLightbox","attributes":{"src":"/img/checkout.png","alt":"Flute Checkout screen","caption":"Example of Flute Checkout screen."},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"integration-overview","__idx":1},"children":["Integration Overview"]},{"$$mdtype":"Tag","name":"Diagram","attributes":{"data-language":"mermaid","diagramType":"mermaid","diagramSource":"sequenceDiagram\n    autonumber\n    participant C as Customer\n    participant FE as Merchant Frontend\n    participant BE as Merchant Backend\n    participant API as Flute API\n\n    BE->>API: POST /pay-int-api/payment-sessions\n    API-->>BE: { \"id\": \"SESSION_ID\", \"checkoutUrl\": \"...\" }\n    BE-->>FE: checkoutUrl\n\n    FE->>C: Redirect to Flute Checkout\n    Note over C,API: Customer completes payment on Flute-hosted page\n\n    C->>FE: Redirected to returnUrl\n    FE->>BE: Fetch session result\n    BE->>API: GET /pay-int-api/payment-sessions/{id}\n    API-->>BE: Session object\n    BE-->>FE: Session result\n    FE-->>C: Show result\n","diagramHtml":"<svg id=\"diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" style=\"max-width: 1092px;\" viewBox=\"-50 -10 1092 667\" role=\"graphics-document document\" aria-roledescription=\"sequence\"><style>\n    #diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 foreignObject {\n      overflow: visible;\n    }\n  </style><g><rect x=\"842\" y=\"581\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"API\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"917\" y=\"613.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"917\" dy=\"0\">Flute API</tspan></text></g><g><rect x=\"471.5\" y=\"581\" fill=\"#eaeaea\" stroke=\"#666\" width=\"153\" height=\"65\" name=\"BE\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"548\" y=\"613.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"548\" dy=\"0\">Merchant Backend</tspan></text></g><g><rect x=\"257.5\" y=\"581\" fill=\"#eaeaea\" stroke=\"#666\" width=\"155\" height=\"65\" name=\"FE\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"335\" y=\"613.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"335\" dy=\"0\">Merchant Frontend</tspan></text></g><g><rect x=\"0\" y=\"581\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"C\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"75\" y=\"613.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"75\" dy=\"0\">Customer</tspan></text></g><g><line id=\"actor3\" x1=\"917\" y1=\"65\" x2=\"917\" y2=\"581\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"API\" data-et=\"life-line\" data-id=\"API\"></line><g id=\"root-3\" data-et=\"participant\" data-type=\"participant\" data-id=\"API\"><rect x=\"842\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"API\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"></rect><text x=\"917\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"917\" dy=\"0\">Flute API</tspan></text></g></g><g><line id=\"actor2\" x1=\"548\" y1=\"65\" x2=\"548\" y2=\"581\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"BE\" data-et=\"life-line\" data-id=\"BE\"></line><g id=\"root-2\" data-et=\"participant\" data-type=\"participant\" data-id=\"BE\"><rect x=\"471.5\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"153\" height=\"65\" name=\"BE\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"></rect><text x=\"548\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"548\" dy=\"0\">Merchant Backend</tspan></text></g></g><g><line id=\"actor1\" x1=\"335\" y1=\"65\" x2=\"335\" y2=\"581\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"FE\" data-et=\"life-line\" data-id=\"FE\"></line><g id=\"root-1\" data-et=\"participant\" data-type=\"participant\" data-id=\"FE\"><rect x=\"257.5\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"155\" height=\"65\" name=\"FE\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"></rect><text x=\"335\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"335\" dy=\"0\">Merchant Frontend</tspan></text></g></g><g><line id=\"actor0\" x1=\"75\" y1=\"65\" x2=\"75\" y2=\"581\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"C\" data-et=\"life-line\" data-id=\"C\"></line><g id=\"root-0\" data-et=\"participant\" data-type=\"participant\" data-id=\"C\"><rect x=\"0\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"C\" 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; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"75\" dy=\"0\">Customer</tspan></text></g></g><style>#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .error-icon{fill:#552222;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .error-text{fill:#552222;stroke:#552222;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .edge-thickness-normal{stroke-width:1px;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .edge-thickness-thick{stroke-width:3.5px;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .edge-pattern-solid{stroke-dasharray:0;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .edge-pattern-dashed{stroke-dasharray:3;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .edge-pattern-dotted{stroke-dasharray:2;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .marker{fill:#333333;stroke:#333333;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .marker.cross{stroke:#333333;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 svg{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 p{margin:0;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .actor{stroke:#9370DB;fill:#ECECFF;stroke-width:1;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 rect.actor.outer-path[data-look=\"neo\"]{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 rect.note[data-look=\"neo\"]{stroke:#aaaa33;fill:#fff5ad;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 text.actor&gt;tspan{fill:black;stroke:none;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .actor-line{stroke:#9370DB;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .innerArc{stroke-width:1.5;stroke-dasharray:none;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 [id$=\"-arrowhead\"] path{fill:#333;stroke:#333;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .sequenceNumber{fill:white;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 [id$=\"-sequencenumber\"]{fill:#333;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 [id$=\"-crosshead\"] path{fill:#333;stroke:#333;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .messageText{fill:#333;stroke:none;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .labelBox{stroke:#9370DB;fill:#ECECFF;filter:none;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .labelText,#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .labelText&gt;tspan{fill:black;stroke:none;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .loopText,#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .loopText&gt;tspan{fill:black;stroke:none;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .sectionTitle,#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .sectionTitle&gt;tspan{fill:black;stroke:none;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:#9370DB;fill:#9370DB;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .note{stroke:#aaaa33;fill:#fff5ad;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .noteText,#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .noteText&gt;tspan{fill:black;stroke:none;font-weight:normal;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .activation0{fill:#f4f4f4;stroke:#666;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .activation1{fill:#f4f4f4;stroke:#666;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .activation2{fill:#f4f4f4;stroke:#666;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .actorPopupMenu{position:absolute;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .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));}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .actor-man circle,#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 line{fill:#ECECFF;stroke-width:2px;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 g rect.rect{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));stroke:#9370DB;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 .node .neo-node{stroke:#9370DB;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 [data-look=\"neo\"].node rect,#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 [data-look=\"neo\"].cluster rect,#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 [data-look=\"neo\"].node polygon{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 [data-look=\"neo\"].node path{stroke:#9370DB;stroke-width:1px;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 [data-look=\"neo\"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 [data-look=\"neo\"].node .neo-line path{stroke:#9370DB;filter:none;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 [data-look=\"neo\"].node circle{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 [data-look=\"neo\"].icon-shape .icon{fill:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 [data-look=\"neo\"].icon-shape .icon-neo path{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;}</style><g></g><defs><symbol id=\"diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2-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=\"diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2-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=\"diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2-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=\"diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2-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=\"diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2-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=\"diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2-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=\"diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2-sequencenumber\" refX=\"15\" refY=\"15\" markerWidth=\"60\" markerHeight=\"40\" orient=\"auto\"><circle cx=\"15\" cy=\"15\" r=\"6\"></circle></marker></defs><defs><marker id=\"diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2-solidTopArrowHead\" refX=\"7.9\" refY=\"7.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M 0 0 L 10 8 L 0 8 z\"></path></marker></defs><defs><marker id=\"diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2-solidBottomArrowHead\" refX=\"7.9\" refY=\"0.75\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M 0 0 L 10 0 L 0 8 z\"></path></marker></defs><defs><marker id=\"diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2-stickTopArrowHead\" refX=\"7.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M 0 0 L 7 7\" stroke=\"black\" stroke-width=\"1.5\" fill=\"none\"></path></marker></defs><defs><marker id=\"diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2-stickBottomArrowHead\" refX=\"7.5\" refY=\"0\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M 0 7 L 7 0\" stroke=\"black\" stroke-width=\"1.5\" fill=\"none\"></path></marker></defs><g data-et=\"note\" data-id=\"i5\"><rect x=\"50\" y=\"255\" fill=\"#EDF2AE\" stroke=\"#666\" width=\"892\" height=\"38\" class=\"note\"></rect><text x=\"496\" y=\"260\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"noteText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\"><tspan x=\"496\">Customer completes payment on Flute-hosted page</tspan></text></g><text x=\"731\" y=\"80\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">POST /pay-int-api/payment-sessions</text><line x1=\"555\" y1=\"111\" x2=\"913\" y2=\"111\" class=\"messageLine0\" data-et=\"message\" data-id=\"i1\" data-from=\"BE\" data-to=\"API\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2-arrowhead)\" style=\"fill: none;\"></line><line x1=\"548\" y1=\"111\" x2=\"548\" y2=\"111\" stroke-width=\"0\" marker-start=\"url(#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2-sequencenumber)\"></line><text x=\"548\" y=\"115\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">1</text><text x=\"734\" y=\"126\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">{ \"id\": \"SESSION_ID\", \"checkoutUrl\": \"...\" }</text><line x1=\"922\" y1=\"157\" x2=\"552\" y2=\"157\" class=\"messageLine1\" data-et=\"message\" data-id=\"i2\" data-from=\"API\" data-to=\"BE\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><line x1=\"917\" y1=\"157\" x2=\"917\" y2=\"157\" stroke-width=\"0\" marker-start=\"url(#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2-sequencenumber)\"></line><text x=\"917\" y=\"161\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">2</text><text x=\"443\" y=\"172\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">checkoutUrl</text><line x1=\"553\" y1=\"201\" x2=\"339\" y2=\"201\" class=\"messageLine1\" data-et=\"message\" data-id=\"i3\" data-from=\"BE\" data-to=\"FE\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><line x1=\"548\" y1=\"201\" x2=\"548\" y2=\"201\" stroke-width=\"0\" marker-start=\"url(#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2-sequencenumber)\"></line><text x=\"548\" y=\"205\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">3</text><text x=\"207\" y=\"216\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Redirect to Flute Checkout</text><line x1=\"340\" y1=\"245\" x2=\"79\" y2=\"245\" class=\"messageLine0\" data-et=\"message\" data-id=\"i4\" data-from=\"FE\" data-to=\"C\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2-arrowhead)\" style=\"fill: none;\"></line><line x1=\"335\" y1=\"245\" x2=\"335\" y2=\"245\" stroke-width=\"0\" marker-start=\"url(#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2-sequencenumber)\"></line><text x=\"335\" y=\"249\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">4</text><text x=\"204\" y=\"308\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Redirected to returnUrl</text><line x1=\"82\" y1=\"337\" x2=\"331\" y2=\"337\" class=\"messageLine0\" data-et=\"message\" data-id=\"i6\" data-from=\"C\" data-to=\"FE\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2-arrowhead)\" style=\"fill: none;\"></line><line x1=\"75\" y1=\"337\" x2=\"75\" y2=\"337\" stroke-width=\"0\" marker-start=\"url(#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2-sequencenumber)\"></line><text x=\"75\" y=\"341\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">5</text><text x=\"440\" y=\"352\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Fetch session result</text><line x1=\"342\" y1=\"381\" x2=\"544\" y2=\"381\" class=\"messageLine0\" data-et=\"message\" data-id=\"i7\" data-from=\"FE\" data-to=\"BE\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2-arrowhead)\" style=\"fill: none;\"></line><line x1=\"335\" y1=\"381\" x2=\"335\" y2=\"381\" stroke-width=\"0\" marker-start=\"url(#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2-sequencenumber)\"></line><text x=\"335\" y=\"385\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">6</text><text x=\"731\" y=\"396\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">GET /pay-int-api/payment-sessions/{id}</text><line x1=\"555\" y1=\"427\" x2=\"913\" y2=\"427\" class=\"messageLine0\" data-et=\"message\" data-id=\"i8\" data-from=\"BE\" data-to=\"API\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2-arrowhead)\" style=\"fill: none;\"></line><line x1=\"548\" y1=\"427\" x2=\"548\" y2=\"427\" stroke-width=\"0\" marker-start=\"url(#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2-sequencenumber)\"></line><text x=\"548\" y=\"431\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">7</text><text x=\"734\" y=\"442\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Session object</text><line x1=\"922\" y1=\"473\" x2=\"552\" y2=\"473\" class=\"messageLine1\" data-et=\"message\" data-id=\"i9\" data-from=\"API\" data-to=\"BE\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><line x1=\"917\" y1=\"473\" x2=\"917\" y2=\"473\" stroke-width=\"0\" marker-start=\"url(#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2-sequencenumber)\"></line><text x=\"917\" y=\"477\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">8</text><text x=\"443\" y=\"488\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Session result</text><line x1=\"553\" y1=\"517\" x2=\"339\" y2=\"517\" class=\"messageLine1\" data-et=\"message\" data-id=\"i10\" data-from=\"BE\" data-to=\"FE\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><line x1=\"548\" y1=\"517\" x2=\"548\" y2=\"517\" stroke-width=\"0\" marker-start=\"url(#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2-sequencenumber)\"></line><text x=\"548\" y=\"521\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">9</text><text x=\"207\" y=\"532\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Show result</text><line x1=\"340\" y1=\"561\" x2=\"79\" y2=\"561\" class=\"messageLine1\" data-et=\"message\" data-id=\"i11\" data-from=\"FE\" data-to=\"C\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><line x1=\"335\" y1=\"561\" x2=\"335\" y2=\"561\" stroke-width=\"0\" marker-start=\"url(#diagram-f49eee4e9c693258a42612d67bd05745fb408ed4651453adf68f0626e2ac60f2-sequencenumber)\"></line><text x=\"335\" y=\"565\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">10</text></svg>","diagramHtmlDark":"<svg id=\"diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" style=\"max-width: 1092px;\" viewBox=\"-50 -10 1092 667\" role=\"graphics-document document\" aria-roledescription=\"sequence\"><style>\n    #diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 foreignObject {\n      overflow: visible;\n    }\n  </style><g><rect x=\"842\" y=\"581\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"API\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"917\" y=\"613.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"917\" dy=\"0\">Flute API</tspan></text></g><g><rect x=\"471.5\" y=\"581\" fill=\"#eaeaea\" stroke=\"#666\" width=\"153\" height=\"65\" name=\"BE\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"548\" y=\"613.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"548\" dy=\"0\">Merchant Backend</tspan></text></g><g><rect x=\"257.5\" y=\"581\" fill=\"#eaeaea\" stroke=\"#666\" width=\"155\" height=\"65\" name=\"FE\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"335\" y=\"613.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"335\" dy=\"0\">Merchant Frontend</tspan></text></g><g><rect x=\"0\" y=\"581\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"C\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"75\" y=\"613.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"75\" dy=\"0\">Customer</tspan></text></g><g><line id=\"actor3\" x1=\"917\" y1=\"65\" x2=\"917\" y2=\"581\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"API\" data-et=\"life-line\" data-id=\"API\"></line><g id=\"root-3\" data-et=\"participant\" data-type=\"participant\" data-id=\"API\"><rect x=\"842\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"API\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"></rect><text x=\"917\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"917\" dy=\"0\">Flute API</tspan></text></g></g><g><line id=\"actor2\" x1=\"548\" y1=\"65\" x2=\"548\" y2=\"581\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"BE\" data-et=\"life-line\" data-id=\"BE\"></line><g id=\"root-2\" data-et=\"participant\" data-type=\"participant\" data-id=\"BE\"><rect x=\"471.5\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"153\" height=\"65\" name=\"BE\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"></rect><text x=\"548\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"548\" dy=\"0\">Merchant Backend</tspan></text></g></g><g><line id=\"actor1\" x1=\"335\" y1=\"65\" x2=\"335\" y2=\"581\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"FE\" data-et=\"life-line\" data-id=\"FE\"></line><g id=\"root-1\" data-et=\"participant\" data-type=\"participant\" data-id=\"FE\"><rect x=\"257.5\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"155\" height=\"65\" name=\"FE\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"></rect><text x=\"335\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"335\" dy=\"0\">Merchant Frontend</tspan></text></g></g><g><line id=\"actor0\" x1=\"75\" y1=\"65\" x2=\"75\" y2=\"581\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"C\" data-et=\"life-line\" data-id=\"C\"></line><g id=\"root-0\" data-et=\"participant\" data-type=\"participant\" data-id=\"C\"><rect x=\"0\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"C\" 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; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"75\" dy=\"0\">Customer</tspan></text></g></g><style>#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;fill:#ccc;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .error-icon{fill:#a44141;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .error-text{fill:#ddd;stroke:#ddd;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .edge-thickness-normal{stroke-width:1px;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .edge-thickness-thick{stroke-width:3.5px;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .edge-pattern-solid{stroke-dasharray:0;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .edge-pattern-dashed{stroke-dasharray:3;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .edge-pattern-dotted{stroke-dasharray:2;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .marker{fill:lightgrey;stroke:lightgrey;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .marker.cross{stroke:lightgrey;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 svg{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 p{margin:0;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .actor{stroke:#ccc;fill:#1f2020;stroke-width:1;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 rect.actor.outer-path[data-look=\"neo\"]{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 rect.note[data-look=\"neo\"]{stroke:hsl(180, 0%, 18.3529411765%);fill:hsl(180, 1.5873015873%, 28.3529411765%);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 text.actor&gt;tspan{fill:lightgrey;stroke:none;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .actor-line{stroke:#ccc;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .innerArc{stroke-width:1.5;stroke-dasharray:none;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:lightgrey;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:lightgrey;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 [id$=\"-arrowhead\"] path{fill:lightgrey;stroke:lightgrey;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .sequenceNumber{fill:black;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 [id$=\"-sequencenumber\"]{fill:lightgrey;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 [id$=\"-crosshead\"] path{fill:lightgrey;stroke:lightgrey;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .messageText{fill:lightgrey;stroke:none;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .labelBox{stroke:#ccc;fill:#1f2020;filter:none;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .labelText,#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .labelText&gt;tspan{fill:lightgrey;stroke:none;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .loopText,#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .loopText&gt;tspan{fill:lightgrey;stroke:none;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .sectionTitle,#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .sectionTitle&gt;tspan{fill:lightgrey;stroke:none;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:#ccc;fill:#ccc;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .note{stroke:hsl(180, 0%, 18.3529411765%);fill:hsl(180, 1.5873015873%, 28.3529411765%);}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .noteText,#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .noteText&gt;tspan{fill:rgb(183.8476190475, 181.5523809523, 181.5523809523);stroke:none;font-weight:normal;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .activation0{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:#ccc;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .activation1{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:#ccc;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .activation2{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:#ccc;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .actorPopupMenu{position:absolute;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .actorPopupMenuPanel{position:absolute;fill:#1f2020;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .actor-man circle,#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 line{fill:#1f2020;stroke-width:2px;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 g rect.rect{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));stroke:#ccc;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 .node .neo-node{stroke:#ccc;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 [data-look=\"neo\"].node rect,#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 [data-look=\"neo\"].cluster rect,#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 [data-look=\"neo\"].node polygon{stroke:url(#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 [data-look=\"neo\"].node path{stroke:url(#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7-gradient);stroke-width:1px;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 [data-look=\"neo\"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 [data-look=\"neo\"].node .neo-line path{stroke:#ccc;filter:none;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 [data-look=\"neo\"].node circle{stroke:url(#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 [data-look=\"neo\"].icon-shape .icon{fill:url(#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 [data-look=\"neo\"].icon-shape .icon-neo path{stroke:url(#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;}</style><g></g><defs><symbol id=\"diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7-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=\"diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7-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=\"diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7-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=\"diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7-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=\"diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7-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=\"diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7-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=\"diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7-sequencenumber\" refX=\"15\" refY=\"15\" markerWidth=\"60\" markerHeight=\"40\" orient=\"auto\"><circle cx=\"15\" cy=\"15\" r=\"6\"></circle></marker></defs><defs><marker id=\"diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7-solidTopArrowHead\" refX=\"7.9\" refY=\"7.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M 0 0 L 10 8 L 0 8 z\"></path></marker></defs><defs><marker id=\"diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7-solidBottomArrowHead\" refX=\"7.9\" refY=\"0.75\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M 0 0 L 10 0 L 0 8 z\"></path></marker></defs><defs><marker id=\"diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7-stickTopArrowHead\" refX=\"7.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M 0 0 L 7 7\" stroke=\"black\" stroke-width=\"1.5\" fill=\"none\"></path></marker></defs><defs><marker id=\"diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7-stickBottomArrowHead\" refX=\"7.5\" refY=\"0\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M 0 7 L 7 0\" stroke=\"black\" stroke-width=\"1.5\" fill=\"none\"></path></marker></defs><g data-et=\"note\" data-id=\"i5\"><rect x=\"50\" y=\"255\" fill=\"#EDF2AE\" stroke=\"#666\" width=\"892\" height=\"38\" class=\"note\"></rect><text x=\"496\" y=\"260\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"noteText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\"><tspan x=\"496\">Customer completes payment on Flute-hosted page</tspan></text></g><text x=\"731\" y=\"80\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">POST /pay-int-api/payment-sessions</text><line x1=\"555\" y1=\"111\" x2=\"913\" y2=\"111\" class=\"messageLine0\" data-et=\"message\" data-id=\"i1\" data-from=\"BE\" data-to=\"API\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7-arrowhead)\" style=\"fill: none;\"></line><line x1=\"548\" y1=\"111\" x2=\"548\" y2=\"111\" stroke-width=\"0\" marker-start=\"url(#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7-sequencenumber)\"></line><text x=\"548\" y=\"115\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">1</text><text x=\"734\" y=\"126\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">{ \"id\": \"SESSION_ID\", \"checkoutUrl\": \"...\" }</text><line x1=\"922\" y1=\"157\" x2=\"552\" y2=\"157\" class=\"messageLine1\" data-et=\"message\" data-id=\"i2\" data-from=\"API\" data-to=\"BE\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><line x1=\"917\" y1=\"157\" x2=\"917\" y2=\"157\" stroke-width=\"0\" marker-start=\"url(#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7-sequencenumber)\"></line><text x=\"917\" y=\"161\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">2</text><text x=\"443\" y=\"172\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">checkoutUrl</text><line x1=\"553\" y1=\"201\" x2=\"339\" y2=\"201\" class=\"messageLine1\" data-et=\"message\" data-id=\"i3\" data-from=\"BE\" data-to=\"FE\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><line x1=\"548\" y1=\"201\" x2=\"548\" y2=\"201\" stroke-width=\"0\" marker-start=\"url(#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7-sequencenumber)\"></line><text x=\"548\" y=\"205\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">3</text><text x=\"207\" y=\"216\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Redirect to Flute Checkout</text><line x1=\"340\" y1=\"245\" x2=\"79\" y2=\"245\" class=\"messageLine0\" data-et=\"message\" data-id=\"i4\" data-from=\"FE\" data-to=\"C\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7-arrowhead)\" style=\"fill: none;\"></line><line x1=\"335\" y1=\"245\" x2=\"335\" y2=\"245\" stroke-width=\"0\" marker-start=\"url(#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7-sequencenumber)\"></line><text x=\"335\" y=\"249\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">4</text><text x=\"204\" y=\"308\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Redirected to returnUrl</text><line x1=\"82\" y1=\"337\" x2=\"331\" y2=\"337\" class=\"messageLine0\" data-et=\"message\" data-id=\"i6\" data-from=\"C\" data-to=\"FE\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7-arrowhead)\" style=\"fill: none;\"></line><line x1=\"75\" y1=\"337\" x2=\"75\" y2=\"337\" stroke-width=\"0\" marker-start=\"url(#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7-sequencenumber)\"></line><text x=\"75\" y=\"341\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">5</text><text x=\"440\" y=\"352\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Fetch session result</text><line x1=\"342\" y1=\"381\" x2=\"544\" y2=\"381\" class=\"messageLine0\" data-et=\"message\" data-id=\"i7\" data-from=\"FE\" data-to=\"BE\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7-arrowhead)\" style=\"fill: none;\"></line><line x1=\"335\" y1=\"381\" x2=\"335\" y2=\"381\" stroke-width=\"0\" marker-start=\"url(#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7-sequencenumber)\"></line><text x=\"335\" y=\"385\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">6</text><text x=\"731\" y=\"396\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">GET /pay-int-api/payment-sessions/{id}</text><line x1=\"555\" y1=\"427\" x2=\"913\" y2=\"427\" class=\"messageLine0\" data-et=\"message\" data-id=\"i8\" data-from=\"BE\" data-to=\"API\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7-arrowhead)\" style=\"fill: none;\"></line><line x1=\"548\" y1=\"427\" x2=\"548\" y2=\"427\" stroke-width=\"0\" marker-start=\"url(#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7-sequencenumber)\"></line><text x=\"548\" y=\"431\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">7</text><text x=\"734\" y=\"442\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Session object</text><line x1=\"922\" y1=\"473\" x2=\"552\" y2=\"473\" class=\"messageLine1\" data-et=\"message\" data-id=\"i9\" data-from=\"API\" data-to=\"BE\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><line x1=\"917\" y1=\"473\" x2=\"917\" y2=\"473\" stroke-width=\"0\" marker-start=\"url(#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7-sequencenumber)\"></line><text x=\"917\" y=\"477\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">8</text><text x=\"443\" y=\"488\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Session result</text><line x1=\"553\" y1=\"517\" x2=\"339\" y2=\"517\" class=\"messageLine1\" data-et=\"message\" data-id=\"i10\" data-from=\"BE\" data-to=\"FE\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><line x1=\"548\" y1=\"517\" x2=\"548\" y2=\"517\" stroke-width=\"0\" marker-start=\"url(#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7-sequencenumber)\"></line><text x=\"548\" y=\"521\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">9</text><text x=\"207\" y=\"532\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Show result</text><line x1=\"340\" y1=\"561\" x2=\"79\" y2=\"561\" class=\"messageLine1\" data-et=\"message\" data-id=\"i11\" data-from=\"FE\" data-to=\"C\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><line x1=\"335\" y1=\"561\" x2=\"335\" y2=\"561\" stroke-width=\"0\" marker-start=\"url(#diagram-87fce1c2b720b83384975b8836cafda890d19a9ae38205e995f0f5b264ee5bc7-sequencenumber)\"></line><text x=\"335\" y=\"565\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">10</text></svg>"},"children":["sequenceDiagram\n    autonumber\n    participant C as Customer\n    participant FE as Merchant Frontend\n    participant BE as Merchant Backend\n    participant API as Flute API\n\n    BE->>API: POST /pay-int-api/payment-sessions\n    API-->>BE: { \"id\": \"SESSION_ID\", \"checkoutUrl\": \"...\" }\n    BE-->>FE: checkoutUrl\n\n    FE->>C: Redirect to Flute Checkout\n    Note over C,API: Customer completes payment on Flute-hosted page\n\n    C->>FE: Redirected to returnUrl\n    FE->>BE: Fetch session result\n    BE->>API: GET /pay-int-api/payment-sessions/{id}\n    API-->>BE: Session object\n    BE-->>FE: Session result\n    FE-->>C: Show result\n"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"building-with-flute-checkout","__idx":2},"children":["Building with Flute Checkout"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Flute Checkout supports both card and ACH transactions. The integration follows three steps:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 1: Creating a Payment Session"]}," from the backend to get the checkout URL."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 2: Redirecting the Customer"]}," to the Flute-hosted checkout page."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 3: Verifying Payment"]}," once the customer returns to your application."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-1-creating-a-payment-session","__idx":3},"children":["Step 1: Creating a Payment Session"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Sandbox Environment:"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"https://sandbox.api.flute.com\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Production Environment:"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"https://api.flute.com\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To create a payment session, call ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/api-reference/payment-sessions/pay_int_api_payment_sessions","style":{"textDecoration":"underline","fontWeight":"normal"}},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /pay-int-api/payment-sessions"]}]}," from the backend."," ","The following is an example request body showing the fields relevant to Flute Checkout."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/api-reference/payment-sessions/pay_int_api_payment_sessions","style":{"textDecoration":"underline","fontWeight":"normal"}},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /pay-int-api/payment-sessions"]}]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n    \"amount\": 500.00,\n    \"returnUrl\": \"https://pay.flute.com/payments/returnUrl/{{paymentSessionId}}\",\n    \"paymentMethodTypes\": [ \"card\", \"ach\" ],\n    \"metadata\":\n    {\n        \"orderId\": \"ORD/456\",\n        \"invoiceNumber\": \"INV-2026-001\"\n    },\n    ...\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following is a payment session response body relevant to Flute Checkout."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"align":"center","data-label":"Required"},"children":["Required"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Notes"},"children":["Notes"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["amount"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["number",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"float"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"center"},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The transaction amount. If provided, Flute Checkout displays it as the payment total. If omitted, the customer is prompted to enter an amount."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["returnUrl"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"center"},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The URL your customer is redirected to after the checkout flow ends. Include ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{{paymentSessionId}}"]}," as a placeholder in the URL. Flute substitutes the real payment session identifier before returning the URL in the response. See the example response body for details."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["metadata"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["object"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"center"},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional key-value pairs for additional context, such as an internal order ID or invoice reference. Values are sanitized for security.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"Maximum of 50 key-value pairs. Maximum 40 characters per key, 500 characters per value, 8 KB for the full set."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["paymentMethodTypes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string[]"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"center"},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The allowed payment types. Accepted values: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"card\""]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"ach\""]},". Defaults to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["[\"card\"]"]}," if omitted."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["expiresAt"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string/date-time"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"center"},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional expiry timestamp in an ISO 8601 UTC date-time format, such as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["2026-03-12T19:00:00.000Z"]},". The hosted page renders an expired error after this time, preventing further interaction. If omitted, the payment session expires in 30 minutes."]}]}]}]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The default payment session expiry is ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["30 minutes"]},"."," ","If you are using Flute Checkout for emailed payment links or other flows where the customer may not act immediately, set ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["expiresAt"]}," explicitly to a longer window."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Example response body:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n    \"id\": \"dce6a259-0a1b-4c2d-3e4f-5a6b7c8d9e25\",\n    \"amount\": 500.00,\n    \"currency\": \"USD\",\n    \"status\": \"Created\",\n    \"checkoutUrl\": \"https://public.flute.com/checkout/dce6a259-0a1b-4c2d-3e4f-5a6b7c8d9e25\",\n    \"returnUrl\": \"https://pay.flute.com/payments/returnUrl/dce6a259-0a1b-4c2d-3e4f-5a6b7c8d9e25\",\n    \"paymentMethodTypes\": [ \"card\", \"ach\" ],\n    \"metadata\": { \"orderId\": \"ORD/456\", \"invoiceNumber\": \"INV-2026-001\" },\n    \"createdAt\": \"2026-03-12T19:00:00.000Z\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following is a payment session response body relevant to Flute Checkout."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Notes"},"children":["Notes"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["id"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The payment session identifier. Use this value when redirecting to Flute Checkout."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["checkoutUrl"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The fully-formed checkout URL. Redirect your customer to this URL to start the checkout flow."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["returnUrl"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The URL the customer is redirected to after the checkout flow ends, with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{{paymentSessionId}}"]}," substituted with the real payment session identifier."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["metadata"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["object"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The key-value pairs provided in the request, echoed back in the response."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-2-redirecting-the-customer","__idx":4},"children":["Step 2: Redirecting the Customer"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkoutUrl"]}," from the session creation response to send the customer to Flute Checkout. Use one of the following methods:"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"server-side-or-direct-redirect","__idx":5},"children":["Server-side or direct redirect"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkoutUrl"]}," is a fully-formed URL unique to the customer's payment session."," ","Redirect to it directly from your server or pass it to any of the client-side methods below."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"using-the-flutejs-library","__idx":6},"children":["Using the Flute.js library"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Load the Flute.js library and call ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["flute.checkoutPage()"]}," with the payment session identifier."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"html","header":{"controls":{"copy":{}}},"source":"<head>\n  <script src=\"https://public.flute.com/lib/v1.0/flute.mjs\" type=\"module\"></script>\n</head>\n","lang":"html"},"children":[]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"const flute = new window.Flute();\nflute.checkoutPage('dce6a259-0a1b-4c2d-3e4f-5a6b7c8d9e25')\n","lang":"javascript"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"client-side-browser-redirect","__idx":7},"children":["Client-side browser redirect"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"window.location.href = \"https://public.flute.com/checkout/dce6a259-0a1b-4c2d-3e4f-5a6b7c8d9e25\";\n","lang":"javascript"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-3-verifying-payment","__idx":8},"children":["Step 3: Verifying Payment"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When the payment session is completed, cancelled, or expired, the customer is redirected to the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["returnUrl"]}," you provided at payment session creation."," ","The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{{paymentSessionId}}"]}," placeholder in the URL is substituted with the actual payment session identifier, which you can use to look up the result from the backend."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If no ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["returnUrl"]}," was set, the customer remains on the Flute-hosted page and sees a generic confirmation message."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Always verify the payment result from the backend."," ","Never rely on the frontend or the redirect URL alone."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Call the following endpoint after receiving the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payment_session.completed"]}," webhook or after the customer is redirected to your ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["returnUrl"]},":"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/api-reference/payment-sessions/pay_int_api_payment_sessions_paymentsessionid","style":{"textDecoration":"underline","fontWeight":"normal"}},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /pay-int-api/payment-sessions/{paymentSessionId}"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Subscribe to the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payment_session.completed"]}," webhook to be notified when a payment session reaches a terminal state."," ","This is the recommended approach. As a fallback, you can poll the endpoint above and check for the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Completed"]}," status."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["As the customer interacts with Flute Checkout, the payment session moves through these states:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Status"},"children":["Status"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Created"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Payment session was initialized but not yet processed."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Completed"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Payment session was completed. Check transaction details to verify if the payment was approved or not."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Cancelled"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Payment session was canceled before completion."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Expired"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Payment session expired before being completed."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Failed"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Payment was attempted but did not succeed. A new payment session must be created for a new payment attempt."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 3.1: Check the payment session status"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The payment session-level ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status"]}," field must be ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Completed"]},"."," ","This confirms the customer went through the checkout flow, but does not by itself confirm the payment was approved."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Step 3.2: Check the transaction status"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Check ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transactionDetails.status"]}," against the expected success statuses for your payment type:"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Card payments"]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"transactionDetails.status"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transactionDetails.status"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Meaning"},"children":["Meaning"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Authorized"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Payment authorized, pending capture."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Captured"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Payment captured."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PartiallyAuthorized"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Partial amount authorized."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["ACH payments"]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"transactionDetails.status"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transactionDetails.status"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Meaning"},"children":["Meaning"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Scheduled"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Payment scheduled for processing."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["InProgress"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Submission accepted and being processed."]}]}]}]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Additional statuses may appear on subsequent lookups as the payment progresses through its lifecycle."," ","For example, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Settled"]}," for card payments and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Cleared"]}," for ACH payments."," ","These do not require any action on your end."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Any other status (including ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Declined"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Failed"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Voided"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Cancelled"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ChargedBack"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Held"]},", or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["HeldByProcessor"]},") indicates the payment did not succeed."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Other useful fields"]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transactionDetails.transactionReceipt.amount"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Charged amount (in USD)."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transactionDetails.transactionReceipt.transactionId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Transaction identifier."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["metadata"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Metadata provided at payment session creation."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customerId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Customer record associated with the payment, if a payment method was saved."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"faster-checkout-for-returning-customers","__idx":9},"children":["Faster Checkout for Returning Customers"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When a payment session is created with a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customerId"]}," that has saved payment methods on file, Flute Checkout automatically surfaces those methods on the payment page."," ","The customer can select a saved card or bank account and complete the payment without re-entering their details, providing a faster checkout experience for returning users."]},{"$$mdtype":"Tag","name":"ImageLightbox","attributes":{"src":"/img/faster-checkout.png","alt":"Flute Checkout with saved payment methods","caption":"Flute Checkout showing saved payment methods for a returning customer."},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Pass ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customerId"]}," when creating the payment session:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"amount\": 144.00,\n  \"returnUrl\": \"https://pay.flute.com/payments/returnUrl/{{paymentSessionId}}\",\n  \"customerId\": \"CUSTOMER_ID\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkoutUrl"]}," grants access to any saved payment methods linked to the payment session's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customerId"]},"."," ","Keep it private."," ","Treat it like a one-time payment token."," ","Generate it at checkout time, send it directly to the authenticated customer, and never share or publicly expose it."," ","Anyone with access to the URL can use those saved methods to complete the payment."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"error-handling","__idx":10},"children":["Error Handling"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This section describes possible errors, following the Flute error format."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"HTTP Status"},"children":["HTTP Status"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Error Type"},"children":["Error Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Notes"},"children":["Notes"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["400"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["validation_error"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Invalid input.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"This means the request was rejected before reaching the processor. No transaction was created and the session status remains ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Created"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["401"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["authentication_error"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Missing or invalid OAuth token.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"Check for missing, expired, or invalid credentials."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["403"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["authorization_error"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The request is forbidden.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"The caller is authenticated but not authorized to perform the action. Check API key permission levels."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["404"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["not_found"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Payment session not found."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["409"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["conflict"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Payment session not in valid state for operation.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"The request is valid and well formed. Fulfilling the request would conflict with an existing resource state. Common examples include registering the same webhook endpoint twice or attempting to void a transaction that has already settled."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["422"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["payment_error"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Payment declined or processing error.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"The submission was rejected after reaching the processor. The payment session is now ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Failed"]},". A new payment session must be created for another payment attempt."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["429"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["rate_limit_error"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Rate limit exceeded on public endpoints.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"Reduce the request rate or wait before retrying."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["500"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["internal_error"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Server error."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following is an example returned error."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n    \"error\":\n    {\n        \"type\": \"validation_error\",\n        \"message\": \"Invalid payment method type\",\n        \"details\": [{ \"field\": \"paymentMethodTypes\", \"message\": \"Allowed values: 'card', 'ach'\" }]\n    }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"branding-flute-checkout","__idx":11},"children":["Branding Flute Checkout"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The hosted checkout page can be customized so it feels like part of your own website."," ","Configurable components include the merchant logo, font, accent color, and page background color."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To configure these branding options:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Navigate to the partner's ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://dashboard.flute.com/dashboard","target":"_blank","rel":"noopener noreferrer"},"children":["Flute dashboard page"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Merchant"]}," from the left menu panel."," ","This displays the list of merchants for the partner."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select the individual merchant."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Impersonate merchant"]},"."," ","This allows the partner to act on behalf of the merchant."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Settings"]}," from the left menu panel."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Profile"]}," in the right navigation panel. This displays the branding options page."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select options under the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Branding and customization"]}," section."]}]}]},"headings":[{"value":"Flute Checkout","id":"flute-checkout","depth":1},{"value":"Integration Overview","id":"integration-overview","depth":2},{"value":"Building with Flute Checkout","id":"building-with-flute-checkout","depth":2},{"value":"Step 1: Creating a Payment Session","id":"step-1-creating-a-payment-session","depth":3},{"value":"Step 2: Redirecting the Customer","id":"step-2-redirecting-the-customer","depth":3},{"value":"Server-side or direct redirect","id":"server-side-or-direct-redirect","depth":4},{"value":"Using the Flute.js library","id":"using-the-flutejs-library","depth":4},{"value":"Client-side browser redirect","id":"client-side-browser-redirect","depth":4},{"value":"Step 3: Verifying Payment","id":"step-3-verifying-payment","depth":3},{"value":"Faster Checkout for Returning Customers","id":"faster-checkout-for-returning-customers","depth":2},{"value":"Error Handling","id":"error-handling","depth":2},{"value":"Branding Flute Checkout","id":"branding-flute-checkout","depth":2}],"frontmatter":{"title":"Flute Checkout","description":"Accept payments through a Flute-hosted checkout page with no frontend integration required.","seo":{"title":"Flute Checkout"}},"lastModified":"2026-09-15T06:57:09.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/online-payments/flute-checkout","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}