{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-guides/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Using the Hosted URL without the SDK","siteUrl":"https://docs.omno.com"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"using-the-hosted-url-without-the-sdk","__idx":0},"children":["Using the Hosted URL without the SDK"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can open the Cashier without the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/cashier/web-sdk-reference"},"children":["Web SDK"]}," by redirecting to, or embedding, the URLs returned when you ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/cashier/integrating-the-cashier"},"children":["create a session"]},": ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["checkoutUrl"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["depositUrl"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["withdrawalUrl"]},"."]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["ℹ️ ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Note:"]}," Use the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/cashier/web-sdk-reference"},"children":["Web SDK"]}," unless a technical constraint prevents it. It is the recommended way to open the Cashier."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"pass-the-checkout-token","__idx":1},"children":["Pass the checkout token"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When you open the hosted URL yourself, you must append the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["token"]}," from the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/cashier/integrating-the-cashier"},"children":["create-session response"]}," as the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ct"]}]}," query parameter (URL-encoded). The SDK does this for you; without it, the Cashier adds it automatically on open. Opening the session without the token is rejected once checkout token verification is enabled for your account. See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/cashier/integrating-the-cashier#the-checkout-token"},"children":["The checkout token"]},"."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"https://checkout.omno.com/payments/cashier/{sessionId}?ct=<url-encoded-token>\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Cashier reads ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ct"]}," on load, stores the token server-side, and strips it from the address bar — so it does not linger in browser history or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Referer"]}," headers. Treat the token as a credential and never log it."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"redirect","__idx":2},"children":["Redirect"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"window.location.href = `${checkoutUrl}?ct=${encodeURIComponent(token)}`;\n// or depositUrl / withdrawalUrl, with the same ?ct= param\n","lang":"javascript"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"embed-in-an-iframe","__idx":3},"children":["Embed in an iframe"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"html","header":{"controls":{"copy":{}}},"source":"<iframe\n  src=\"https://checkout.omno.com/payments/cashier/25aee2fd-fd2a-4a1c-a127-df26206b2a30?ct=<url-encoded-token>\"\n  width=\"900\"\n  height=\"800\">\n</iframe>\n","lang":"html"},"children":[]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["[TBD: required iframe attributes / allowed origins / CSP requirements]"]}]}]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["[TBD: redirect behavior after the customer completes or cancels in the hosted cashier]"]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"what-you-lose-without-the-sdk","__idx":4},"children":["What you lose without the SDK"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Opening the raw URL works but drops the SDK functions listed in ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/cashier/integrating-the-cashier#why-the-sdk-is-recommended"},"children":["Integrating the Cashier → Why the SDK is recommended"]}," — payment/KYC/analytics events, close and overlay handling, dynamic language, device detection, styling, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentAction"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["containerId"]},", and the utility methods."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"final-status","__idx":5},"children":["Final status"]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["⚠️ ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Warning:"]}," The hosted cashier's redirect or on-screen result is ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["not"]}," authoritative. Determine the final status from ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/getting-started/webhooks"},"children":["webhooks"]}," or ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://docs.omno.com/apis"},"children":["Get Transaction Info"]},"."]}]}]},"headings":[{"value":"Using the Hosted URL without the SDK","id":"using-the-hosted-url-without-the-sdk","depth":1},{"value":"Pass the checkout token","id":"pass-the-checkout-token","depth":2},{"value":"Redirect","id":"redirect","depth":2},{"value":"Embed in an iframe","id":"embed-in-an-iframe","depth":2},{"value":"What you lose without the SDK","id":"what-you-lose-without-the-sdk","depth":2},{"value":"Final status","id":"final-status","depth":2}],"frontmatter":{"seo":{"title":"Using the Hosted URL without the SDK"}},"lastModified":"2026-10-12T06:54:23.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/guides/cashier/using-hosted-url","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}