CINXE.COM

Sell domains in your app - Entri

<!DOCTYPE html><html lang="en" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><link rel="apple-touch-icon" type="image/png" sizes="180x180" href="https://mintlify.s3-us-west-1.amazonaws.com/entri-42/_generated/favicon/apple-touch-icon.png?v=3"/><link rel="icon" type="image/png" sizes="32x32" href="https://mintlify.s3-us-west-1.amazonaws.com/entri-42/_generated/favicon/favicon-32x32.png?v=3"/><link rel="icon" type="image/png" sizes="16x16" href="https://mintlify.s3-us-west-1.amazonaws.com/entri-42/_generated/favicon/favicon-16x16.png?v=3"/><link rel="shortcut icon" type="image/x-icon" href="https://mintlify.s3-us-west-1.amazonaws.com/entri-42/_generated/favicon/favicon.ico?v=3"/><meta name="msapplication-config" content="https://mintlify.s3-us-west-1.amazonaws.com/entri-42/_generated/favicon/browserconfig.xml?v=3"/><meta name="apple-mobile-web-app-title" content="Entri"/><meta name="application-name" content="Entri"/><meta name="msapplication-TileColor" content="#1b66d5"/><meta name="theme-color" content="#ffffff"/><link rel="sitemap" type="application/xml" href="/sitemap.xml"/><meta name="charset" content="utf-8"/><meta name="og:type" content="website"/><meta name="og:site_name" content="Entri"/><meta name="twitter:card" content="summary_large_image"/><meta name="og:title" content="Sell domains in your app - Entri"/><meta name="twitter:title" content="Sell domains in your app - Entri"/><meta name="og:image" content="https://mintlify.com/docs/api/og?division=Documentation&amp;mode=dark&amp;title=Sell+domains+in+your+app&amp;description=Entri+Sell+enables+your+users+to+easily+purchase+a+domain+that+is+immediately+configured+to+work+with+your+application.&amp;logoLight=https%3A%2F%2Fmintlify.s3-us-west-1.amazonaws.com%2Fentri-42%2Flogo%2Flight.png&amp;logoDark=https%3A%2F%2Fmintlify.s3-us-west-1.amazonaws.com%2Fentri-42%2Flogo%2Fdark.png&amp;primaryColor=%231b66d5&amp;lightColor=%23fff&amp;darkColor=%231b66d5"/><meta name="twitter:image" content="https://mintlify.com/docs/api/og?division=Documentation&amp;mode=dark&amp;title=Sell+domains+in+your+app&amp;description=Entri+Sell+enables+your+users+to+easily+purchase+a+domain+that+is+immediately+configured+to+work+with+your+application.&amp;logoLight=https%3A%2F%2Fmintlify.s3-us-west-1.amazonaws.com%2Fentri-42%2Flogo%2Flight.png&amp;logoDark=https%3A%2F%2Fmintlify.s3-us-west-1.amazonaws.com%2Fentri-42%2Flogo%2Fdark.png&amp;primaryColor=%231b66d5&amp;lightColor=%23fff&amp;darkColor=%231b66d5"/><meta name="og:description" content="Entri Sell enables your users to easily purchase a domain that is immediately configured to work with your application."/><meta name="description" content="Entri Sell enables your users to easily purchase a domain that is immediately configured to work with your application."/><title>Sell domains in your app - Entri</title><meta name="og:url" content="/domain-purchasing"/><link rel="canonical" href="/domain-purchasing"/><meta name="next-head-count" content="25"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.0/dist/katex.min.css" integrity="sha384-Xi8rHCmBmhbuyyhbI88391ZKP2dmfnOl4rT9ZfRI7mLTdk1wblIUnrIq35nqwEvC" crossorigin="anonymous"/><link rel="preload" href="/_next/static/media/a34f9d1faa5f3315-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/media/bb3ef058b751a6ad-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><script id="mode-toggle" data-nscript="beforeInteractive"> try { if (localStorage.isDarkMode === 'true') { document.documentElement.classList.add('dark'); } else if (localStorage.isDarkMode === 'false') { document.documentElement.classList.remove('dark'); } else if ((false && !('isDarkMode' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches) || true) { document.documentElement.classList.add('dark'); } else { document.documentElement.classList.remove('dark'); } } catch (_) {} </script><link rel="preload" href="/_next/static/css/1b0bee2a213c6d45.css" as="style"/><link rel="stylesheet" href="/_next/static/css/1b0bee2a213c6d45.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-bf3c4f880e1dcd79.js" defer=""></script><script src="/_next/static/chunks/framework-d17a13b7014ce556.js" defer=""></script><script src="/_next/static/chunks/main-6f86f9a153903fae.js" defer=""></script><script src="/_next/static/chunks/pages/_app-f8a56e5f1adc47db.js" defer=""></script><script src="/_next/static/chunks/2edb282b-7fa355f49eaeb230.js" defer=""></script><script src="/_next/static/chunks/e893f787-54a006ae51267903.js" defer=""></script><script src="/_next/static/chunks/086d643d-3aa1cf46914548d9.js" defer=""></script><script src="/_next/static/chunks/9097-75a5bfb192203d09.js" defer=""></script><script src="/_next/static/chunks/6430-16e004706658d885.js" defer=""></script><script src="/_next/static/chunks/2073-fcba8b6245f0552c.js" defer=""></script><script src="/_next/static/chunks/pages/_sites/%5Bsubdomain%5D/%5B%5B...slug%5D%5D-7d0e3c1d0f130c24.js" defer=""></script><script src="/_next/static/8gqtPLLVbn-oaWMik8oUY/_buildManifest.js" defer=""></script><script src="/_next/static/8gqtPLLVbn-oaWMik8oUY/_ssgManifest.js" defer=""></script><style id="__jsx-4145347147">:root{--font-inter:'__Inter_e5ab12', '__Inter_Fallback_e5ab12';--font-jetbrains-mono:'__JetBrains_Mono_3c557b', '__JetBrains_Mono_Fallback_3c557b'}</style></head><div id="__next"><main class="jsx-4145347147"><style>:root { --primary: 27 102 213; --primary-light: 255 255 255; --primary-dark: 27 102 213; --background-light: 255 255 255; --background-dark: 0 18 45; --gray-50: 242 245 250; --gray-100: 236 240 245; --gray-200: 223 227 234; --gray-300: 203 210 219; --gray-400: 152 161 176; --gray-500: 105 114 131; --gray-600: 74 86 102; --gray-700: 54 66 85; --gray-800: 31 43 60; --gray-900: 17 26 44; --gray-950: 4 10 24; }</style><div class="relative antialiased text-gray-500 dark:text-gray-400"><span class="fixed inset-0 bg-background-light dark:bg-background-dark -z-10"></span><span class="fixed inset-0" style="background-image:url(&#x27;https://mintlify.s3-us-west-1.amazonaws.com/entri-42/images/background.png&#x27;);background-repeat:no-repeat;background-position:top right;background-attachment:fixed;-webkit-touch-callout:none"></span><div id="navbar" class="z-30 fixed lg:sticky top-0 w-full"><div id="navbar-transition" class="absolute w-full h-full backdrop-blur flex-none transition-colors duration-500 border-b border-gray-500/5 dark:border-gray-300/[0.06] supports-backdrop-blur:bg-background-light/60 dark:bg-transparent"></div><div class="max-w-8xl mx-auto relative"><div class=""><div class="relative"><div class="flex items-center lg:px-12 h-16 min-w-0 px-4"><div class="h-full relative flex-1 flex items-center gap-x-4 min-w-0 border-b border-gray-500/5 dark:border-gray-300/[0.06] lg:border-none"><div class="flex-1 flex items-center gap-x-4"><a href="/"><span class="sr-only">Entri<!-- --> home page</span><img class="w-auto h-7 relative object-contain block dark:hidden" src="https://mintlify.s3-us-west-1.amazonaws.com/entri-42/logo/light.png" alt="light logo"/><img class="w-auto h-7 relative object-contain hidden dark:block" src="https://mintlify.s3-us-west-1.amazonaws.com/entri-42/logo/dark.png" alt="dark logo"/></a><div class="flex items-center gap-x-2"></div></div><div class="hidden lg:block mx-px relative flex-1 bg-white dark:bg-gray-900 pointer-events-auto rounded-lg min-w-0"><button type="button" class="w-full flex items-center text-sm leading-6 rounded-lg py-1.5 pl-3.5 pr-3 shadow-sm text-gray-400 dark:text-white/50 bg-background-light dark:bg-background-dark dark:brightness-[1.1] dark:ring-1 dark:hover:brightness-[1.25] ring-1 ring-gray-400/20 hover:ring-gray-600/25 dark:ring-gray-600/30 dark:hover:ring-gray-500/30 focus:outline-primary justify-between truncate gap-2 min-w-[43px]" id="search-bar-entry"><div class="flex items-center gap-3 min-w-[42px]"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search min-w-4 flex-none text-gray-700 hover:text-gray-800 dark:text-gray-300 hover:dark:text-gray-200"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg><div class="truncate min-w-0">Search or ask...</div></div></button></div><div class="flex-1 relative hidden lg:flex items-center ml-auto justify-end space-x-4"><nav class="text-sm"><ul class="flex space-x-6 items-center"><li class="block lg:hidden"><a class="whitespace-nowrap font-medium text-gray-600 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" href="https://www.entri.com/products/connect?utm_term=entri&amp;utm_campaign=Entri+Search+Campaign&amp;utm_source=adwords&amp;utm_medium=ppc&amp;hsa_acc=7813870670&amp;hsa_cam=16449479279&amp;hsa_grp=133925002277&amp;hsa_ad=650360294556&amp;hsa_src=g&amp;hsa_tgt=kwd-370487985543&amp;hsa_kw=entri&amp;hsa_mt=e&amp;hsa_net=adwords&amp;hsa_ver=3&amp;gclid=CjwKCAiAmZGrBhAnEiwAo9qHidBkNlxGpprRtbfawek2vGlSGuVLHUFqeaUbuwNzGS2MjAb8UcmCbRoCL-4QAvD_BwE">Get Entri</a></li><li><a href="https://dashboard.entri.com/login" class="whitespace-nowrap font-medium text-gray-600 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" target="_blank">Login</a></li><li class="whitespace-nowrap hidden lg:flex" id="topbar-cta-button"><a target="_blank" class="group px-4 py-1.5 relative inline-flex items-center text-sm font-medium" href="https://www.entri.com/products/connect?utm_term=entri&amp;utm_campaign=Entri+Search+Campaign&amp;utm_source=adwords&amp;utm_medium=ppc&amp;hsa_acc=7813870670&amp;hsa_cam=16449479279&amp;hsa_grp=133925002277&amp;hsa_ad=650360294556&amp;hsa_src=g&amp;hsa_tgt=kwd-370487985543&amp;hsa_kw=entri&amp;hsa_mt=e&amp;hsa_net=adwords&amp;hsa_ver=3&amp;gclid=CjwKCAiAmZGrBhAnEiwAo9qHidBkNlxGpprRtbfawek2vGlSGuVLHUFqeaUbuwNzGS2MjAb8UcmCbRoCL-4QAvD_BwE"><span class="absolute inset-0 bg-primary-dark dark:bg-primary-light/10 border-primary-light/30 rounded-full dark:border group-hover:opacity-[0.9] dark:group-hover:border-primary-light/60"></span><div class="mr-0.5 space-x-2.5 flex items-center"><span class="z-10 text-white dark:text-primary-light">Get Entri</span><svg width="3" height="24" viewBox="0 -9 3 24" class="h-5 rotate-0 overflow-visible text-white/90 dark:text-primary-light"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg></div></a></li></ul></nav><div class="flex items-center"><button class="group p-2 flex items-center justify-center" aria-label="Toggle dark mode"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4 block text-gray-400 dark:hidden group-hover:text-gray-600"><g clip-path="url(#clip0_2880_7340)"><path d="M8 1.11133V2.00022" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M12.8711 3.12891L12.2427 3.75735" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M14.8889 8H14" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M12.8711 12.8711L12.2427 12.2427" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M8 14.8889V14" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M3.12891 12.8711L3.75735 12.2427" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M1.11133 8H2.00022" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M3.12891 3.12891L3.75735 3.75735" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M8.00043 11.7782C10.0868 11.7782 11.7782 10.0868 11.7782 8.00043C11.7782 5.91402 10.0868 4.22266 8.00043 4.22266C5.91402 4.22266 4.22266 5.91402 4.22266 8.00043C4.22266 10.0868 5.91402 11.7782 8.00043 11.7782Z" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></g><defs><clipPath id="clip0_2880_7340"><rect width="16" height="16" fill="white"></rect></clipPath></defs></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon h-4 w-4 hidden dark:block text-gray-500 dark:group-hover:text-gray-300"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg></button></div></div><div class="flex lg:hidden items-center gap-2"><button type="button" class="text-gray-500 w-8 h-8 flex items-center justify-center hover:text-gray-600 dark:text-gray-400 dark:hover:text-gray-300" id="search-bar-entry-mobile"><span class="sr-only">Search...</span><svg class="h-4 w-4 bg-gray-500 dark:bg-gray-400 hover:bg-gray-600 dark:hover:bg-gray-300" style="-webkit-mask-image:url(https://mintlify.b-cdn.net/v6.6.0/solid/magnifying-glass.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center"></svg></button><button aria-label="More actions" class="h-7 w-5 flex items-center justify-end"><svg class="h-4 w-4 bg-gray-500 dark:bg-gray-400 hover:bg-gray-600 dark:hover:bg-gray-300" style="-webkit-mask-image:url(https://mintlify.b-cdn.net/v6.6.0/solid/ellipsis-vertical.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center"></svg></button></div></div></div><div class="flex items-center h-14 py-4 px-5 lg:hidden"><button type="button" class="text-gray-500 hover:text-gray-600 dark:text-gray-400 dark:hover:text-gray-300"><span class="sr-only">Navigation</span><svg class="h-4" fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M0 96C0 78.3 14.3 64 32 64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z"></path></svg></button><div class="ml-4 flex text-sm leading-6 whitespace-nowrap min-w-0 space-x-3"><div class="flex items-center space-x-3"><span>Documentation</span><svg width="3" height="24" viewBox="0 -9 3 24" class="h-5 rotate-0 overflow-visible fill-gray-400"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg></div><div class="font-semibold text-gray-900 truncate dark:text-gray-200">Sell domains in your app</div></div></div></div></div></div></div><div class="px-4 mx-auto max-w-8xl lg:px-8 min-h-screen"><div class="z-20 hidden lg:block fixed bottom-0 right-auto w-[18rem] top-[4rem]" id="sidebar"><div class="absolute inset-0 z-10 stable-scrollbar-gutter overflow-auto pr-8 pb-10" id="sidebar-content"><div class="relative lg:text-sm lg:leading-6"><div class="sticky top-0 h-8"></div><div id="navigation-items"><li class="list-none"><a class="pl-4 group flex items-center lg:text-sm lg:leading-6 mb-5 sm:mb-4 font-semibold text-primary dark:text-primary-light" href="/getting-started"><div class="mr-4 rounded-md p-1 group-hover:bg-primary bg-primary"><svg class="h-4 w-4 secondary-opacity group-hover:fill-primary-dark group-hover:bg-white bg-white" style="-webkit-mask-image:url(https://mintlify.b-cdn.net/v6.6.0/duotone/book-open.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center"></svg></div>Documentation</a></li><li class="list-none"><a href="https://www.entri.com/resources/blog" target="_blank" rel="noreferrer" class="pl-4 group flex items-center lg:text-sm lg:leading-6 mb-5 sm:mb-4 font-medium text-gray-600 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300"><div class="mr-4 rounded-md p-1 group-hover:bg-primary zinc-box group-hover:brightness-100 group-hover:ring-0 ring-1 ring-gray-950/5 dark:ring-gray-700/40"><svg class="h-4 w-4 secondary-opacity group-hover:fill-primary-dark group-hover:bg-white bg-gray-400 dark:bg-gray-500" style="-webkit-mask-image:url(https://mintlify.b-cdn.net/v6.6.0/duotone/newspaper.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center"></svg></div>Blog</a></li><li class="list-none"><a href="https://www.entri.com/resources/instant-demos" target="_blank" rel="noreferrer" class="pl-4 group flex items-center lg:text-sm lg:leading-6 mb-5 sm:mb-4 font-medium text-gray-600 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300"><div class="mr-4 rounded-md p-1 group-hover:bg-primary zinc-box group-hover:brightness-100 group-hover:ring-0 ring-1 ring-gray-950/5 dark:ring-gray-700/40"><svg class="h-4 w-4 secondary-opacity group-hover:fill-primary-dark group-hover:bg-white bg-gray-400 dark:bg-gray-500" style="-webkit-mask-image:url(https://mintlify.b-cdn.net/v6.6.0/duotone/presentation-screen.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center"></svg></div>Demo</a></li><div class="mt-12 lg:mt-8"><h5 class="pl-4 mb-3.5 lg:mb-2.5 font-semibold text-gray-900 dark:text-gray-200">Documentation</h5><ul><li id="/getting-started" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light space-x-3 rounded-lg hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/getting-started"><div class="flex-1 flex items-center space-x-2.5"><div>Get started</div></div></a></li><li id="/install" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light space-x-3 rounded-lg hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/install"><div class="flex-1 flex items-center space-x-2.5"><div>Configure Entri</div></div></a></li><li><div class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light space-x-3 rounded-lg hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem"><div>Connect with DNS providers</div><svg width="3" height="24" viewBox="0 -9 3 24" class="transition-transform text-gray-400 overflow-visible group-hover:text-gray-600 dark:text-gray-600 dark:group-hover:text-gray-400"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg></div></li><li id="/domain-purchasing" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light space-x-3 rounded-lg bg-primary/10 text-primary font-semibold dark:text-primary-light dark:bg-primary-light/10" style="padding-left:1rem" href="/domain-purchasing"><div class="flex-1 flex items-center space-x-2.5"><div>Sell domains in your app</div></div></a></li><li id="/ssl-provisioning" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light space-x-3 rounded-lg hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/ssl-provisioning"><div class="flex-1 flex items-center space-x-2.5"><div>Provision SSL certificates with Secure</div></div></a></li><li id="/power" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light space-x-3 rounded-lg hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/power"><div class="flex-1 flex items-center space-x-2.5"><div>Power custom domains</div></div></a></li><li id="/webhooks" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light space-x-3 rounded-lg hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/webhooks"><div class="flex-1 flex items-center space-x-2.5"><div>Webhooks</div></div></a></li><li id="/api-reference" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light space-x-3 rounded-lg hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/api-reference"><div class="flex-1 flex items-center space-x-2.5"><div>API Reference</div></div></a></li></ul></div><div class="mt-12 lg:mt-8"><h5 class="pl-4 mb-3.5 lg:mb-2.5 font-semibold text-gray-900 dark:text-gray-200">Security</h5><ul><li id="/responsible-disclosure-policy" class="scroll-m-4 first:scroll-m-20"><a class="group mt-2 lg:mt-0 flex items-center pr-3 py-1.5 cursor-pointer focus:outline-primary dark:focus:outline-primary-light space-x-3 rounded-lg hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" href="/responsible-disclosure-policy"><div class="flex-1 flex items-center space-x-2.5"><div>Responsible Disclosure Policy</div></div></a></li></ul></div></div></div></div></div><div class="" id="content-container"><div class="flex flex-row gap-12 box-border w-full pt-40 lg:pt-10"><div class="relative grow box-border flex-col w-full mx-auto px-1 lg:pl-[23.7rem] lg:-ml-12 xl:w-[calc(100%-28rem)]" id="content-area"><header id="header" class="relative"><div class="mt-0.5 space-y-2.5"><div class="eyebrow h-5 text-primary dark:text-primary-light text-sm font-semibold">Documentation</div><div class="flex items-center"><h1 class="inline-block text-2xl sm:text-3xl font-extrabold text-gray-900 tracking-tight dark:text-gray-200">Sell domains in your app</h1></div></div><div class="mt-2 text-lg prose prose-gray dark:prose-invert"><p>Entri Sell enables your users to easily purchase a domain that is immediately configured to work with your application.</p></div></header><div class="flex flex-col gap-8"><div class="flex flex-col gap-6 xl:hidden [&amp;:not(:empty)]:mt-8"></div></div><div class="relative mt-8 prose prose-gray dark:prose-invert"><p>With Entri Sell, your users can buy and connect a domain name to your application effortlessly, right within the Entri modal. After purchase, Entri automatically connects their domain to your service, applying the records you define on the <code>dnsRecords</code> object.</p> <h2 class="flex whitespace-pre-wrap group" id="1-configure-entri"><div class="absolute"><a href="#1-configure-entri" class="-ml-10 flex items-center opacity-0 border-0 group-hover:opacity-100" aria-label="Navigate to header">​<div class="w-6 h-6 text-gray-400 rounded-md flex items-center justify-center zinc-box bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20"><svg xmlns="http://www.w3.org/2000/svg" fill="gray" height="12px" viewBox="0 0 576 512"><path d="M0 256C0 167.6 71.6 96 160 96h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C98.1 144 48 194.1 48 256s50.1 112 112 112h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c61.9 0 112-50.1 112-112s-50.1-112-112-112H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c88.4 0 160 71.6 160 160zM184 232H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z"></path></svg></div></a></div><span class="cursor-pointer">1. Configure Entri</span></h2> <p>To set up Sell, first <a href="/install">configure Entri</a>.</p> <p>Be sure to use <a href="/install#dynamic-configuration-variables-based-on-the-user-inputted-domain">dynamic configuration variables </a>if your DNS records change based on the domain purchased.</p> <h2 class="flex whitespace-pre-wrap group" id="2-define-your-return-urls"><div class="absolute"><a href="#2-define-your-return-urls" class="-ml-10 flex items-center opacity-0 border-0 group-hover:opacity-100" aria-label="Navigate to header">​<div class="w-6 h-6 text-gray-400 rounded-md flex items-center justify-center zinc-box bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20"><svg xmlns="http://www.w3.org/2000/svg" fill="gray" height="12px" viewBox="0 0 576 512"><path d="M0 256C0 167.6 71.6 96 160 96h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C98.1 144 48 194.1 48 256s50.1 112 112 112h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c61.9 0 112-50.1 112-112s-50.1-112-112-112H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c88.4 0 160 71.6 160 160zM184 232H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z"></path></svg></div></a></div><span class="cursor-pointer">2. Define your return URLs</span></h2> <p>Entri Sell redirects the user back to your platform if the they complete or exit the purchase flow. To ensure a seamless user experience, we require you to define two return URLs:</p> <ul> <li><code>successCallbackUrl</code>: The URL to which the user will be redirected after a successful domain purchase.</li> <li><code>exitCallbackUrl</code>: The URL to which the user will be redirected if they select Close (X) before completing the purchase flow.</li> </ul> <p>See more info at <a href="/_sites/developers.entri.com/domain-purchasing#basic-configuration">Basic Configuration</a>.</p> <h2 class="flex whitespace-pre-wrap group" id="3-call-purchasedomain"><div class="absolute"><a href="#3-call-purchasedomain" class="-ml-10 flex items-center opacity-0 border-0 group-hover:opacity-100" aria-label="Navigate to header">​<div class="w-6 h-6 text-gray-400 rounded-md flex items-center justify-center zinc-box bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20"><svg xmlns="http://www.w3.org/2000/svg" fill="gray" height="12px" viewBox="0 0 576 512"><path d="M0 256C0 167.6 71.6 96 160 96h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C98.1 144 48 194.1 48 256s50.1 112 112 112h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c61.9 0 112-50.1 112-112s-50.1-112-112-112H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c88.4 0 160 71.6 160 160zM184 232H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z"></path></svg></div></a></div><span class="cursor-pointer">3. Call purchaseDomain()</span></h2> <p>Call the <code>purchaseDomain</code> method with your configuration object to open the Entri Purchase Domain Flow.</p> <!-- --> <hr/> <p>That’s it! You’re all set. If you are using <a href="/api-reference#onentriclose-callback-event-datalaststatus-fields">Entri’s callback events</a>, the <code>setupType</code> will be set to <code>purchase</code>.</p> <div class="mt-5 mb-8 not-prose rounded-xl relative text-gray-50 bg-[#0F1117] dark:bg-codeblock dark:ring-1 dark:ring-gray-800/50 codeblock-dark"><div class="flex rounded-t-xl text-gray-400 text-xs leading-6 border-b font-medium bg-black/40 border-gray-900/80"><div class="flex-none border-b px-4 pt-2.5 pb-2 flex items-center text-primary-light border-primary-light">JavaScript</div><div class="flex-1 mr-4 flex items-center justify-end"></div></div><div class="min-w-full relative text-sm leading-6 children:!my-0 children:!shadow-none children:!bg-transparent transition-[height] duration-300 ease-in-out" style="font-variant-ligatures:none;height:auto"><div class="overflow-x-auto h-full p-5 overflow-y-hidden scrollbar-thin scrollbar-thumb-rounded scrollbar-thumb-white/20 dark:scrollbar-thumb-white/20 hover:scrollbar-thumb-white/25 dark:hover:scrollbar-thumb-white/25 active:scrollbar-thumb-white/25 dark:active:scrollbar-thumb-white/25"><pre class="language-javascript"><code class="language-JavaScript"><span class=""><span class="token punctuation">{</span></span> <span class=""> <span class="token literal-property property">domain</span><span class="token operator">:</span> <span class="token string">&quot;purchased-domain.com&quot;</span><span class="token punctuation">,</span></span> <span class=""> <span class="token literal-property property">success</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span></span> <span class=""> <span class="token literal-property property">setupType</span><span class="token operator">:</span> <span class="token string">&quot;purchase&quot;</span><span class="token punctuation">,</span></span> <span class=""> <span class="token literal-property property">provider</span><span class="token operator">:</span> <span class="token string">&quot;Ionos&quot;</span><span class="token punctuation">,</span></span> <span class=""> <span class="token literal-property property">lastStatus</span><span class="token operator">:</span> <span class="token string">&quot;FINISHED_SUCCESSFULLY&quot;</span><span class="token punctuation">,</span></span> <span class=""><span class="token punctuation">}</span></span> </code></pre></div></div></div> <h2 class="flex whitespace-pre-wrap group" id="configuration-object-specifications"><div class="absolute"><a href="#configuration-object-specifications" class="-ml-10 flex items-center opacity-0 border-0 group-hover:opacity-100" aria-label="Navigate to header">​<div class="w-6 h-6 text-gray-400 rounded-md flex items-center justify-center zinc-box bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20"><svg xmlns="http://www.w3.org/2000/svg" fill="gray" height="12px" viewBox="0 0 576 512"><path d="M0 256C0 167.6 71.6 96 160 96h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C98.1 144 48 194.1 48 256s50.1 112 112 112h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c61.9 0 112-50.1 112-112s-50.1-112-112-112H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c88.4 0 160 71.6 160 160zM184 232H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z"></path></svg></div></a></div><span class="cursor-pointer">Configuration object specifications</span></h2> <p>More information about the properties within the object that you’ll pass to the <code>entri.purchaseDomain</code> method.</p> <h3 class="flex whitespace-pre-wrap group" id="basic-configuration"><div class="absolute"><a href="#basic-configuration" class="-ml-10 flex items-center opacity-0 border-0 group-hover:opacity-100" aria-label="Navigate to header">​<div class="w-6 h-6 text-gray-400 rounded-md flex items-center justify-center zinc-box bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20"><svg xmlns="http://www.w3.org/2000/svg" fill="gray" height="12px" viewBox="0 0 576 512"><path d="M0 256C0 167.6 71.6 96 160 96h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C98.1 144 48 194.1 48 256s50.1 112 112 112h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c61.9 0 112-50.1 112-112s-50.1-112-112-112H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c88.4 0 160 71.6 160 160zM184 232H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z"></path></svg></div></a></div><span class="cursor-pointer"><strong>Basic Configuration</strong></span></h3> <ul> <li> <p><strong><code>applicationId</code></strong> (string): A unique identifier for your application, available in the Entri dashboard. <strong>Example:</strong> <code>&quot;12345&quot;</code></p> </li> <li> <p><strong><code>token</code></strong> (string): A JWT token used for authentication and authorization. <strong>Example:</strong> <code>&quot;JWT_TOKEN&quot;</code></p> </li> <li> <p><strong><code>sellVersion</code></strong> (string) (<strong>required</strong>): The version of the domain purchase flow that should be shown. Setting this to <code>&quot;v3&quot;</code> will activate the latest version with enhanced features. <strong>Example:</strong> <code>&quot;v3&quot;</code></p> </li> <li> <p><strong><code>successCallbackUrl</code></strong> (string): The URL to which the user will be redirected after a successful domain purchase. The purchased domain will be added as a <code>domain</code> query string parameter to the success callback URL. <strong>Example:</strong> <code>&quot;https://myapplication.com/success&quot;</code> (redirects to <code>https://myapplication.com/success?domain=mydomain.com</code>)</p> </li> <li> <p><strong><code>exitCallbackUrl</code></strong> (string): The URL to which the user will be redirected if they select Close (X) before completing the purchase flow. <strong>Example:</strong> <code>&quot;https://myapplication.com/exit&quot;</code></p> </li> </ul> <h3 class="flex whitespace-pre-wrap group" id="dns-records"><div class="absolute"><a href="#dns-records" class="-ml-10 flex items-center opacity-0 border-0 group-hover:opacity-100" aria-label="Navigate to header">​<div class="w-6 h-6 text-gray-400 rounded-md flex items-center justify-center zinc-box bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20"><svg xmlns="http://www.w3.org/2000/svg" fill="gray" height="12px" viewBox="0 0 576 512"><path d="M0 256C0 167.6 71.6 96 160 96h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C98.1 144 48 194.1 48 256s50.1 112 112 112h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c61.9 0 112-50.1 112-112s-50.1-112-112-112H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c88.4 0 160 71.6 160 160zM184 232H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z"></path></svg></div></a></div><span class="cursor-pointer"><strong>DNS Records</strong></span></h3> <ul> <li> <p><strong><code>dnsRecords</code></strong> (array of objects): An array containing DNS record objects. These records will applied after a successful domain purchase.</p> <p><strong>Example:</strong></p> <div class="mt-5 mb-8 not-prose rounded-xl relative text-gray-50 bg-[#0F1117] dark:bg-codeblock dark:ring-1 dark:ring-gray-800/50 codeblock-dark"><div class="min-w-full relative text-sm leading-6 children:!my-0 children:!shadow-none children:!bg-transparent transition-[height] duration-300 ease-in-out" style="font-variant-ligatures:none;height:auto"><div class="overflow-x-auto h-full p-5 overflow-y-hidden scrollbar-thin scrollbar-thumb-rounded scrollbar-thumb-white/20 dark:scrollbar-thumb-white/20 hover:scrollbar-thumb-white/25 dark:hover:scrollbar-thumb-white/25 active:scrollbar-thumb-white/25 dark:active:scrollbar-thumb-white/25"><pre class="language-json"><code class="language-json"><span class=""><span class="token punctuation">[</span></span> <span class=""> <span class="token punctuation">{</span></span> <span class=""> <span class="token property">&quot;type&quot;</span><span class="token operator">:</span> <span class="token string">&quot;A&quot;</span><span class="token punctuation">,</span></span> <span class=""> <span class="token property">&quot;host&quot;</span><span class="token operator">:</span> <span class="token string">&quot;@&quot;</span><span class="token punctuation">,</span></span> <span class=""> <span class="token property">&quot;value&quot;</span><span class="token operator">:</span> <span class="token string">&quot;93.184.216.34&quot;</span><span class="token punctuation">,</span></span> <span class=""> <span class="token property">&quot;ttl&quot;</span><span class="token operator">:</span> <span class="token number">300</span></span> <span class=""> <span class="token punctuation">}</span><span class="token punctuation">,</span></span> <span class=""> <span class="token punctuation">{</span></span> <span class=""> <span class="token property">&quot;type&quot;</span><span class="token operator">:</span> <span class="token string">&quot;A&quot;</span><span class="token punctuation">,</span></span> <span class=""> <span class="token property">&quot;host&quot;</span><span class="token operator">:</span> <span class="token string">&quot;aipv4&quot;</span><span class="token punctuation">,</span></span> <span class=""> <span class="token property">&quot;value&quot;</span><span class="token operator">:</span> <span class="token string">&quot;93.184.216.34&quot;</span><span class="token punctuation">,</span></span> <span class=""> <span class="token property">&quot;ttl&quot;</span><span class="token operator">:</span> <span class="token number">300</span></span> <span class=""> <span class="token punctuation">}</span></span> <span class=""><span class="token punctuation">]</span></span> </code></pre></div></div></div> </li> </ul> <h3 class="flex whitespace-pre-wrap group" id="theming-and-branding"><div class="absolute"><a href="#theming-and-branding" class="-ml-10 flex items-center opacity-0 border-0 group-hover:opacity-100" aria-label="Navigate to header">​<div class="w-6 h-6 text-gray-400 rounded-md flex items-center justify-center zinc-box bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20"><svg xmlns="http://www.w3.org/2000/svg" fill="gray" height="12px" viewBox="0 0 576 512"><path d="M0 256C0 167.6 71.6 96 160 96h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C98.1 144 48 194.1 48 256s50.1 112 112 112h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c61.9 0 112-50.1 112-112s-50.1-112-112-112H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c88.4 0 160 71.6 160 160zM184 232H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z"></path></svg></div></a></div><span class="cursor-pointer"><strong>Theming &amp; Branding</strong></span></h3> <ul> <li> <p><strong><code>whiteLabel</code></strong> (object): Options for customizing the appearance of the domain purchase flow to match your brand.</p> <ul> <li> <p><strong><code>theme</code></strong> (object): Customizes the colors used in the purchase flow.</p> <ul> <li> <p><strong><code>primary</code></strong> (string): Main color used in your theme. It’s usually the most recognizable color in the interface. <strong>Example:</strong> <code>&quot;#012939&quot;</code></p> </li> <li> <p><strong><code>onPrimary</code></strong> (string): Color used for text and icons that appear on top of the primary color. <strong>Example:</strong> <code>&quot;#ffffff&quot;</code></p> </li> <li> <p><strong><code>secondary</code></strong> (string): Color that complements the primary color and is used for secondary UI elements. <strong>Example:</strong> <code>&quot;#012939&quot;</code></p> </li> <li> <p><strong><code>onSecondary</code></strong> (string): Color used for text and icons that appear on top of the secondary color. <strong>Example:</strong> <code>&quot;#ffffff&quot;</code></p> </li> <li> <p><strong><code>headerBackground</code></strong> (string) (<strong>optional</strong>): Background color of the header. Accepts any valid CSS color code (e.g., hex, rgb). If not defined, it will default to the primary color value. <strong>Example:</strong> <code>&quot;#123456&quot;</code></p> </li> <li> <p><strong><code>interactive</code></strong> (string) (<strong>optional</strong>): Color for interactive elements such as radio buttons. Accepts any valid CSS color code (e.g., hex, rgb). <strong>Example:</strong> <code>&quot;#ffcc00&quot;</code></p> </li> <li> <p><strong><code>premiumBadge</code></strong> (string) (<strong>optional</strong>): Background color of premium badge components. Accepts any valid CSS color code (e.g., hex, rgb). <strong>Example:</strong> <code>&quot;#00ffcc&quot;</code></p> </li> <li> <p><strong><code>onPremiumBadge</code></strong> (string) (<strong>optional</strong>): Text color on the premium badge. Accepts any valid CSS color code (e.g., hex, rgb). <strong>Example:</strong> <code>&quot;#ffffff&quot;</code></p> </li> <li> <p><strong><code>priceBadge</code></strong> (string) (<strong>optional</strong>):<br/> <!-- -->This field specifies the background color of the price badge component. Accepts any valid CSS color code (e.g., hex, rgb).<br/> <strong>Example:</strong> <code>&quot;#ff6600&quot;</code></p> </li> <li> <p><strong><code>onPriceBadge</code></strong> (string) (<strong>optional</strong>):<br/> <!-- -->This field specifies the text color on the price badge. Accepts any valid CSS color code (e.g., hex, rgb).<br/> <strong>Example:</strong> <code>&quot;#ffffff&quot;</code></p> </li> <li> <p><strong><code>activating</code></strong> (string) (<strong>optional</strong>): Background color of the “Search Domain” button. Accepts any valid CSS color code (e.g., hex, rgb). <strong>Example:</strong> <code>&quot;#ff4500&quot;</code></p> </li> <li> <p><strong><code>onActivating</code></strong> (string) (<strong>optional</strong>): Text color on the “Search Domain” button. Accepts any valid CSS color code (e.g., hex, rgb). <strong>Example:</strong> <code>&quot;#000000&quot;</code></p> </li> </ul> </li> <li> <p><strong><code>hideEntriLogo</code></strong> (boolean): Hide the Entri logo in the purchase flow. <strong>Example:</strong> <code>true</code></p> </li> <li> <p><strong><code>hideCompanyLogo</code></strong> (boolean): Hide the company logo in the purchase flow. <strong>Example:</strong> <code>true</code></p> </li> <li> <p><strong><code>hideCompanyName</code></strong> (boolean): Hide the company name in the purchase flow. <strong>Example:</strong> <code>true</code></p> </li> <li> <p><strong><code>customCopy</code></strong> (object): Custom text to be displayed in the purchase flow.</p> <ul> <li> <p><strong><code>initialScreen.title.{locale}</code></strong> (object): Title text that appears on the initial screen of the domain purchase flow, localized by language. <strong>Example:</strong> <code>&quot;Search for your domain&quot;</code></p> </li> <li> <p><strong><code>initialScreen.marketingCopy.{locale}</code></strong> (object): Marketing copy that appears below the domain input field, localized by language. <strong>Example:</strong> <code>&quot;Your website will look even better with a custom domain!&quot;</code></p> </li> </ul> <p> <!-- --> </p> </li> </ul> </li> </ul> <h3 class="flex whitespace-pre-wrap group" id="sell-object"><div class="absolute"><a href="#sell-object" class="-ml-10 flex items-center opacity-0 border-0 group-hover:opacity-100" aria-label="Navigate to header">​<div class="w-6 h-6 text-gray-400 rounded-md flex items-center justify-center zinc-box bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20"><svg xmlns="http://www.w3.org/2000/svg" fill="gray" height="12px" viewBox="0 0 576 512"><path d="M0 256C0 167.6 71.6 96 160 96h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C98.1 144 48 194.1 48 256s50.1 112 112 112h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c61.9 0 112-50.1 112-112s-50.1-112-112-112H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c88.4 0 160 71.6 160 160zM184 232H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z"></path></svg></div></a></div><span class="cursor-pointer"><strong>Sell Object</strong></span></h3> <ul> <li> <p><strong><code>whiteLabel.sell</code></strong> (object): Contains information specific to the cobranding and user data prefill in the domain purchase flow.</p> <ul> <li> <p><strong><code>partnerLogo</code></strong> (string): The URL of the partner’s logo, which will be displayed prominently in the cobranded header. <strong>Example:</strong> <code>&quot;https://cdn.goentri.com/mylogo.svg&quot;</code></p> </li> <li> <p><strong><code>partnerIcon</code></strong> (string): The URL of the partner’s icon, which will appear in the floating cart at the bottom of the page. <strong>Example:</strong> <code>&quot;https://cdn.goentri.com/myicon.svg&quot;</code></p> </li> <li> <p><strong><code>partnerName</code></strong> (string): The name of the partner company, displayed within the purchase flow. <strong>Example:</strong> <code>&quot;My Company name&quot;</code></p> </li> <li> <p><strong><code>contact</code></strong> (object): Prefilled user data to be used in the contact information form during domain creation. The following fields are supported:</p> <ul> <li> <p><strong><code>firstName</code></strong> (string): User’s first name. <strong>Example:</strong> <code>&quot;John&quot;</code></p> </li> <li> <p><strong><code>lastName</code></strong> (string): User’s last name. <strong>Example:</strong> <code>&quot;Doe&quot;</code></p> </li> <li> <p><strong><code>email</code></strong> (string): User’s email address. <strong>Example:</strong> <code>&quot;john.doe@example.com&quot;</code></p> </li> <li> <p><strong><code>phone</code></strong> (string): User’s phone number. <strong>Example:</strong> <code>&quot;+1234567890&quot;</code></p> </li> <li> <p><strong><code>address</code></strong> (string): User’s street address. <strong>Example:</strong> <code>&quot;123 Main St&quot;</code></p> </li> <li> <p><strong><code>zip</code></strong> (string): User’s ZIP or postal code. <strong>Example:</strong> <code>&quot;12345&quot;</code></p> </li> <li> <p><strong><code>city</code></strong> (string): User’s city. <strong>Example:</strong> <code>&quot;Exampleville&quot;</code></p> </li> <li> <p><strong><code>state</code></strong> (string): User’s state or province. <strong>Example:</strong> <code>&quot;EX&quot;</code></p> </li> <li> <p><strong><code>postalCode</code></strong> (string): User’s postal code. <strong>Example:</strong> <code>&quot;12345&quot;</code></p> </li> <li> <p><strong><code>country</code></strong> (string): User’s country. <strong>Example:</strong> <code>&quot;US&quot;</code></p> </li> </ul> </li> </ul> </li> </ul> <h3 class="flex whitespace-pre-wrap group" id="other-settings"><div class="absolute"><a href="#other-settings" class="-ml-10 flex items-center opacity-0 border-0 group-hover:opacity-100" aria-label="Navigate to header">​<div class="w-6 h-6 text-gray-400 rounded-md flex items-center justify-center zinc-box bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20"><svg xmlns="http://www.w3.org/2000/svg" fill="gray" height="12px" viewBox="0 0 576 512"><path d="M0 256C0 167.6 71.6 96 160 96h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C98.1 144 48 194.1 48 256s50.1 112 112 112h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c61.9 0 112-50.1 112-112s-50.1-112-112-112H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c88.4 0 160 71.6 160 160zM184 232H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z"></path></svg></div></a></div><span class="cursor-pointer"><strong>Other Settings</strong></span></h3> <ul> <li> <p><strong><code>freeDomain</code></strong> (boolean): Indicates whether the domain price should be set to $0. Should only be used on paid users at the customer’s platform. <strong>Example:</strong> <code>true</code></p> </li> <li> <p><strong><code>locale</code></strong> (string): The language/locale to be used in the domain purchase flow. <strong>Example:</strong> <code>&quot;en&quot;</code></p> </li> </ul> <hr/> <div class="my-4 px-5 py-4 overflow-hidden rounded-xl flex gap-3 border border-sky-500/20 bg-sky-50/50 dark:border-sky-500/30 dark:bg-sky-500/10"><div class="mt-0.5 w-4"><svg width="14" height="14" viewBox="0 0 14 14" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="w-4 h-4 text-sky-500" aria-label="Note"><path fill-rule="evenodd" clip-rule="evenodd" d="M7 1.3C10.14 1.3 12.7 3.86 12.7 7C12.7 10.14 10.14 12.7 7 12.7C5.48908 12.6974 4.0408 12.096 2.97241 11.0276C1.90403 9.9592 1.30264 8.51092 1.3 7C1.3 3.86 3.86 1.3 7 1.3ZM7 0C3.14 0 0 3.14 0 7C0 10.86 3.14 14 7 14C10.86 14 14 10.86 14 7C14 3.14 10.86 0 7 0ZM8 3H6V8H8V3ZM8 9H6V11H8V9Z"></path></svg></div><div class="text-sm prose min-w-0 text-sky-900 dark:text-sky-200"><p><strong>Coming soon 🔥</strong></p><p>Offer an email solution (Google Workspace, MSFT 365, IONOS Mail) as part of the Sell checkout flow To enable this, just pass <code>offerEmailService:true</code> as a key in your config.</p></div></div> <h2 class="flex whitespace-pre-wrap group" id="advanced-security-settings-for-freedomain"><div class="absolute"><a href="#advanced-security-settings-for-freedomain" class="-ml-10 flex items-center opacity-0 border-0 group-hover:opacity-100" aria-label="Navigate to header">​<div class="w-6 h-6 text-gray-400 rounded-md flex items-center justify-center zinc-box bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20"><svg xmlns="http://www.w3.org/2000/svg" fill="gray" height="12px" viewBox="0 0 576 512"><path d="M0 256C0 167.6 71.6 96 160 96h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C98.1 144 48 194.1 48 256s50.1 112 112 112h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c61.9 0 112-50.1 112-112s-50.1-112-112-112H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c88.4 0 160 71.6 160 160zM184 232H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z"></path></svg></div></a></div><span class="cursor-pointer">Advanced Security Settings for <code>freeDomain</code></span></h2> <p>For additional security, you can explicitly set <code>freeDomain:false</code> or <code>freeDomain:true</code> when you create the JWT. This way, the user gets explicit authorization for running the free domain flow.</p> <p>If the client tries to use a config that doesn’t match the one hashed in the JWT, it will return an error. Here’s an example of how to use this when generating the JWT:</p> <table><thead><tr><th align="left">Property</th><th align="left">Type</th><th align="left">Required</th><th align="left">Default</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code>freeDomain</code></td><td align="left">boolean</td><td align="left">No</td><td align="left">N/A</td><td align="left">When set to <code>true</code>, it will only allow Entri to run under the <code>freeDomain</code> flow.</td></tr></tbody></table> <div class="mt-5 mb-8 not-prose rounded-xl relative text-gray-50 bg-[#0F1117] dark:bg-codeblock dark:ring-1 dark:ring-gray-800/50 codeblock-dark"><div class="flex rounded-t-xl text-gray-400 text-xs leading-6 border-b font-medium bg-black/40 border-gray-900/80"><div class="flex-none border-b px-4 pt-2.5 pb-2 flex items-center text-primary-light border-primary-light">JavaScript</div><div class="flex-1 mr-4 flex items-center justify-end"></div></div><div class="min-w-full relative text-sm leading-6 children:!my-0 children:!shadow-none children:!bg-transparent transition-[height] duration-300 ease-in-out" style="font-variant-ligatures:none;height:auto"><div class="overflow-x-auto h-full p-5 overflow-y-hidden scrollbar-thin scrollbar-thumb-rounded scrollbar-thumb-white/20 dark:scrollbar-thumb-white/20 hover:scrollbar-thumb-white/25 dark:hover:scrollbar-thumb-white/25 active:scrollbar-thumb-white/25 dark:active:scrollbar-thumb-white/25"><pre class="language-javascript"><code class="language-JavaScript"><span class=""><span class="token function">fetch</span><span class="token punctuation">(</span><span class="token string">&#x27;https://api.goentri.com/token&#x27;</span><span class="token punctuation">,</span> <span class="token punctuation">{</span></span> <span class=""> <span class="token literal-property property">method</span><span class="token operator">:</span> <span class="token string">&#x27;POST&#x27;</span><span class="token punctuation">,</span></span> <span class=""> <span class="token literal-property property">body</span><span class="token operator">:</span> <span class="token known-class-name class-name">JSON</span><span class="token punctuation">.</span><span class="token method function property-access">stringify</span><span class="token punctuation">(</span><span class="token punctuation">{</span></span> <span class=""> <span class="token comment">// These values come from the Entri dashboard</span></span> <span class=""> <span class="token literal-property property">applicationId</span><span class="token operator">:</span> <span class="token string">&quot;12345&quot;</span><span class="token punctuation">,</span></span> <span class=""> <span class="token literal-property property">secret</span><span class="token operator">:</span> <span class="token string">&quot;12345-67890&quot;</span><span class="token punctuation">,</span></span> <span class=""> <span class="token literal-property property">freeDomain</span><span class="token operator">:</span> <span class="token boolean">true</span></span> <span class=""> <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">,</span></span> <span class=""><span class="token punctuation">}</span><span class="token punctuation">)</span></span> <span class=""> <span class="token punctuation">.</span><span class="token method function property-access">then</span><span class="token punctuation">(</span><span class="token parameter">response</span> <span class="token arrow operator">=&gt;</span> response<span class="token punctuation">.</span><span class="token method function property-access">json</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span></span> <span class=""> <span class="token punctuation">.</span><span class="token method function property-access">then</span><span class="token punctuation">(</span><span class="token parameter">data</span> <span class="token arrow operator">=&gt;</span> <span class="token punctuation">{</span></span> <span class=""> <span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">log</span><span class="token punctuation">(</span><span class="token string">&#x27;Success:&#x27;</span><span class="token punctuation">,</span> data<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// { &quot;auth_token&quot;: &quot;exampletoken...&quot; }</span></span> <span class=""> <span class="token comment">// Save the token in a variable or state manager for later use</span></span> <span class=""> <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span></span> </code></pre></div></div></div> <h2 class="flex whitespace-pre-wrap group" id="migrating-from-entri-sell-v2-v3"><div class="absolute"><a href="#migrating-from-entri-sell-v2-v3" class="-ml-10 flex items-center opacity-0 border-0 group-hover:opacity-100" aria-label="Navigate to header">​<div class="w-6 h-6 text-gray-400 rounded-md flex items-center justify-center zinc-box bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20"><svg xmlns="http://www.w3.org/2000/svg" fill="gray" height="12px" viewBox="0 0 576 512"><path d="M0 256C0 167.6 71.6 96 160 96h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C98.1 144 48 194.1 48 256s50.1 112 112 112h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c61.9 0 112-50.1 112-112s-50.1-112-112-112H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c88.4 0 160 71.6 160 160zM184 232H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z"></path></svg></div></a></div><span class="cursor-pointer">Migrating from Entri Sell V2 =&gt; V3?</span></h2> <p>If you are currently using a previous version of the <code>entri.purchaseDomain</code> functionality and would like to migrate to the new version, follow these steps to ensure a smooth transition:</p> <h3 class="flex whitespace-pre-wrap group" id="step-1-update-the-sellversion"><div class="absolute"><a href="#step-1-update-the-sellversion" class="-ml-10 flex items-center opacity-0 border-0 group-hover:opacity-100" aria-label="Navigate to header">​<div class="w-6 h-6 text-gray-400 rounded-md flex items-center justify-center zinc-box bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20"><svg xmlns="http://www.w3.org/2000/svg" fill="gray" height="12px" viewBox="0 0 576 512"><path d="M0 256C0 167.6 71.6 96 160 96h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C98.1 144 48 194.1 48 256s50.1 112 112 112h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c61.9 0 112-50.1 112-112s-50.1-112-112-112H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c88.4 0 160 71.6 160 160zM184 232H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z"></path></svg></div></a></div><span class="cursor-pointer">Step 1: Update the <code>sellVersion</code></span></h3> <ul> <li> <p><strong>Add the <code>sellVersion</code> Key</strong>: Ensure that your configuration includes the <code>sellVersion</code> key set to <code>&quot;v3&quot;</code>. This will activate the new version of the domain purchase flow.</p> <div class="mt-5 mb-8 not-prose rounded-xl relative text-gray-50 bg-[#0F1117] dark:bg-codeblock dark:ring-1 dark:ring-gray-800/50 codeblock-dark"><div class="min-w-full relative text-sm leading-6 children:!my-0 children:!shadow-none children:!bg-transparent transition-[height] duration-300 ease-in-out" style="font-variant-ligatures:none;height:auto"><div class="overflow-x-auto h-full p-5 overflow-y-hidden scrollbar-thin scrollbar-thumb-rounded scrollbar-thumb-white/20 dark:scrollbar-thumb-white/20 hover:scrollbar-thumb-white/25 dark:hover:scrollbar-thumb-white/25 active:scrollbar-thumb-white/25 dark:active:scrollbar-thumb-white/25"><pre class="language-json"><code class="language-json"><span class=""><span class="token property">&quot;sellVersion&quot;</span><span class="token operator">:</span> <span class="token string">&quot;v3&quot;</span></span> </code></pre></div></div></div> </li> </ul> <h3 class="flex whitespace-pre-wrap group" id="step-2-implement-new-redirect-urls"><div class="absolute"><a href="#step-2-implement-new-redirect-urls" class="-ml-10 flex items-center opacity-0 border-0 group-hover:opacity-100" aria-label="Navigate to header">​<div class="w-6 h-6 text-gray-400 rounded-md flex items-center justify-center zinc-box bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20"><svg xmlns="http://www.w3.org/2000/svg" fill="gray" height="12px" viewBox="0 0 576 512"><path d="M0 256C0 167.6 71.6 96 160 96h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C98.1 144 48 194.1 48 256s50.1 112 112 112h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c61.9 0 112-50.1 112-112s-50.1-112-112-112H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c88.4 0 160 71.6 160 160zM184 232H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z"></path></svg></div></a></div><span class="cursor-pointer">Step 2: Implement New Redirect URLs</span></h3> <ul> <li> <p><strong>Add <code>successCallbackUrl</code> and <code>exitCallbackUrl</code></strong>: Define where users should be redirected after the domain purchase flow is completed, whether successfully or due to an error.</p> <div class="mt-5 mb-8 not-prose rounded-xl relative text-gray-50 bg-[#0F1117] dark:bg-codeblock dark:ring-1 dark:ring-gray-800/50 codeblock-dark"><div class="min-w-full relative text-sm leading-6 children:!my-0 children:!shadow-none children:!bg-transparent transition-[height] duration-300 ease-in-out" style="font-variant-ligatures:none;height:auto"><div class="overflow-x-auto h-full p-5 overflow-y-hidden scrollbar-thin scrollbar-thumb-rounded scrollbar-thumb-white/20 dark:scrollbar-thumb-white/20 hover:scrollbar-thumb-white/25 dark:hover:scrollbar-thumb-white/25 active:scrollbar-thumb-white/25 dark:active:scrollbar-thumb-white/25"><pre class="language-json"><code class="language-json"><span class=""><span class="token property">&quot;successCallbackUrl&quot;</span><span class="token operator">:</span> <span class="token string">&quot;https://your-success-url.com&quot;</span><span class="token punctuation">,</span></span> <span class=""><span class="token property">&quot;exitCallbackUrl&quot;</span><span class="token operator">:</span> <span class="token string">&quot;https://your-error-url.com&quot;</span></span> </code></pre></div></div></div> </li> </ul> <h3 class="flex whitespace-pre-wrap group" id="step-3-update-theming-options"><div class="absolute"><a href="#step-3-update-theming-options" class="-ml-10 flex items-center opacity-0 border-0 group-hover:opacity-100" aria-label="Navigate to header">​<div class="w-6 h-6 text-gray-400 rounded-md flex items-center justify-center zinc-box bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20"><svg xmlns="http://www.w3.org/2000/svg" fill="gray" height="12px" viewBox="0 0 576 512"><path d="M0 256C0 167.6 71.6 96 160 96h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C98.1 144 48 194.1 48 256s50.1 112 112 112h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c61.9 0 112-50.1 112-112s-50.1-112-112-112H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c88.4 0 160 71.6 160 160zM184 232H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z"></path></svg></div></a></div><span class="cursor-pointer">Step 3: Update Theming Options</span></h3> <ul> <li> <p><strong>Expand Theme Configuration</strong>: Review and expand your theme settings to include new customizations like the <code>onSecondary</code> and <code>secondary</code> keys, which control the colors of interactive elements like buttons.</p> <div class="mt-5 mb-8 not-prose rounded-xl relative text-gray-50 bg-[#0F1117] dark:bg-codeblock dark:ring-1 dark:ring-gray-800/50 codeblock-dark"><div class="min-w-full relative text-sm leading-6 children:!my-0 children:!shadow-none children:!bg-transparent transition-[height] duration-300 ease-in-out" style="font-variant-ligatures:none;height:auto"><div class="overflow-x-auto h-full p-5 overflow-y-hidden scrollbar-thin scrollbar-thumb-rounded scrollbar-thumb-white/20 dark:scrollbar-thumb-white/20 hover:scrollbar-thumb-white/25 dark:hover:scrollbar-thumb-white/25 active:scrollbar-thumb-white/25 dark:active:scrollbar-thumb-white/25"><pre class="language-json"><code class="language-json"><span class=""><span class="token property">&quot;theme&quot;</span><span class="token operator">:</span> <span class="token punctuation">{</span></span> <span class=""> <span class="token property">&quot;primary&quot;</span><span class="token operator">:</span> <span class="token string">&quot;#012939&quot;</span><span class="token punctuation">,</span></span> <span class=""> <span class="token property">&quot;onPrimary&quot;</span><span class="token operator">:</span> <span class="token string">&quot;#ffffff&quot;</span><span class="token punctuation">,</span></span> <span class=""> <span class="token property">&quot;secondary&quot;</span><span class="token operator">:</span> <span class="token string">&quot;#ffffff&quot;</span><span class="token punctuation">,</span></span> <span class=""> <span class="token property">&quot;onSecondary&quot;</span><span class="token operator">:</span> <span class="token string">&quot;#012939&quot;</span><span class="token punctuation">,</span></span> <span class=""> <span class="token property">&quot;headerBackground&quot;</span><span class="token operator">:</span> <span class="token string">&quot;#012939&quot;</span><span class="token punctuation">,</span></span> <span class=""> <span class="token property">&quot;interactive&quot;</span><span class="token operator">:</span> <span class="token string">&quot;#ffcc00&quot;</span><span class="token punctuation">,</span></span> <span class=""> <span class="token property">&quot;premiumBadge&quot;</span><span class="token operator">:</span> <span class="token string">&quot;#00ffcc&quot;</span><span class="token punctuation">,</span></span> <span class=""> <span class="token property">&quot;onPremiumBadge&quot;</span><span class="token operator">:</span> <span class="token string">&quot;#ffffff&quot;</span><span class="token punctuation">,</span></span> <span class=""> <span class="token property">&quot;priceBadge&quot;</span><span class="token operator">:</span> <span class="token string">&quot;ff6600&quot;</span><span class="token punctuation">,</span></span> <span class=""> <span class="token property">&quot;onPriceBadge&quot;</span><span class="token operator">:</span> <span class="token string">&quot;ffffff&quot;</span><span class="token punctuation">,</span></span> <span class=""> <span class="token property">&quot;activating&quot;</span><span class="token operator">:</span> <span class="token string">&quot;#ff4500&quot;</span><span class="token punctuation">,</span></span> <span class=""> <span class="token property">&quot;onActivating&quot;</span><span class="token operator">:</span> <span class="token string">&quot;#000000&quot;</span></span> <span class=""><span class="token punctuation">}</span></span> </code></pre></div></div></div> </li> </ul> <h3 class="flex whitespace-pre-wrap group" id="step-4-customize-the-sell-object-optional"><div class="absolute"><a href="#step-4-customize-the-sell-object-optional" class="-ml-10 flex items-center opacity-0 border-0 group-hover:opacity-100" aria-label="Navigate to header">​<div class="w-6 h-6 text-gray-400 rounded-md flex items-center justify-center zinc-box bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20"><svg xmlns="http://www.w3.org/2000/svg" fill="gray" height="12px" viewBox="0 0 576 512"><path d="M0 256C0 167.6 71.6 96 160 96h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C98.1 144 48 194.1 48 256s50.1 112 112 112h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c61.9 0 112-50.1 112-112s-50.1-112-112-112H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c88.4 0 160 71.6 160 160zM184 232H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z"></path></svg></div></a></div><span class="cursor-pointer">Step 4: Customize the <code>sell</code> Object (Optional)</span></h3> <ul> <li> <p><strong>Add Branding and User Data</strong>: If you want to leverage the new cobranded experience, populate the <code>sell</code> object with your partner branding and prefilled user data. This includes fields like <code>partnerLogo</code>, <code>partnerIcon</code>, <code>partnerName</code>, and the <code>contact</code> object.</p> <div class="mt-5 mb-8 not-prose rounded-xl relative text-gray-50 bg-[#0F1117] dark:bg-codeblock dark:ring-1 dark:ring-gray-800/50 codeblock-dark"><div class="min-w-full relative text-sm leading-6 children:!my-0 children:!shadow-none children:!bg-transparent transition-[height] duration-300 ease-in-out" style="font-variant-ligatures:none;height:auto"><div class="overflow-x-auto h-full p-5 overflow-y-hidden scrollbar-thin scrollbar-thumb-rounded scrollbar-thumb-white/20 dark:scrollbar-thumb-white/20 hover:scrollbar-thumb-white/25 dark:hover:scrollbar-thumb-white/25 active:scrollbar-thumb-white/25 dark:active:scrollbar-thumb-white/25"><pre class="language-json"><code class="language-json"><span class=""><span class="token property">&quot;sell&quot;</span><span class="token operator">:</span> <span class="token punctuation">{</span></span> <span class=""> <span class="token property">&quot;partnerLogo&quot;</span><span class="token operator">:</span> <span class="token string">&quot;https://cdn.yourpartner.com/logo.svg&quot;</span><span class="token punctuation">,</span></span> <span class=""> <span class="token property">&quot;partnerIcon&quot;</span><span class="token operator">:</span> <span class="token string">&quot;https://cdn.yourpartner.com/icon.svg&quot;</span><span class="token punctuation">,</span></span> <span class=""> <span class="token property">&quot;partnerName&quot;</span><span class="token operator">:</span> <span class="token string">&quot;YourPartnerName&quot;</span><span class="token punctuation">,</span></span> <span class=""> <span class="token property">&quot;contact&quot;</span><span class="token operator">:</span> <span class="token punctuation">{</span></span> <span class=""> <span class="token property">&quot;firstName&quot;</span><span class="token operator">:</span> <span class="token string">&quot;John&quot;</span><span class="token punctuation">,</span></span> <span class=""> <span class="token property">&quot;lastName&quot;</span><span class="token operator">:</span> <span class="token string">&quot;Doe&quot;</span><span class="token punctuation">,</span></span> <span class=""> <span class="token property">&quot;email&quot;</span><span class="token operator">:</span> <span class="token string">&quot;john.doe@example.com&quot;</span><span class="token punctuation">,</span></span> <span class=""> <span class="token property">&quot;phone&quot;</span><span class="token operator">:</span> <span class="token string">&quot;+1234567890&quot;</span><span class="token punctuation">,</span></span> <span class=""> <span class="token property">&quot;address&quot;</span><span class="token operator">:</span> <span class="token string">&quot;123 Main St&quot;</span><span class="token punctuation">,</span></span> <span class=""> <span class="token property">&quot;zip&quot;</span><span class="token operator">:</span> <span class="token string">&quot;12345&quot;</span><span class="token punctuation">,</span></span> <span class=""> <span class="token property">&quot;city&quot;</span><span class="token operator">:</span> <span class="token string">&quot;Exampleville&quot;</span><span class="token punctuation">,</span></span> <span class=""> <span class="token property">&quot;state&quot;</span><span class="token operator">:</span> <span class="token string">&quot;EX&quot;</span><span class="token punctuation">,</span></span> <span class=""> <span class="token property">&quot;postalCode&quot;</span><span class="token operator">:</span> <span class="token string">&quot;12345&quot;</span><span class="token punctuation">,</span></span> <span class=""> <span class="token property">&quot;country&quot;</span><span class="token operator">:</span> <span class="token string">&quot;US&quot;</span></span> <span class=""> <span class="token punctuation">}</span></span> <span class=""><span class="token punctuation">}</span></span> </code></pre></div></div></div> </li> </ul> <h3 class="flex whitespace-pre-wrap group" id="step-5-test-the-new-configuration"><div class="absolute"><a href="#step-5-test-the-new-configuration" class="-ml-10 flex items-center opacity-0 border-0 group-hover:opacity-100" aria-label="Navigate to header">​<div class="w-6 h-6 text-gray-400 rounded-md flex items-center justify-center zinc-box bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20"><svg xmlns="http://www.w3.org/2000/svg" fill="gray" height="12px" viewBox="0 0 576 512"><path d="M0 256C0 167.6 71.6 96 160 96h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C98.1 144 48 194.1 48 256s50.1 112 112 112h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c61.9 0 112-50.1 112-112s-50.1-112-112-112H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c88.4 0 160 71.6 160 160zM184 232H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z"></path></svg></div></a></div><span class="cursor-pointer">Step 5: Test the New Configuration</span></h3> <ul> <li><strong>Conduct Thorough Testing</strong>: After updating your configuration, thoroughly test the domain purchase flow to ensure that all new features are working correctly and that the theming, branding, and user data are displayed as expected.</li> </ul> <h3 class="flex whitespace-pre-wrap group" id="step-6-deploy-the-updated-configuration"><div class="absolute"><a href="#step-6-deploy-the-updated-configuration" class="-ml-10 flex items-center opacity-0 border-0 group-hover:opacity-100" aria-label="Navigate to header">​<div class="w-6 h-6 text-gray-400 rounded-md flex items-center justify-center zinc-box bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20"><svg xmlns="http://www.w3.org/2000/svg" fill="gray" height="12px" viewBox="0 0 576 512"><path d="M0 256C0 167.6 71.6 96 160 96h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C98.1 144 48 194.1 48 256s50.1 112 112 112h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c61.9 0 112-50.1 112-112s-50.1-112-112-112H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c88.4 0 160 71.6 160 160zM184 232H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z"></path></svg></div></a></div><span class="cursor-pointer">Step 6: Deploy the Updated Configuration</span></h3> <ul> <li><strong>Roll Out to Production</strong>: Once you are satisfied with the testing, deploy the updated configuration to your production environment. Monitor the transition to ensure a seamless experience for your users.</li> </ul> <hr/> <p>By following these steps, you can easily migrate to the new version of <code>entri.purchaseDomain</code>, unlocking enhanced customization and a better overall user experience.</p> <h2 class="flex whitespace-pre-wrap group" id="faq"><div class="absolute"><a href="#faq" class="-ml-10 flex items-center opacity-0 border-0 group-hover:opacity-100" aria-label="Navigate to header">​<div class="w-6 h-6 text-gray-400 rounded-md flex items-center justify-center zinc-box bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20"><svg xmlns="http://www.w3.org/2000/svg" fill="gray" height="12px" viewBox="0 0 576 512"><path d="M0 256C0 167.6 71.6 96 160 96h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C98.1 144 48 194.1 48 256s50.1 112 112 112h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c61.9 0 112-50.1 112-112s-50.1-112-112-112H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c88.4 0 160 71.6 160 160zM184 232H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z"></path></svg></div></a></div><span class="cursor-pointer">FAQ</span></h2> <p><em>Who is the registrar for the domain?</em></p> <p>Entri has partnered with Ionos as the domain registrar.</p> <p><em>How is billing handled?</em></p> <p>Billing, renewals, and the checkout process are handled by Ionos.</p> <p><em>Who is responsible for customer support relating to the domain purchased?</em></p> <p>For all inquiries relating to billing, renewals, domain registration, please direct your customers to Ionos’s support team: <a href="https://contact.ionos.com/" target="_blank" rel="noreferrer">https://contact.ionos.com/</a></p> <p><em>Can I earn a commission for each domain purchased?</em></p> <p>Yes! Please contact your Entri account manager to set this up.</p></div><div class="leading-6 mt-14"><div class="mb-12 px-0.5 flex items-center text-sm font-semibold text-gray-700 dark:text-gray-200"><a class="flex items-center space-x-3 group" href="/provider-list"><svg viewBox="0 0 3 6" class="h-1.5 stroke-gray-400 overflow-visible group-hover:stroke-gray-600 dark:group-hover:stroke-gray-300"><path d="M3 0L0 3L3 6" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="group-hover:text-gray-900 dark:group-hover:text-white">Supported Providers</span></a><a class="flex items-center ml-auto space-x-3 group" href="/ssl-provisioning"><span class="group-hover:text-gray-900 dark:group-hover:text-white">Provision SSL certificates with Secure</span><svg viewBox="0 0 3 6" class="rotate-180 h-1.5 stroke-gray-400 overflow-visible group-hover:stroke-gray-600 dark:group-hover:stroke-gray-300"><path d="M3 0L0 3L3 6" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></div><footer id="footer" class="flex gap-12 justify-between pt-10 border-t border-gray-100 sm:flex dark:border-gray-800/50 pb-28"><div class="flex gap-6"><a href="https://twitter.com/ThisIsEntri" target="_blank"><span class="sr-only">twitter</span><svg class="w-5 h-5 bg-gray-400 dark:bg-gray-500 hover:bg-gray-500 dark:hover:bg-gray-400" style="-webkit-mask-image:url(https://mintlify.b-cdn.net/v6.6.0/brands/twitter.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center"></svg></a><a href="https://www.linkedin.com/company/entri1/" target="_blank"><span class="sr-only">linkedin</span><svg class="w-5 h-5 bg-gray-400 dark:bg-gray-500 hover:bg-gray-500 dark:hover:bg-gray-400" style="-webkit-mask-image:url(https://mintlify.b-cdn.net/v6.6.0/brands/linkedin.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center"></svg></a></div><div class="flex items-center justify-between"><div class="sm:flex"><a href="https://mintlify.com/preview-request?utm_campaign=poweredBy&amp;utm_medium=docs&amp;utm_source=developers.entri.com" target="_blank" rel="noreferrer" class="text-sm text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300">Powered by Mintlify</a></div></div></footer></div></div><div class="z-10 hidden xl:flex pl-10 box-border w-[19rem]" id="table-of-contents"><div id="table-of-contents-content" class="fixed text-gray-600 text-sm leading-6 w-[16.5rem] overflow-y-auto space-y-2 h-[calc(100%-7rem)]"><div class="text-gray-700 dark:text-gray-300 font-medium flex items-center space-x-2"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" xmlns="http://www.w3.org/2000/svg" class="h-3 w-3"><path d="M2.44434 12.6665H13.5554" stroke-linecap="round" stroke-linejoin="round"></path><path d="M2.44434 3.3335H13.5554" stroke-linecap="round" stroke-linejoin="round"></path><path d="M2.44434 8H7.33323" stroke-linecap="round" stroke-linejoin="round"></path></svg><span>On this page</span></div><ul><li><a href="#1-configure-entri" class="py-1 block font-medium hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300">1. Configure Entri</a></li><li><a href="#2-define-your-return-urls" class="py-1 block font-medium hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300">2. Define your return URLs</a></li><li><a href="#3-call-purchasedomain" class="py-1 block font-medium hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300">3. Call purchaseDomain()</a></li><li><a href="#configuration-object-specifications" class="py-1 block font-medium hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300">Configuration object specifications</a></li><li style="margin-left:1rem"><a href="#basic-configuration" class="group flex items-start py-1 whitespace-pre-wrap text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300">Basic Configuration</a></li><li style="margin-left:1rem"><a href="#dns-records" class="group flex items-start py-1 whitespace-pre-wrap text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300">DNS Records</a></li><li style="margin-left:1rem"><a href="#theming-and-branding" class="group flex items-start py-1 whitespace-pre-wrap text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300">Theming &amp; Branding</a></li><li style="margin-left:1rem"><a href="#sell-object" class="group flex items-start py-1 whitespace-pre-wrap text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300">Sell Object</a></li><li style="margin-left:1rem"><a href="#other-settings" class="group flex items-start py-1 whitespace-pre-wrap text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300">Other Settings</a></li><li><a href="#advanced-security-settings-for-freedomain" class="py-1 block font-medium hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300">Advanced Security Settings for freeDomain</a></li><li><a href="#migrating-from-entri-sell-v2-v3" class="py-1 block font-medium hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300">Migrating from Entri Sell V2 =&gt; V3?</a></li><li style="margin-left:1rem"><a href="#step-1-update-the-sellversion" class="group flex items-start py-1 whitespace-pre-wrap text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300">Step 1: Update the sellVersion</a></li><li style="margin-left:1rem"><a href="#step-2-implement-new-redirect-urls" class="group flex items-start py-1 whitespace-pre-wrap text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300">Step 2: Implement New Redirect URLs</a></li><li style="margin-left:1rem"><a href="#step-3-update-theming-options" class="group flex items-start py-1 whitespace-pre-wrap text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300">Step 3: Update Theming Options</a></li><li style="margin-left:1rem"><a href="#step-4-customize-the-sell-object-optional" class="group flex items-start py-1 whitespace-pre-wrap text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300">Step 4: Customize the sell Object (Optional)</a></li><li style="margin-left:1rem"><a href="#step-5-test-the-new-configuration" class="group flex items-start py-1 whitespace-pre-wrap text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300">Step 5: Test the New Configuration</a></li><li style="margin-left:1rem"><a href="#step-6-deploy-the-updated-configuration" class="group flex items-start py-1 whitespace-pre-wrap text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300">Step 6: Deploy the Updated Configuration</a></li><li><a href="#faq" class="py-1 block font-medium hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300">FAQ</a></li></ul></div></div></div></div></div></div></main></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"mdxSource":{"compiledSource":"/*@jsxRuntime automatic @jsxImportSource react*/\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = Object.assign({\n p: \"p\",\n code: \"code\",\n a: \"a\",\n ul: \"ul\",\n li: \"li\",\n pre: \"pre\",\n span: \"span\",\n hr: \"hr\",\n strong: \"strong\",\n br: \"br\",\n img: \"img\",\n table: \"table\",\n thead: \"thead\",\n tr: \"tr\",\n th: \"th\",\n tbody: \"tbody\",\n td: \"td\",\n em: \"em\"\n }, _provideComponents(), props.components), {Heading, CodeGroup, CodeBlock, Note} = _components;\n if (!CodeBlock) _missingMdxReference(\"CodeBlock\", true);\n if (!CodeGroup) _missingMdxReference(\"CodeGroup\", true);\n if (!Heading) _missingMdxReference(\"Heading\", true);\n if (!Note) _missingMdxReference(\"Note\", true);\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"With Entri Sell, your users can buy and connect a domain name to your application effortlessly, right within the Entri modal. After purchase, Entri automatically connects their domain to your service, applying the records you define on the \", _jsx(_components.code, {\n children: \"dnsRecords\"\n }), \" object.\"]\n }), \"\\n\", _jsx(Heading, {\n level: \"2\",\n id: \"1-configure-entri\",\n children: \"1. Configure Entri\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"To set up Sell, first \", _jsx(_components.a, {\n href: \"/install\",\n children: \"configure Entri\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Be sure to use \", _jsx(_components.a, {\n href: \"/install#dynamic-configuration-variables-based-on-the-user-inputted-domain\",\n children: \"dynamic configuration variables \"\n }), \"if your DNS records change based on the domain purchased.\"]\n }), \"\\n\", _jsx(Heading, {\n level: \"2\",\n id: \"2-define-your-return-urls\",\n children: \"2. Define your return URLs\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"Entri Sell redirects the user back to your platform if the they complete or exit the purchase flow. To ensure a seamless user experience, we require you to define two return URLs:\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"successCallbackUrl\"\n }), \": The URL to which the user will be redirected after a successful domain purchase.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"exitCallbackUrl\"\n }), \": The URL to which the user will be redirected if they select Close (X) before completing the purchase flow.\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"See more info at \", _jsx(_components.a, {\n href: \"#basic-configuration\",\n children: \"Basic Configuration\"\n }), \".\"]\n }), \"\\n\", _jsx(Heading, {\n level: \"2\",\n id: \"3-call-purchasedomain\",\n children: \"3. Call purchaseDomain()\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Call the \", _jsx(_components.code, {\n children: \"purchaseDomain\"\n }), \" method with your configuration object to open the Entri Purchase Domain Flow.\"]\n }), \"\\n\", _jsxs(CodeGroup, {\n children: [_jsx(CodeBlock, {\n filename: \"HTML/Vanilla\",\n expandable: \"false\",\n children: _jsx(_components.pre, {\n className: \"language-html\",\n children: _jsxs(_components.code, {\n className: \"language-HTML\",\n children: [_jsxs(_components.span, {\n className: \"\",\n children: [_jsxs(_components.span, {\n className: \"token tag\",\n children: [_jsxs(_components.span, {\n className: \"token tag\",\n children: [_jsx(_components.span, {\n className: \"token punctuation\",\n children: \"\u003c\"\n }), \"button\"]\n }), \" \", _jsx(_components.span, {\n className: \"token attr-name\",\n children: \"type\"\n }), _jsxs(_components.span, {\n className: \"token attr-value\",\n children: [_jsx(_components.span, {\n className: \"token punctuation attr-equals\",\n children: \"=\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"\\\"\"\n }), \"button\", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"\\\"\"\n })]\n }), \" \", _jsxs(_components.span, {\n className: \"token special-attr\",\n children: [_jsx(_components.span, {\n className: \"token attr-name\",\n children: \"onclick\"\n }), _jsxs(_components.span, {\n className: \"token attr-value\",\n children: [_jsx(_components.span, {\n className: \"token punctuation attr-equals\",\n children: \"=\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"\\\"\"\n }), _jsxs(_components.span, {\n className: \"token value javascript language-javascript\",\n children: [\"entri\", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \".\"\n }), _jsx(_components.span, {\n className: \"token method function property-access\",\n children: \"purchaseDomain\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"(\"\n }), \"config\", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \")\"\n })]\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"\\\"\"\n })]\n })]\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"\u003e\"\n })]\n }), \"Purchase Domain\", _jsxs(_components.span, {\n className: \"token tag\",\n children: [_jsxs(_components.span, {\n className: \"token tag\",\n children: [_jsx(_components.span, {\n className: \"token punctuation\",\n children: \"\u003c/\"\n }), \"button\"]\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"\u003e\"\n })]\n })]\n }), \"\\n\"]\n })\n })\n }), _jsx(CodeBlock, {\n filename: \"JSReact/JSX\",\n expandable: \"false\",\n children: _jsx(_components.pre, {\n className: \"language-jsx\",\n children: _jsxs(_components.code, {\n className: \"language-jsx\",\n children: [_jsx(_components.span, {\n className: \"\",\n children: _jsxs(_components.span, {\n className: \"token tag\",\n children: [_jsxs(_components.span, {\n className: \"token tag\",\n children: [_jsx(_components.span, {\n className: \"token punctuation\",\n children: \"\u003c\"\n }), \"button\"]\n }), \" \", _jsx(_components.span, {\n className: \"token attr-name\",\n children: \"type\"\n }), _jsxs(_components.span, {\n className: \"token attr-value\",\n children: [_jsx(_components.span, {\n className: \"token punctuation attr-equals\",\n children: \"=\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"\\\"\"\n }), \"button\", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"\\\"\"\n })]\n }), \" \", _jsx(_components.span, {\n className: \"token attr-name\",\n children: \"onClick\"\n }), _jsxs(_components.span, {\n className: \"token script language-javascript\",\n children: [_jsx(_components.span, {\n className: \"token script-punctuation punctuation\",\n children: \"=\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"{\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"(\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \")\"\n }), \" \", _jsx(_components.span, {\n className: \"token arrow operator\",\n children: \"=\u003e\"\n }), \" entri\", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \".\"\n }), _jsx(_components.span, {\n className: \"token method function property-access\",\n children: \"purchaseDomain\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"(\"\n }), \"config\", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \")\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"}\"\n })]\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"\u003e\"\n })]\n })\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token maybe-class-name\",\n children: \"Purchase\"\n }), \" \", _jsx(_components.span, {\n className: \"token maybe-class-name\",\n children: \"Domain\"\n })]\n }), \"\\n\", _jsx(_components.span, {\n className: \"\",\n children: _jsxs(_components.span, {\n className: \"token tag\",\n children: [_jsxs(_components.span, {\n className: \"token tag\",\n children: [_jsx(_components.span, {\n className: \"token punctuation\",\n children: \"\u003c/\"\n }), \"button\"]\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"\u003e\"\n })]\n })\n }), \"\\n\"]\n })\n })\n })]\n }), \"\\n\", _jsx(_components.hr, {}), \"\\n\", _jsxs(_components.p, {\n children: [\"That’s it! You’re all set. If you are using \", _jsx(_components.a, {\n href: \"/api-reference#onentriclose-callback-event-datalaststatus-fields\",\n children: \"Entri’s callback events\"\n }), \", the \", _jsx(_components.code, {\n children: \"setupType\"\n }), \" will be set to \", _jsx(_components.code, {\n children: \"purchase\"\n }), \".\"]\n }), \"\\n\", _jsx(CodeBlock, {\n filename: \"JavaScript\",\n expandable: \"false\",\n children: _jsx(_components.pre, {\n className: \"language-javascript\",\n children: _jsxs(_components.code, {\n className: \"language-JavaScript\",\n children: [_jsx(_components.span, {\n className: \"\",\n children: _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"{\"\n })\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token literal-property property\",\n children: \"domain\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"purchased-domain.com\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token literal-property property\",\n children: \"success\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token boolean\",\n children: \"true\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token literal-property property\",\n children: \"setupType\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"purchase\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token literal-property property\",\n children: \"provider\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"Ionos\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token literal-property property\",\n children: \"lastStatus\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"FINISHED_SUCCESSFULLY\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsx(_components.span, {\n className: \"\",\n children: _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"}\"\n })\n }), \"\\n\"]\n })\n })\n }), \"\\n\", _jsx(Heading, {\n level: \"2\",\n id: \"configuration-object-specifications\",\n children: \"Configuration object specifications\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"More information about the properties within the object that you’ll pass to the \", _jsx(_components.code, {\n children: \"entri.purchaseDomain\"\n }), \" method.\"]\n }), \"\\n\", _jsx(Heading, {\n level: \"3\",\n id: \"basic-configuration\",\n children: _jsx(_components.strong, {\n children: \"Basic Configuration\"\n })\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"applicationId\"\n })\n }), \" (string):\\nA unique identifier for your application, available in the Entri dashboard.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"12345\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"token\"\n })\n }), \" (string):\\nA JWT token used for authentication and authorization.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"JWT_TOKEN\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"sellVersion\"\n })\n }), \" (string) (\", _jsx(_components.strong, {\n children: \"required\"\n }), \"):\\nThe version of the domain purchase flow that should be shown. Setting this to \", _jsx(_components.code, {\n children: \"\\\"v3\\\"\"\n }), \" will activate the latest version with enhanced features.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"v3\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"successCallbackUrl\"\n })\n }), \" (string):\\nThe URL to which the user will be redirected after a successful domain purchase.\\nThe purchased domain will be added as a \", _jsx(_components.code, {\n children: \"domain\"\n }), \" query string parameter to the success callback URL.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"https://myapplication.com/success\\\"\"\n }), \" (redirects to \", _jsx(_components.code, {\n children: \"https://myapplication.com/success?domain=mydomain.com\"\n }), \")\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"exitCallbackUrl\"\n })\n }), \" (string):\\nThe URL to which the user will be redirected if they select Close (X) before completing the purchase flow.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"https://myapplication.com/exit\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsx(Heading, {\n level: \"3\",\n id: \"dns-records\",\n children: _jsx(_components.strong, {\n children: \"DNS Records\"\n })\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"dnsRecords\"\n })\n }), \" (array of objects):\\nAn array containing DNS record objects. These records will applied after a successful domain purchase.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: _jsx(_components.strong, {\n children: \"Example:\"\n })\n }), \"\\n\", _jsx(CodeBlock, {\n filename: \"\",\n expandable: \"false\",\n children: _jsx(_components.pre, {\n className: \"language-json\",\n children: _jsxs(_components.code, {\n className: \"language-json\",\n children: [_jsx(_components.span, {\n className: \"\",\n children: _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"[\"\n })\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"{\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"type\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"A\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"host\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"@\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"value\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"93.184.216.34\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"ttl\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token number\",\n children: \"300\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"}\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"{\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"type\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"A\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"host\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"aipv4\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"value\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"93.184.216.34\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"ttl\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token number\",\n children: \"300\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"}\"\n })]\n }), \"\\n\", _jsx(_components.span, {\n className: \"\",\n children: _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"]\"\n })\n }), \"\\n\"]\n })\n })\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsx(Heading, {\n level: \"3\",\n id: \"theming-and-branding\",\n children: _jsx(_components.strong, {\n children: \"Theming \u0026 Branding\"\n })\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"whiteLabel\"\n })\n }), \" (object):\\nOptions for customizing the appearance of the domain purchase flow to match your brand.\"]\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"theme\"\n })\n }), \" (object):\\nCustomizes the colors used in the purchase flow.\"]\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"primary\"\n })\n }), \" (string):\\nMain color used in your theme. It’s usually the most recognizable color in the interface.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"#012939\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"onPrimary\"\n })\n }), \" (string):\\nColor used for text and icons that appear on top of the primary color.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"#ffffff\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"secondary\"\n })\n }), \" (string):\\nColor that complements the primary color and is used for secondary UI elements.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"#012939\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"onSecondary\"\n })\n }), \" (string):\\nColor used for text and icons that appear on top of the secondary color.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"#ffffff\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"headerBackground\"\n })\n }), \" (string) (\", _jsx(_components.strong, {\n children: \"optional\"\n }), \"):\\nBackground color of the header. Accepts any valid CSS color code (e.g., hex, rgb). If not defined, it will default to the primary color value.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"#123456\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"interactive\"\n })\n }), \" (string) (\", _jsx(_components.strong, {\n children: \"optional\"\n }), \"):\\nColor for interactive elements such as radio buttons. Accepts any valid CSS color code (e.g., hex, rgb).\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"#ffcc00\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"premiumBadge\"\n })\n }), \" (string) (\", _jsx(_components.strong, {\n children: \"optional\"\n }), \"):\\nBackground color of premium badge components. Accepts any valid CSS color code (e.g., hex, rgb).\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"#00ffcc\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"onPremiumBadge\"\n })\n }), \" (string) (\", _jsx(_components.strong, {\n children: \"optional\"\n }), \"):\\nText color on the premium badge. Accepts any valid CSS color code (e.g., hex, rgb).\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"#ffffff\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"priceBadge\"\n })\n }), \" (string) (\", _jsx(_components.strong, {\n children: \"optional\"\n }), \"):\", _jsx(_components.br, {}), \"\\n\", \"This field specifies the background color of the price badge component. Accepts any valid CSS color code (e.g., hex, rgb).\", _jsx(_components.br, {}), \"\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"#ff6600\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"onPriceBadge\"\n })\n }), \" (string) (\", _jsx(_components.strong, {\n children: \"optional\"\n }), \"):\", _jsx(_components.br, {}), \"\\n\", \"This field specifies the text color on the price badge. Accepts any valid CSS color code (e.g., hex, rgb).\", _jsx(_components.br, {}), \"\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"#ffffff\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"activating\"\n })\n }), \" (string) (\", _jsx(_components.strong, {\n children: \"optional\"\n }), \"):\\nBackground color of the “Search Domain” button. Accepts any valid CSS color code (e.g., hex, rgb).\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"#ff4500\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"onActivating\"\n })\n }), \" (string) (\", _jsx(_components.strong, {\n children: \"optional\"\n }), \"):\\nText color on the “Search Domain” button. Accepts any valid CSS color code (e.g., hex, rgb).\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"#000000\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"hideEntriLogo\"\n })\n }), \" (boolean):\\nHide the Entri logo in the purchase flow.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"true\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"hideCompanyLogo\"\n })\n }), \" (boolean):\\nHide the company logo in the purchase flow.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"true\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"hideCompanyName\"\n })\n }), \" (boolean):\\nHide the company name in the purchase flow.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"true\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"customCopy\"\n })\n }), \" (object):\\nCustom text to be displayed in the purchase flow.\"]\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"initialScreen.title.{locale}\"\n })\n }), \" (object):\\nTitle text that appears on the initial screen of the domain purchase flow, localized by language.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"Search for your domain\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"initialScreen.marketingCopy.{locale}\"\n })\n }), \" (object):\\nMarketing copy that appears below the domain input field, localized by language.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"Your website will look even better with a custom domain!\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.img, {\n src: \"https://mintlify.s3-us-west-1.amazonaws.com/entri-42/images/v3-1.jpg\",\n alt: \"Entri Sell V3 Theming - Header\"\n }), \"\\n\", _jsx(_components.img, {\n src: \"https://mintlify.s3-us-west-1.amazonaws.com/entri-42/images/v3-2.jpg\",\n alt: \"Entri Sell V3 Theming - Suggested Domains\"\n }), \"\\n\", _jsx(_components.img, {\n src: \"https://mintlify.s3-us-west-1.amazonaws.com/entri-42/images/v3-3.jpg\",\n alt: \"Entri Sell V3 Theming - Premium Suggested Domains\"\n })]\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsx(Heading, {\n level: \"3\",\n id: \"sell-object\",\n children: _jsx(_components.strong, {\n children: \"Sell Object\"\n })\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"whiteLabel.sell\"\n })\n }), \" (object):\\nContains information specific to the cobranding and user data prefill in the domain purchase flow.\"]\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"partnerLogo\"\n })\n }), \" (string):\\nThe URL of the partner’s logo, which will be displayed prominently in the cobranded header.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"https://cdn.goentri.com/mylogo.svg\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"partnerIcon\"\n })\n }), \" (string):\\nThe URL of the partner’s icon, which will appear in the floating cart at the bottom of the page.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"https://cdn.goentri.com/myicon.svg\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"partnerName\"\n })\n }), \" (string):\\nThe name of the partner company, displayed within the purchase flow.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"My Company name\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"contact\"\n })\n }), \" (object):\\nPrefilled user data to be used in the contact information form during domain creation. The following fields are supported:\"]\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"firstName\"\n })\n }), \" (string): User’s first name.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"John\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"lastName\"\n })\n }), \" (string): User’s last name.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"Doe\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"email\"\n })\n }), \" (string): User’s email address.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"john.doe@example.com\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"phone\"\n })\n }), \" (string): User’s phone number.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"+1234567890\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"address\"\n })\n }), \" (string): User’s street address.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"123 Main St\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"zip\"\n })\n }), \" (string): User’s ZIP or postal code.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"12345\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"city\"\n })\n }), \" (string): User’s city.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"Exampleville\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"state\"\n })\n }), \" (string): User’s state or province.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"EX\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"postalCode\"\n })\n }), \" (string): User’s postal code.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"12345\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"country\"\n })\n }), \" (string): User’s country.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"US\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsx(Heading, {\n level: \"3\",\n id: \"other-settings\",\n children: _jsx(_components.strong, {\n children: \"Other Settings\"\n })\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"freeDomain\"\n })\n }), \" (boolean):\\nIndicates whether the domain price should be set to $0. Should only be used on paid users at the customer’s platform.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"true\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"locale\"\n })\n }), \" (string):\\nThe language/locale to be used in the domain purchase flow.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"en\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsx(_components.hr, {}), \"\\n\", _jsxs(Note, {\n children: [_jsx(_components.p, {\n children: _jsx(_components.strong, {\n children: \"Coming soon 🔥\"\n })\n }), _jsxs(_components.p, {\n children: [\"Offer an email solution (Google Workspace, MSFT 365, IONOS Mail) as part of the Sell checkout flow\\nTo enable this, just pass \", _jsx(_components.code, {\n children: \"offerEmailService:true\"\n }), \" as a key in your config.\"]\n })]\n }), \"\\n\", _jsxs(Heading, {\n level: \"2\",\n id: \"advanced-security-settings-for-freedomain\",\n children: [\"Advanced Security Settings for \", _jsx(_components.code, {\n children: \"freeDomain\"\n })]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"For additional security, you can explicitly set \", _jsx(_components.code, {\n children: \"freeDomain:false\"\n }), \" or \", _jsx(_components.code, {\n children: \"freeDomain:true\"\n }), \" when you create the JWT. This way, the user gets explicit authorization for running the free domain flow.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"If the client tries to use a config that doesn’t match the one hashed in the JWT, it will return an error. Here’s an example of how to use this when generating the JWT:\"\n }), \"\\n\", _jsxs(_components.table, {\n children: [_jsx(_components.thead, {\n children: _jsxs(_components.tr, {\n children: [_jsx(_components.th, {\n align: \"left\",\n children: \"Property\"\n }), _jsx(_components.th, {\n align: \"left\",\n children: \"Type\"\n }), _jsx(_components.th, {\n align: \"left\",\n children: \"Required\"\n }), _jsx(_components.th, {\n align: \"left\",\n children: \"Default\"\n }), _jsx(_components.th, {\n align: \"left\",\n children: \"Description\"\n })]\n })\n }), _jsx(_components.tbody, {\n children: _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n align: \"left\",\n children: _jsx(_components.code, {\n children: \"freeDomain\"\n })\n }), _jsx(_components.td, {\n align: \"left\",\n children: \"boolean\"\n }), _jsx(_components.td, {\n align: \"left\",\n children: \"No\"\n }), _jsx(_components.td, {\n align: \"left\",\n children: \"N/A\"\n }), _jsxs(_components.td, {\n align: \"left\",\n children: [\"When set to \", _jsx(_components.code, {\n children: \"true\"\n }), \", it will only allow Entri to run under the \", _jsx(_components.code, {\n children: \"freeDomain\"\n }), \" flow.\"]\n })]\n })\n })]\n }), \"\\n\", _jsx(CodeBlock, {\n filename: \"JavaScript\",\n expandable: \"false\",\n children: _jsx(_components.pre, {\n className: \"language-javascript\",\n children: _jsxs(_components.code, {\n className: \"language-JavaScript\",\n children: [_jsxs(_components.span, {\n className: \"\",\n children: [_jsx(_components.span, {\n className: \"token function\",\n children: \"fetch\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"(\"\n }), _jsx(_components.span, {\n className: \"token string\",\n children: \"'https://api.goentri.com/token'\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n }), \" \", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"{\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token literal-property property\",\n children: \"method\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"'POST'\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token literal-property property\",\n children: \"body\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token known-class-name class-name\",\n children: \"JSON\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \".\"\n }), _jsx(_components.span, {\n className: \"token method function property-access\",\n children: \"stringify\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"(\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"{\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token comment\",\n children: \"// These values come from the Entri dashboard\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token literal-property property\",\n children: \"applicationId\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"12345\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token literal-property property\",\n children: \"secret\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"12345-67890\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token literal-property property\",\n children: \"freeDomain\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token boolean\",\n children: \"true\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"}\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \")\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [_jsx(_components.span, {\n className: \"token punctuation\",\n children: \"}\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \")\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \".\"\n }), _jsx(_components.span, {\n className: \"token method function property-access\",\n children: \"then\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"(\"\n }), _jsx(_components.span, {\n className: \"token parameter\",\n children: \"response\"\n }), \" \", _jsx(_components.span, {\n className: \"token arrow operator\",\n children: \"=\u003e\"\n }), \" response\", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \".\"\n }), _jsx(_components.span, {\n className: \"token method function property-access\",\n children: \"json\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"(\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \")\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \")\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \".\"\n }), _jsx(_components.span, {\n className: \"token method function property-access\",\n children: \"then\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"(\"\n }), _jsx(_components.span, {\n className: \"token parameter\",\n children: \"data\"\n }), \" \", _jsx(_components.span, {\n className: \"token arrow operator\",\n children: \"=\u003e\"\n }), \" \", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"{\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token console class-name\",\n children: \"console\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \".\"\n }), _jsx(_components.span, {\n className: \"token method function property-access\",\n children: \"log\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"(\"\n }), _jsx(_components.span, {\n className: \"token string\",\n children: \"'Success:'\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n }), \" data\", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \")\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \";\"\n }), \" \", _jsx(_components.span, {\n className: \"token comment\",\n children: \"// { \\\"auth_token\\\": \\\"exampletoken...\\\" }\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token comment\",\n children: \"// Save the token in a variable or state manager for later use\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"}\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \")\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \";\"\n })]\n }), \"\\n\"]\n })\n })\n }), \"\\n\", _jsx(Heading, {\n level: \"2\",\n id: \"migrating-from-entri-sell-v2-v3\",\n children: \"Migrating from Entri Sell V2 =\u003e V3?\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"If you are currently using a previous version of the \", _jsx(_components.code, {\n children: \"entri.purchaseDomain\"\n }), \" functionality and would like to migrate to the new version, follow these steps to ensure a smooth transition:\"]\n }), \"\\n\", _jsxs(Heading, {\n level: \"3\",\n id: \"step-1-update-the-sellversion\",\n children: [\"Step 1: Update the \", _jsx(_components.code, {\n children: \"sellVersion\"\n })]\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsxs(_components.strong, {\n children: [\"Add the \", _jsx(_components.code, {\n children: \"sellVersion\"\n }), \" Key\"]\n }), \":\\nEnsure that your configuration includes the \", _jsx(_components.code, {\n children: \"sellVersion\"\n }), \" key set to \", _jsx(_components.code, {\n children: \"\\\"v3\\\"\"\n }), \". This will activate the new version of the domain purchase flow.\"]\n }), \"\\n\", _jsx(CodeBlock, {\n filename: \"\",\n expandable: \"false\",\n children: _jsx(_components.pre, {\n className: \"language-json\",\n children: _jsxs(_components.code, {\n className: \"language-json\",\n children: [_jsxs(_components.span, {\n className: \"\",\n children: [_jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"sellVersion\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"v3\\\"\"\n })]\n }), \"\\n\"]\n })\n })\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsx(Heading, {\n level: \"3\",\n id: \"step-2-implement-new-redirect-urls\",\n children: \"Step 2: Implement New Redirect URLs\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsxs(_components.strong, {\n children: [\"Add \", _jsx(_components.code, {\n children: \"successCallbackUrl\"\n }), \" and \", _jsx(_components.code, {\n children: \"exitCallbackUrl\"\n })]\n }), \":\\nDefine where users should be redirected after the domain purchase flow is completed, whether successfully or due to an error.\"]\n }), \"\\n\", _jsx(CodeBlock, {\n filename: \"\",\n expandable: \"false\",\n children: _jsx(_components.pre, {\n className: \"language-json\",\n children: _jsxs(_components.code, {\n className: \"language-json\",\n children: [_jsxs(_components.span, {\n className: \"\",\n children: [_jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"successCallbackUrl\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"https://your-success-url.com\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [_jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"exitCallbackUrl\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"https://your-error-url.com\\\"\"\n })]\n }), \"\\n\"]\n })\n })\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsx(Heading, {\n level: \"3\",\n id: \"step-3-update-theming-options\",\n children: \"Step 3: Update Theming Options\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Expand Theme Configuration\"\n }), \":\\nReview and expand your theme settings to include new customizations like the \", _jsx(_components.code, {\n children: \"onSecondary\"\n }), \" and \", _jsx(_components.code, {\n children: \"secondary\"\n }), \" keys, which control the colors of interactive elements like buttons.\"]\n }), \"\\n\", _jsx(CodeBlock, {\n filename: \"\",\n expandable: \"false\",\n children: _jsx(_components.pre, {\n className: \"language-json\",\n children: _jsxs(_components.code, {\n className: \"language-json\",\n children: [_jsxs(_components.span, {\n className: \"\",\n children: [_jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"theme\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"{\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"primary\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"#012939\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"onPrimary\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"#ffffff\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"secondary\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"#ffffff\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"onSecondary\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"#012939\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"headerBackground\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"#012939\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"interactive\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"#ffcc00\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"premiumBadge\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"#00ffcc\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"onPremiumBadge\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"#ffffff\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"priceBadge\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"ff6600\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"onPriceBadge\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"ffffff\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"activating\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"#ff4500\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"onActivating\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"#000000\\\"\"\n })]\n }), \"\\n\", _jsx(_components.span, {\n className: \"\",\n children: _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"}\"\n })\n }), \"\\n\"]\n })\n })\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(Heading, {\n level: \"3\",\n id: \"step-4-customize-the-sell-object-optional\",\n children: [\"Step 4: Customize the \", _jsx(_components.code, {\n children: \"sell\"\n }), \" Object (Optional)\"]\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Add Branding and User Data\"\n }), \":\\nIf you want to leverage the new cobranded experience, populate the \", _jsx(_components.code, {\n children: \"sell\"\n }), \" object with your partner branding and prefilled user data. This includes fields like \", _jsx(_components.code, {\n children: \"partnerLogo\"\n }), \", \", _jsx(_components.code, {\n children: \"partnerIcon\"\n }), \", \", _jsx(_components.code, {\n children: \"partnerName\"\n }), \", and the \", _jsx(_components.code, {\n children: \"contact\"\n }), \" object.\"]\n }), \"\\n\", _jsx(CodeBlock, {\n filename: \"\",\n expandable: \"false\",\n children: _jsx(_components.pre, {\n className: \"language-json\",\n children: _jsxs(_components.code, {\n className: \"language-json\",\n children: [_jsxs(_components.span, {\n className: \"\",\n children: [_jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"sell\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"{\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"partnerLogo\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"https://cdn.yourpartner.com/logo.svg\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"partnerIcon\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"https://cdn.yourpartner.com/icon.svg\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"partnerName\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"YourPartnerName\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"contact\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"{\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"firstName\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"John\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"lastName\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"Doe\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"email\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"john.doe@example.com\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"phone\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"+1234567890\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"address\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"123 Main St\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"zip\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"12345\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"city\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"Exampleville\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"state\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"EX\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"postalCode\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"12345\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"country\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"US\\\"\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"}\"\n })]\n }), \"\\n\", _jsx(_components.span, {\n className: \"\",\n children: _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"}\"\n })\n }), \"\\n\"]\n })\n })\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsx(Heading, {\n level: \"3\",\n id: \"step-5-test-the-new-configuration\",\n children: \"Step 5: Test the New Configuration\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: \"Conduct Thorough Testing\"\n }), \":\\nAfter updating your configuration, thoroughly test the domain purchase flow to ensure that all new features are working correctly and that the theming, branding, and user data are displayed as expected.\"]\n }), \"\\n\"]\n }), \"\\n\", _jsx(Heading, {\n level: \"3\",\n id: \"step-6-deploy-the-updated-configuration\",\n children: \"Step 6: Deploy the Updated Configuration\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: \"Roll Out to Production\"\n }), \":\\nOnce you are satisfied with the testing, deploy the updated configuration to your production environment. Monitor the transition to ensure a seamless experience for your users.\"]\n }), \"\\n\"]\n }), \"\\n\", _jsx(_components.hr, {}), \"\\n\", _jsxs(_components.p, {\n children: [\"By following these steps, you can easily migrate to the new version of \", _jsx(_components.code, {\n children: \"entri.purchaseDomain\"\n }), \", unlocking enhanced customization and a better overall user experience.\"]\n }), \"\\n\", _jsx(Heading, {\n level: \"2\",\n id: \"faq\",\n children: \"FAQ\"\n }), \"\\n\", _jsx(_components.p, {\n children: _jsx(_components.em, {\n children: \"Who is the registrar for the domain?\"\n })\n }), \"\\n\", _jsx(_components.p, {\n children: \"Entri has partnered with Ionos as the domain registrar.\"\n }), \"\\n\", _jsx(_components.p, {\n children: _jsx(_components.em, {\n children: \"How is billing handled?\"\n })\n }), \"\\n\", _jsx(_components.p, {\n children: \"Billing, renewals, and the checkout process are handled by Ionos.\"\n }), \"\\n\", _jsx(_components.p, {\n children: _jsx(_components.em, {\n children: \"Who is responsible for customer support relating to the domain purchased?\"\n })\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"For all inquiries relating to billing, renewals, domain registration, please direct your customers to Ionos’s support team: \", _jsx(_components.a, {\n href: \"https://contact.ionos.com/\",\n children: \"https://contact.ionos.com/\"\n })]\n }), \"\\n\", _jsx(_components.p, {\n children: _jsx(_components.em, {\n children: \"Can I earn a commission for each domain purchased?\"\n })\n }), \"\\n\", _jsx(_components.p, {\n children: \"Yes! Please contact your Entri account manager to set this up.\"\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = Object.assign({}, _provideComponents(), props.components);\n return MDXLayout ? _jsx(MDXLayout, Object.assign({}, props, {\n children: _jsx(_createMdxContent, props)\n })) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\nfunction _missingMdxReference(id, component) {\n throw new Error(\"Expected \" + (component ? \"component\" : \"object\") + \" `\" + id + \"` to be defined: you likely forgot to import, pass, or provide it.\");\n}\n","frontmatter":{},"scope":{"mintConfig":{"$schema":"https://mintlify.com/schema.json","name":"Entri","logo":{"light":"https://mintlify.s3-us-west-1.amazonaws.com/entri-42/logo/light.png","dark":"https://mintlify.s3-us-west-1.amazonaws.com/entri-42/logo/dark.png"},"favicon":"/favicon.png","modeToggle":{"default":"dark"},"colors":{"primary":"#1b66d5","light":"#fff","dark":"#1b66d5","background":{"light":"#fff","dark":"#00122D"}},"topbarCtaButton":{"name":"Get Entri","url":"https://www.entri.com/products/connect?utm_term=entri\u0026utm_campaign=Entri+Search+Campaign\u0026utm_source=adwords\u0026utm_medium=ppc\u0026hsa_acc=7813870670\u0026hsa_cam=16449479279\u0026hsa_grp=133925002277\u0026hsa_ad=650360294556\u0026hsa_src=g\u0026hsa_tgt=kwd-370487985543\u0026hsa_kw=entri\u0026hsa_mt=e\u0026hsa_net=adwords\u0026hsa_ver=3\u0026gclid=CjwKCAiAmZGrBhAnEiwAo9qHidBkNlxGpprRtbfawek2vGlSGuVLHUFqeaUbuwNzGS2MjAb8UcmCbRoCL-4QAvD_BwE"},"topbarLinks":[{"url":"https://dashboard.entri.com/login","name":"Login","_id":"671959726641f5947131adf3"}],"navigation":[{"group":"Documentation","pages":["getting-started","install",{"group":"Connect with DNS providers","pages":["integrate-with-dns-providers","handling-dkim-spf-dmarc-records","advanced-dmarc-options","provider-list"]},"domain-purchasing","ssl-provisioning","power","webhooks","api-reference"]},{"group":"Security","pages":["responsible-disclosure-policy"]}],"anchors":[{"name":"Blog","url":"https://www.entri.com/resources/blog","icon":"newspaper","_id":"671959726641f5947131adf1"},{"name":"Demo","url":"https://www.entri.com/resources/instant-demos","icon":"presentation-screen","_id":"671959726641f5947131adf2"}],"backgroundImage":"https://mintlify.s3-us-west-1.amazonaws.com/entri-42/images/background.png","redirects":[{"destination":"/service-level-agreement","source":"/docs/service-level-agreement","_id":"671959726641f5947131adee"},{"destination":"/domain-purchasing","source":"/entri-sell-v3","_id":"671959726641f5947131adef"},{"destination":"/handling-dkim-spf-dmarc-records","source":"/handling-dkim-records","_id":"671959726641f5947131adf0"}],"footerSocials":{"twitter":"https://twitter.com/ThisIsEntri","linkedin":"https://www.linkedin.com/company/entri1/"},"repo":{"github":{"owner":"entri-dns","repo":"public-docs","contentDirectory":"","deployBranch":"master","isPrivate":false}}},"pageMetadata":{"title":"Sell domains in your app","description":"Entri Sell enables your users to easily purchase a domain that is immediately configured to work with your application.","href":"/domain-purchasing"}}},"mdxExtracts":{"tableOfContents":[{"title":"1. Configure Entri","slug":"1-configure-entri","depth":2,"children":[]},{"title":"2. Define your return URLs","slug":"2-define-your-return-urls","depth":2,"children":[]},{"title":"3. Call purchaseDomain()","slug":"3-call-purchasedomain","depth":2,"children":[]},{"title":"Configuration object specifications","slug":"configuration-object-specifications","depth":2,"children":[{"title":"Basic Configuration","slug":"basic-configuration","depth":3,"children":[]},{"title":"DNS Records","slug":"dns-records","depth":3,"children":[]},{"title":"Theming \u0026 Branding","slug":"theming-and-branding","depth":3,"children":[]},{"title":"Sell Object","slug":"sell-object","depth":3,"children":[]},{"title":"Other Settings","slug":"other-settings","depth":3,"children":[]}]},{"title":"Advanced Security Settings for freeDomain","slug":"advanced-security-settings-for-freedomain","depth":2,"children":[]},{"title":"Migrating from Entri Sell V2 =\u003e V3?","slug":"migrating-from-entri-sell-v2-v3","depth":2,"children":[{"title":"Step 1: Update the sellVersion","slug":"step-1-update-the-sellversion","depth":3,"children":[]},{"title":"Step 2: Implement New Redirect URLs","slug":"step-2-implement-new-redirect-urls","depth":3,"children":[]},{"title":"Step 3: Update Theming Options","slug":"step-3-update-theming-options","depth":3,"children":[]},{"title":"Step 4: Customize the sell Object (Optional)","slug":"step-4-customize-the-sell-object-optional","depth":3,"children":[]},{"title":"Step 5: Test the New Configuration","slug":"step-5-test-the-new-configuration","depth":3,"children":[]},{"title":"Step 6: Deploy the Updated Configuration","slug":"step-6-deploy-the-updated-configuration","depth":3,"children":[]}]},{"title":"FAQ","slug":"faq","depth":2,"children":[]}],"codeExamples":{}},"description":{"compiledSource":"/*@jsxRuntime automatic @jsxImportSource react*/\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = Object.assign({\n p: \"p\"\n }, _provideComponents(), props.components);\n return _jsx(_components.p, {\n children: \"Entri Sell enables your users to easily purchase a domain that is immediately configured to work with your application.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = Object.assign({}, _provideComponents(), props.components);\n return MDXLayout ? _jsx(MDXLayout, Object.assign({}, props, {\n children: _jsx(_createMdxContent, props)\n })) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageData":{"navWithMetadata":[{"group":"Documentation","pages":[{"title":"Get started","description":"You'll be up and running in a jiffy!","href":"/getting-started"},{"title":"Configure Entri","description":null,"href":"/install"},{"group":"Connect with DNS providers","pages":[{"title":"Connect with DNS providers","description":"Entri Connect is the easiest way for your users to connect domains.","href":"/integrate-with-dns-providers"},{"title":"Handling DKIM, SPF, and DMARC Records","description":null,"href":"/handling-dkim-spf-dmarc-records"},{"title":"DMARC Handling: Advanced Options","description":null,"href":"/advanced-dmarc-options"},{"title":"Supported Providers","description":"Automatic configuration availability and wwwRedirect feature availability","href":"/provider-list"}]},{"title":"Sell domains in your app","description":"Entri Sell enables your users to easily purchase a domain that is immediately configured to work with your application.","href":"/domain-purchasing"},{"title":"Provision SSL certificates with Secure","description":"Entri Secure makes it easy to provision SSL certificates for your customers' domains.","href":"/ssl-provisioning"},{"title":"Power custom domains","description":"With Entri Power, you can enable support for custom domains in just minutes.","href":"/power"},{"title":"Webhooks","description":null,"href":"/webhooks"},{"title":"API Reference","description":null,"href":"/api-reference"}]},{"group":"Security","pages":[{"title":"Responsible Disclosure Policy","description":null,"href":"/responsible-disclosure-policy"}]}],"pageMetadata":{"title":"Sell domains in your app","description":"Entri Sell enables your users to easily purchase a domain that is immediately configured to work with your application.","href":"/domain-purchasing"},"mintConfig":{"layout":"topnav","sidebar":{"items":"container"},"topbar":{"style":"default"},"search":{"location":"top"},"rounded":"default","codeBlock":{"mode":"dark"},"topbarCtaButton":{"name":"Get Entri","url":"https://www.entri.com/products/connect?utm_term=entri\u0026utm_campaign=Entri+Search+Campaign\u0026utm_source=adwords\u0026utm_medium=ppc\u0026hsa_acc=7813870670\u0026hsa_cam=16449479279\u0026hsa_grp=133925002277\u0026hsa_ad=650360294556\u0026hsa_src=g\u0026hsa_tgt=kwd-370487985543\u0026hsa_kw=entri\u0026hsa_mt=e\u0026hsa_net=adwords\u0026hsa_ver=3\u0026gclid=CjwKCAiAmZGrBhAnEiwAo9qHidBkNlxGpprRtbfawek2vGlSGuVLHUFqeaUbuwNzGS2MjAb8UcmCbRoCL-4QAvD_BwE"},"$schema":"https://mintlify.com/schema.json","name":"Entri","logo":{"light":"https://mintlify.s3-us-west-1.amazonaws.com/entri-42/logo/light.png","dark":"https://mintlify.s3-us-west-1.amazonaws.com/entri-42/logo/dark.png"},"favicon":"/favicon.png","modeToggle":{"default":"dark"},"colors":{"primary":"#1b66d5","light":"#fff","dark":"#1b66d5","background":{"light":"#fff","dark":"#00122D"}},"topbarLinks":[{"url":"https://dashboard.entri.com/login","name":"Login","_id":"671959726641f5947131adf3"}],"navigation":[{"group":"Documentation","pages":["getting-started","install",{"group":"Connect with DNS providers","pages":["integrate-with-dns-providers","handling-dkim-spf-dmarc-records","advanced-dmarc-options","provider-list"]},"domain-purchasing","ssl-provisioning","power","webhooks","api-reference"]},{"group":"Security","pages":["responsible-disclosure-policy"]}],"anchors":[{"name":"Blog","url":"https://www.entri.com/resources/blog","icon":"newspaper","_id":"671959726641f5947131adf1"},{"name":"Demo","url":"https://www.entri.com/resources/instant-demos","icon":"presentation-screen","_id":"671959726641f5947131adf2"}],"backgroundImage":"https://mintlify.s3-us-west-1.amazonaws.com/entri-42/images/background.png","redirects":[{"destination":"/service-level-agreement","source":"/docs/service-level-agreement","_id":"671959726641f5947131adee"},{"destination":"/domain-purchasing","source":"/entri-sell-v3","_id":"671959726641f5947131adef"},{"destination":"/handling-dkim-spf-dmarc-records","source":"/handling-dkim-records","_id":"671959726641f5947131adf0"}],"footerSocials":{"twitter":"https://twitter.com/ThisIsEntri","linkedin":"https://www.linkedin.com/company/entri1/"},"repo":{"github":{"owner":"entri-dns","repo":"public-docs","contentDirectory":"","deployBranch":"master","isPrivate":false}}},"apiReferenceData":{}},"favicons":{"icons":[{"rel":"apple-touch-icon","sizes":"180x180","href":"https://mintlify.s3-us-west-1.amazonaws.com/entri-42/_generated/favicon/apple-touch-icon.png?v=3","type":"image/png"},{"rel":"icon","sizes":"32x32","href":"https://mintlify.s3-us-west-1.amazonaws.com/entri-42/_generated/favicon/favicon-32x32.png?v=3","type":"image/png"},{"rel":"icon","sizes":"16x16","href":"https://mintlify.s3-us-west-1.amazonaws.com/entri-42/_generated/favicon/favicon-16x16.png?v=3","type":"image/png"},{"rel":"shortcut icon","href":"https://mintlify.s3-us-west-1.amazonaws.com/entri-42/_generated/favicon/favicon.ico?v=3","type":"image/x-icon"}],"browserconfig":"https://mintlify.s3-us-west-1.amazonaws.com/entri-42/_generated/favicon/browserconfig.xml?v=3"},"subdomain":"developers.entri.com","internalAnalyticsWriteKey":"phc_TXdpocbGVeZVm5VJmAsHTMrCofBQu3e0kN8HGMNGTVW","inkeep":{"integrationApiKey":"f941d95abb6f74cbab7b59fac950bbe89d33f2792508c2c8"},"trieve":{"datasetId":"18fe022f-35e4-4f0d-9b1e-e6efef532db9","chatEnabled":true},"shouldIndex":true,"org":{"plan":"startup","createdAt":"2023-11-30T22:30:30.433Z"},"cssFiles":[],"jsFiles":[],"mdxSourceWithNoJs":{"compiledSource":"/*@jsxRuntime automatic @jsxImportSource react*/\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = Object.assign({\n p: \"p\",\n code: \"code\",\n a: \"a\",\n ul: \"ul\",\n li: \"li\",\n pre: \"pre\",\n span: \"span\",\n hr: \"hr\",\n strong: \"strong\",\n br: \"br\",\n img: \"img\",\n table: \"table\",\n thead: \"thead\",\n tr: \"tr\",\n th: \"th\",\n tbody: \"tbody\",\n td: \"td\",\n em: \"em\"\n }, _provideComponents(), props.components), {Heading, CodeGroup, CodeBlock, Note} = _components;\n if (!CodeBlock) _missingMdxReference(\"CodeBlock\", true);\n if (!CodeGroup) _missingMdxReference(\"CodeGroup\", true);\n if (!Heading) _missingMdxReference(\"Heading\", true);\n if (!Note) _missingMdxReference(\"Note\", true);\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"With Entri Sell, your users can buy and connect a domain name to your application effortlessly, right within the Entri modal. After purchase, Entri automatically connects their domain to your service, applying the records you define on the \", _jsx(_components.code, {\n children: \"dnsRecords\"\n }), \" object.\"]\n }), \"\\n\", _jsx(Heading, {\n level: \"2\",\n id: \"1-configure-entri\",\n children: \"1. Configure Entri\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"To set up Sell, first \", _jsx(_components.a, {\n href: \"/install\",\n children: \"configure Entri\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Be sure to use \", _jsx(_components.a, {\n href: \"/install#dynamic-configuration-variables-based-on-the-user-inputted-domain\",\n children: \"dynamic configuration variables \"\n }), \"if your DNS records change based on the domain purchased.\"]\n }), \"\\n\", _jsx(Heading, {\n level: \"2\",\n id: \"2-define-your-return-urls\",\n children: \"2. Define your return URLs\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"Entri Sell redirects the user back to your platform if the they complete or exit the purchase flow. To ensure a seamless user experience, we require you to define two return URLs:\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"successCallbackUrl\"\n }), \": The URL to which the user will be redirected after a successful domain purchase.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"exitCallbackUrl\"\n }), \": The URL to which the user will be redirected if they select Close (X) before completing the purchase flow.\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"See more info at \", _jsx(_components.a, {\n href: \"#basic-configuration\",\n children: \"Basic Configuration\"\n }), \".\"]\n }), \"\\n\", _jsx(Heading, {\n level: \"2\",\n id: \"3-call-purchasedomain\",\n children: \"3. Call purchaseDomain()\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Call the \", _jsx(_components.code, {\n children: \"purchaseDomain\"\n }), \" method with your configuration object to open the Entri Purchase Domain Flow.\"]\n }), \"\\n\", _jsxs(CodeGroup, {\n children: [_jsx(CodeBlock, {\n filename: \"HTML/Vanilla\",\n expandable: \"false\",\n children: _jsx(_components.pre, {\n className: \"language-html\",\n children: _jsxs(_components.code, {\n className: \"language-HTML\",\n children: [_jsxs(_components.span, {\n className: \"\",\n children: [_jsxs(_components.span, {\n className: \"token tag\",\n children: [_jsxs(_components.span, {\n className: \"token tag\",\n children: [_jsx(_components.span, {\n className: \"token punctuation\",\n children: \"\u003c\"\n }), \"button\"]\n }), \" \", _jsx(_components.span, {\n className: \"token attr-name\",\n children: \"type\"\n }), _jsxs(_components.span, {\n className: \"token attr-value\",\n children: [_jsx(_components.span, {\n className: \"token punctuation attr-equals\",\n children: \"=\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"\\\"\"\n }), \"button\", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"\\\"\"\n })]\n }), \" \", _jsxs(_components.span, {\n className: \"token special-attr\",\n children: [_jsx(_components.span, {\n className: \"token attr-name\",\n children: \"onclick\"\n }), _jsxs(_components.span, {\n className: \"token attr-value\",\n children: [_jsx(_components.span, {\n className: \"token punctuation attr-equals\",\n children: \"=\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"\\\"\"\n }), _jsxs(_components.span, {\n className: \"token value javascript language-javascript\",\n children: [\"entri\", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \".\"\n }), _jsx(_components.span, {\n className: \"token method function property-access\",\n children: \"purchaseDomain\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"(\"\n }), \"config\", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \")\"\n })]\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"\\\"\"\n })]\n })]\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"\u003e\"\n })]\n }), \"Purchase Domain\", _jsxs(_components.span, {\n className: \"token tag\",\n children: [_jsxs(_components.span, {\n className: \"token tag\",\n children: [_jsx(_components.span, {\n className: \"token punctuation\",\n children: \"\u003c/\"\n }), \"button\"]\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"\u003e\"\n })]\n })]\n }), \"\\n\"]\n })\n })\n }), _jsx(CodeBlock, {\n filename: \"JSReact/JSX\",\n expandable: \"false\",\n children: _jsx(_components.pre, {\n className: \"language-jsx\",\n children: _jsxs(_components.code, {\n className: \"language-jsx\",\n children: [_jsx(_components.span, {\n className: \"\",\n children: _jsxs(_components.span, {\n className: \"token tag\",\n children: [_jsxs(_components.span, {\n className: \"token tag\",\n children: [_jsx(_components.span, {\n className: \"token punctuation\",\n children: \"\u003c\"\n }), \"button\"]\n }), \" \", _jsx(_components.span, {\n className: \"token attr-name\",\n children: \"type\"\n }), _jsxs(_components.span, {\n className: \"token attr-value\",\n children: [_jsx(_components.span, {\n className: \"token punctuation attr-equals\",\n children: \"=\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"\\\"\"\n }), \"button\", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"\\\"\"\n })]\n }), \" \", _jsx(_components.span, {\n className: \"token attr-name\",\n children: \"onClick\"\n }), _jsxs(_components.span, {\n className: \"token script language-javascript\",\n children: [_jsx(_components.span, {\n className: \"token script-punctuation punctuation\",\n children: \"=\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"{\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"(\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \")\"\n }), \" \", _jsx(_components.span, {\n className: \"token arrow operator\",\n children: \"=\u003e\"\n }), \" entri\", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \".\"\n }), _jsx(_components.span, {\n className: \"token method function property-access\",\n children: \"purchaseDomain\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"(\"\n }), \"config\", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \")\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"}\"\n })]\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"\u003e\"\n })]\n })\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token maybe-class-name\",\n children: \"Purchase\"\n }), \" \", _jsx(_components.span, {\n className: \"token maybe-class-name\",\n children: \"Domain\"\n })]\n }), \"\\n\", _jsx(_components.span, {\n className: \"\",\n children: _jsxs(_components.span, {\n className: \"token tag\",\n children: [_jsxs(_components.span, {\n className: \"token tag\",\n children: [_jsx(_components.span, {\n className: \"token punctuation\",\n children: \"\u003c/\"\n }), \"button\"]\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"\u003e\"\n })]\n })\n }), \"\\n\"]\n })\n })\n })]\n }), \"\\n\", _jsx(_components.hr, {}), \"\\n\", _jsxs(_components.p, {\n children: [\"That’s it! You’re all set. If you are using \", _jsx(_components.a, {\n href: \"/api-reference#onentriclose-callback-event-datalaststatus-fields\",\n children: \"Entri’s callback events\"\n }), \", the \", _jsx(_components.code, {\n children: \"setupType\"\n }), \" will be set to \", _jsx(_components.code, {\n children: \"purchase\"\n }), \".\"]\n }), \"\\n\", _jsx(CodeBlock, {\n filename: \"JavaScript\",\n expandable: \"false\",\n children: _jsx(_components.pre, {\n className: \"language-javascript\",\n children: _jsxs(_components.code, {\n className: \"language-JavaScript\",\n children: [_jsx(_components.span, {\n className: \"\",\n children: _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"{\"\n })\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token literal-property property\",\n children: \"domain\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"purchased-domain.com\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token literal-property property\",\n children: \"success\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token boolean\",\n children: \"true\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token literal-property property\",\n children: \"setupType\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"purchase\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token literal-property property\",\n children: \"provider\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"Ionos\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token literal-property property\",\n children: \"lastStatus\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"FINISHED_SUCCESSFULLY\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsx(_components.span, {\n className: \"\",\n children: _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"}\"\n })\n }), \"\\n\"]\n })\n })\n }), \"\\n\", _jsx(Heading, {\n level: \"2\",\n id: \"configuration-object-specifications\",\n children: \"Configuration object specifications\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"More information about the properties within the object that you’ll pass to the \", _jsx(_components.code, {\n children: \"entri.purchaseDomain\"\n }), \" method.\"]\n }), \"\\n\", _jsx(Heading, {\n level: \"3\",\n id: \"basic-configuration\",\n children: _jsx(_components.strong, {\n children: \"Basic Configuration\"\n })\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"applicationId\"\n })\n }), \" (string):\\nA unique identifier for your application, available in the Entri dashboard.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"12345\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"token\"\n })\n }), \" (string):\\nA JWT token used for authentication and authorization.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"JWT_TOKEN\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"sellVersion\"\n })\n }), \" (string) (\", _jsx(_components.strong, {\n children: \"required\"\n }), \"):\\nThe version of the domain purchase flow that should be shown. Setting this to \", _jsx(_components.code, {\n children: \"\\\"v3\\\"\"\n }), \" will activate the latest version with enhanced features.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"v3\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"successCallbackUrl\"\n })\n }), \" (string):\\nThe URL to which the user will be redirected after a successful domain purchase.\\nThe purchased domain will be added as a \", _jsx(_components.code, {\n children: \"domain\"\n }), \" query string parameter to the success callback URL.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"https://myapplication.com/success\\\"\"\n }), \" (redirects to \", _jsx(_components.code, {\n children: \"https://myapplication.com/success?domain=mydomain.com\"\n }), \")\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"exitCallbackUrl\"\n })\n }), \" (string):\\nThe URL to which the user will be redirected if they select Close (X) before completing the purchase flow.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"https://myapplication.com/exit\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsx(Heading, {\n level: \"3\",\n id: \"dns-records\",\n children: _jsx(_components.strong, {\n children: \"DNS Records\"\n })\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"dnsRecords\"\n })\n }), \" (array of objects):\\nAn array containing DNS record objects. These records will applied after a successful domain purchase.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: _jsx(_components.strong, {\n children: \"Example:\"\n })\n }), \"\\n\", _jsx(CodeBlock, {\n filename: \"\",\n expandable: \"false\",\n children: _jsx(_components.pre, {\n className: \"language-json\",\n children: _jsxs(_components.code, {\n className: \"language-json\",\n children: [_jsx(_components.span, {\n className: \"\",\n children: _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"[\"\n })\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"{\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"type\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"A\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"host\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"@\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"value\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"93.184.216.34\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"ttl\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token number\",\n children: \"300\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"}\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"{\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"type\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"A\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"host\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"aipv4\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"value\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"93.184.216.34\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"ttl\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token number\",\n children: \"300\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"}\"\n })]\n }), \"\\n\", _jsx(_components.span, {\n className: \"\",\n children: _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"]\"\n })\n }), \"\\n\"]\n })\n })\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsx(Heading, {\n level: \"3\",\n id: \"theming-and-branding\",\n children: _jsx(_components.strong, {\n children: \"Theming \u0026 Branding\"\n })\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"whiteLabel\"\n })\n }), \" (object):\\nOptions for customizing the appearance of the domain purchase flow to match your brand.\"]\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"theme\"\n })\n }), \" (object):\\nCustomizes the colors used in the purchase flow.\"]\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"primary\"\n })\n }), \" (string):\\nMain color used in your theme. It’s usually the most recognizable color in the interface.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"#012939\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"onPrimary\"\n })\n }), \" (string):\\nColor used for text and icons that appear on top of the primary color.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"#ffffff\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"secondary\"\n })\n }), \" (string):\\nColor that complements the primary color and is used for secondary UI elements.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"#012939\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"onSecondary\"\n })\n }), \" (string):\\nColor used for text and icons that appear on top of the secondary color.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"#ffffff\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"headerBackground\"\n })\n }), \" (string) (\", _jsx(_components.strong, {\n children: \"optional\"\n }), \"):\\nBackground color of the header. Accepts any valid CSS color code (e.g., hex, rgb). If not defined, it will default to the primary color value.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"#123456\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"interactive\"\n })\n }), \" (string) (\", _jsx(_components.strong, {\n children: \"optional\"\n }), \"):\\nColor for interactive elements such as radio buttons. Accepts any valid CSS color code (e.g., hex, rgb).\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"#ffcc00\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"premiumBadge\"\n })\n }), \" (string) (\", _jsx(_components.strong, {\n children: \"optional\"\n }), \"):\\nBackground color of premium badge components. Accepts any valid CSS color code (e.g., hex, rgb).\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"#00ffcc\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"onPremiumBadge\"\n })\n }), \" (string) (\", _jsx(_components.strong, {\n children: \"optional\"\n }), \"):\\nText color on the premium badge. Accepts any valid CSS color code (e.g., hex, rgb).\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"#ffffff\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"priceBadge\"\n })\n }), \" (string) (\", _jsx(_components.strong, {\n children: \"optional\"\n }), \"):\", _jsx(_components.br, {}), \"\\n\", \"This field specifies the background color of the price badge component. Accepts any valid CSS color code (e.g., hex, rgb).\", _jsx(_components.br, {}), \"\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"#ff6600\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"onPriceBadge\"\n })\n }), \" (string) (\", _jsx(_components.strong, {\n children: \"optional\"\n }), \"):\", _jsx(_components.br, {}), \"\\n\", \"This field specifies the text color on the price badge. Accepts any valid CSS color code (e.g., hex, rgb).\", _jsx(_components.br, {}), \"\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"#ffffff\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"activating\"\n })\n }), \" (string) (\", _jsx(_components.strong, {\n children: \"optional\"\n }), \"):\\nBackground color of the “Search Domain” button. Accepts any valid CSS color code (e.g., hex, rgb).\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"#ff4500\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"onActivating\"\n })\n }), \" (string) (\", _jsx(_components.strong, {\n children: \"optional\"\n }), \"):\\nText color on the “Search Domain” button. Accepts any valid CSS color code (e.g., hex, rgb).\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"#000000\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"hideEntriLogo\"\n })\n }), \" (boolean):\\nHide the Entri logo in the purchase flow.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"true\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"hideCompanyLogo\"\n })\n }), \" (boolean):\\nHide the company logo in the purchase flow.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"true\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"hideCompanyName\"\n })\n }), \" (boolean):\\nHide the company name in the purchase flow.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"true\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"customCopy\"\n })\n }), \" (object):\\nCustom text to be displayed in the purchase flow.\"]\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"initialScreen.title.{locale}\"\n })\n }), \" (object):\\nTitle text that appears on the initial screen of the domain purchase flow, localized by language.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"Search for your domain\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"initialScreen.marketingCopy.{locale}\"\n })\n }), \" (object):\\nMarketing copy that appears below the domain input field, localized by language.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"Your website will look even better with a custom domain!\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.img, {\n src: \"https://mintlify.s3-us-west-1.amazonaws.com/entri-42/images/v3-1.jpg\",\n alt: \"Entri Sell V3 Theming - Header\"\n }), \"\\n\", _jsx(_components.img, {\n src: \"https://mintlify.s3-us-west-1.amazonaws.com/entri-42/images/v3-2.jpg\",\n alt: \"Entri Sell V3 Theming - Suggested Domains\"\n }), \"\\n\", _jsx(_components.img, {\n src: \"https://mintlify.s3-us-west-1.amazonaws.com/entri-42/images/v3-3.jpg\",\n alt: \"Entri Sell V3 Theming - Premium Suggested Domains\"\n })]\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsx(Heading, {\n level: \"3\",\n id: \"sell-object\",\n children: _jsx(_components.strong, {\n children: \"Sell Object\"\n })\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"whiteLabel.sell\"\n })\n }), \" (object):\\nContains information specific to the cobranding and user data prefill in the domain purchase flow.\"]\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"partnerLogo\"\n })\n }), \" (string):\\nThe URL of the partner’s logo, which will be displayed prominently in the cobranded header.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"https://cdn.goentri.com/mylogo.svg\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"partnerIcon\"\n })\n }), \" (string):\\nThe URL of the partner’s icon, which will appear in the floating cart at the bottom of the page.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"https://cdn.goentri.com/myicon.svg\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"partnerName\"\n })\n }), \" (string):\\nThe name of the partner company, displayed within the purchase flow.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"My Company name\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"contact\"\n })\n }), \" (object):\\nPrefilled user data to be used in the contact information form during domain creation. The following fields are supported:\"]\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"firstName\"\n })\n }), \" (string): User’s first name.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"John\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"lastName\"\n })\n }), \" (string): User’s last name.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"Doe\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"email\"\n })\n }), \" (string): User’s email address.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"john.doe@example.com\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"phone\"\n })\n }), \" (string): User’s phone number.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"+1234567890\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"address\"\n })\n }), \" (string): User’s street address.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"123 Main St\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"zip\"\n })\n }), \" (string): User’s ZIP or postal code.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"12345\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"city\"\n })\n }), \" (string): User’s city.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"Exampleville\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"state\"\n })\n }), \" (string): User’s state or province.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"EX\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"postalCode\"\n })\n }), \" (string): User’s postal code.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"12345\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"country\"\n })\n }), \" (string): User’s country.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"US\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsx(Heading, {\n level: \"3\",\n id: \"other-settings\",\n children: _jsx(_components.strong, {\n children: \"Other Settings\"\n })\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"freeDomain\"\n })\n }), \" (boolean):\\nIndicates whether the domain price should be set to $0. Should only be used on paid users at the customer’s platform.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"true\"\n })]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"locale\"\n })\n }), \" (string):\\nThe language/locale to be used in the domain purchase flow.\\n\", _jsx(_components.strong, {\n children: \"Example:\"\n }), \" \", _jsx(_components.code, {\n children: \"\\\"en\\\"\"\n })]\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsx(_components.hr, {}), \"\\n\", _jsxs(Note, {\n children: [_jsx(_components.p, {\n children: _jsx(_components.strong, {\n children: \"Coming soon 🔥\"\n })\n }), _jsxs(_components.p, {\n children: [\"Offer an email solution (Google Workspace, MSFT 365, IONOS Mail) as part of the Sell checkout flow\\nTo enable this, just pass \", _jsx(_components.code, {\n children: \"offerEmailService:true\"\n }), \" as a key in your config.\"]\n })]\n }), \"\\n\", _jsxs(Heading, {\n level: \"2\",\n id: \"advanced-security-settings-for-freedomain\",\n children: [\"Advanced Security Settings for \", _jsx(_components.code, {\n children: \"freeDomain\"\n })]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"For additional security, you can explicitly set \", _jsx(_components.code, {\n children: \"freeDomain:false\"\n }), \" or \", _jsx(_components.code, {\n children: \"freeDomain:true\"\n }), \" when you create the JWT. This way, the user gets explicit authorization for running the free domain flow.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"If the client tries to use a config that doesn’t match the one hashed in the JWT, it will return an error. Here’s an example of how to use this when generating the JWT:\"\n }), \"\\n\", _jsxs(_components.table, {\n children: [_jsx(_components.thead, {\n children: _jsxs(_components.tr, {\n children: [_jsx(_components.th, {\n align: \"left\",\n children: \"Property\"\n }), _jsx(_components.th, {\n align: \"left\",\n children: \"Type\"\n }), _jsx(_components.th, {\n align: \"left\",\n children: \"Required\"\n }), _jsx(_components.th, {\n align: \"left\",\n children: \"Default\"\n }), _jsx(_components.th, {\n align: \"left\",\n children: \"Description\"\n })]\n })\n }), _jsx(_components.tbody, {\n children: _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n align: \"left\",\n children: _jsx(_components.code, {\n children: \"freeDomain\"\n })\n }), _jsx(_components.td, {\n align: \"left\",\n children: \"boolean\"\n }), _jsx(_components.td, {\n align: \"left\",\n children: \"No\"\n }), _jsx(_components.td, {\n align: \"left\",\n children: \"N/A\"\n }), _jsxs(_components.td, {\n align: \"left\",\n children: [\"When set to \", _jsx(_components.code, {\n children: \"true\"\n }), \", it will only allow Entri to run under the \", _jsx(_components.code, {\n children: \"freeDomain\"\n }), \" flow.\"]\n })]\n })\n })]\n }), \"\\n\", _jsx(CodeBlock, {\n filename: \"JavaScript\",\n expandable: \"false\",\n children: _jsx(_components.pre, {\n className: \"language-javascript\",\n children: _jsxs(_components.code, {\n className: \"language-JavaScript\",\n children: [_jsxs(_components.span, {\n className: \"\",\n children: [_jsx(_components.span, {\n className: \"token function\",\n children: \"fetch\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"(\"\n }), _jsx(_components.span, {\n className: \"token string\",\n children: \"'https://api.goentri.com/token'\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n }), \" \", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"{\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token literal-property property\",\n children: \"method\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"'POST'\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token literal-property property\",\n children: \"body\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token known-class-name class-name\",\n children: \"JSON\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \".\"\n }), _jsx(_components.span, {\n className: \"token method function property-access\",\n children: \"stringify\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"(\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"{\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token comment\",\n children: \"// These values come from the Entri dashboard\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token literal-property property\",\n children: \"applicationId\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"12345\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token literal-property property\",\n children: \"secret\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"12345-67890\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token literal-property property\",\n children: \"freeDomain\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token boolean\",\n children: \"true\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"}\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \")\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [_jsx(_components.span, {\n className: \"token punctuation\",\n children: \"}\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \")\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \".\"\n }), _jsx(_components.span, {\n className: \"token method function property-access\",\n children: \"then\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"(\"\n }), _jsx(_components.span, {\n className: \"token parameter\",\n children: \"response\"\n }), \" \", _jsx(_components.span, {\n className: \"token arrow operator\",\n children: \"=\u003e\"\n }), \" response\", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \".\"\n }), _jsx(_components.span, {\n className: \"token method function property-access\",\n children: \"json\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"(\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \")\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \")\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \".\"\n }), _jsx(_components.span, {\n className: \"token method function property-access\",\n children: \"then\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"(\"\n }), _jsx(_components.span, {\n className: \"token parameter\",\n children: \"data\"\n }), \" \", _jsx(_components.span, {\n className: \"token arrow operator\",\n children: \"=\u003e\"\n }), \" \", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"{\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token console class-name\",\n children: \"console\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \".\"\n }), _jsx(_components.span, {\n className: \"token method function property-access\",\n children: \"log\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"(\"\n }), _jsx(_components.span, {\n className: \"token string\",\n children: \"'Success:'\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n }), \" data\", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \")\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \";\"\n }), \" \", _jsx(_components.span, {\n className: \"token comment\",\n children: \"// { \\\"auth_token\\\": \\\"exampletoken...\\\" }\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token comment\",\n children: \"// Save the token in a variable or state manager for later use\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"}\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \")\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \";\"\n })]\n }), \"\\n\"]\n })\n })\n }), \"\\n\", _jsx(Heading, {\n level: \"2\",\n id: \"migrating-from-entri-sell-v2-v3\",\n children: \"Migrating from Entri Sell V2 =\u003e V3?\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"If you are currently using a previous version of the \", _jsx(_components.code, {\n children: \"entri.purchaseDomain\"\n }), \" functionality and would like to migrate to the new version, follow these steps to ensure a smooth transition:\"]\n }), \"\\n\", _jsxs(Heading, {\n level: \"3\",\n id: \"step-1-update-the-sellversion\",\n children: [\"Step 1: Update the \", _jsx(_components.code, {\n children: \"sellVersion\"\n })]\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsxs(_components.strong, {\n children: [\"Add the \", _jsx(_components.code, {\n children: \"sellVersion\"\n }), \" Key\"]\n }), \":\\nEnsure that your configuration includes the \", _jsx(_components.code, {\n children: \"sellVersion\"\n }), \" key set to \", _jsx(_components.code, {\n children: \"\\\"v3\\\"\"\n }), \". This will activate the new version of the domain purchase flow.\"]\n }), \"\\n\", _jsx(CodeBlock, {\n filename: \"\",\n expandable: \"false\",\n children: _jsx(_components.pre, {\n className: \"language-json\",\n children: _jsxs(_components.code, {\n className: \"language-json\",\n children: [_jsxs(_components.span, {\n className: \"\",\n children: [_jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"sellVersion\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"v3\\\"\"\n })]\n }), \"\\n\"]\n })\n })\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsx(Heading, {\n level: \"3\",\n id: \"step-2-implement-new-redirect-urls\",\n children: \"Step 2: Implement New Redirect URLs\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsxs(_components.strong, {\n children: [\"Add \", _jsx(_components.code, {\n children: \"successCallbackUrl\"\n }), \" and \", _jsx(_components.code, {\n children: \"exitCallbackUrl\"\n })]\n }), \":\\nDefine where users should be redirected after the domain purchase flow is completed, whether successfully or due to an error.\"]\n }), \"\\n\", _jsx(CodeBlock, {\n filename: \"\",\n expandable: \"false\",\n children: _jsx(_components.pre, {\n className: \"language-json\",\n children: _jsxs(_components.code, {\n className: \"language-json\",\n children: [_jsxs(_components.span, {\n className: \"\",\n children: [_jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"successCallbackUrl\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"https://your-success-url.com\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [_jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"exitCallbackUrl\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"https://your-error-url.com\\\"\"\n })]\n }), \"\\n\"]\n })\n })\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsx(Heading, {\n level: \"3\",\n id: \"step-3-update-theming-options\",\n children: \"Step 3: Update Theming Options\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Expand Theme Configuration\"\n }), \":\\nReview and expand your theme settings to include new customizations like the \", _jsx(_components.code, {\n children: \"onSecondary\"\n }), \" and \", _jsx(_components.code, {\n children: \"secondary\"\n }), \" keys, which control the colors of interactive elements like buttons.\"]\n }), \"\\n\", _jsx(CodeBlock, {\n filename: \"\",\n expandable: \"false\",\n children: _jsx(_components.pre, {\n className: \"language-json\",\n children: _jsxs(_components.code, {\n className: \"language-json\",\n children: [_jsxs(_components.span, {\n className: \"\",\n children: [_jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"theme\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"{\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"primary\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"#012939\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"onPrimary\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"#ffffff\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"secondary\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"#ffffff\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"onSecondary\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"#012939\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"headerBackground\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"#012939\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"interactive\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"#ffcc00\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"premiumBadge\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"#00ffcc\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"onPremiumBadge\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"#ffffff\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"priceBadge\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"ff6600\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"onPriceBadge\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"ffffff\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"activating\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"#ff4500\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"onActivating\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"#000000\\\"\"\n })]\n }), \"\\n\", _jsx(_components.span, {\n className: \"\",\n children: _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"}\"\n })\n }), \"\\n\"]\n })\n })\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(Heading, {\n level: \"3\",\n id: \"step-4-customize-the-sell-object-optional\",\n children: [\"Step 4: Customize the \", _jsx(_components.code, {\n children: \"sell\"\n }), \" Object (Optional)\"]\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Add Branding and User Data\"\n }), \":\\nIf you want to leverage the new cobranded experience, populate the \", _jsx(_components.code, {\n children: \"sell\"\n }), \" object with your partner branding and prefilled user data. This includes fields like \", _jsx(_components.code, {\n children: \"partnerLogo\"\n }), \", \", _jsx(_components.code, {\n children: \"partnerIcon\"\n }), \", \", _jsx(_components.code, {\n children: \"partnerName\"\n }), \", and the \", _jsx(_components.code, {\n children: \"contact\"\n }), \" object.\"]\n }), \"\\n\", _jsx(CodeBlock, {\n filename: \"\",\n expandable: \"false\",\n children: _jsx(_components.pre, {\n className: \"language-json\",\n children: _jsxs(_components.code, {\n className: \"language-json\",\n children: [_jsxs(_components.span, {\n className: \"\",\n children: [_jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"sell\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"{\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"partnerLogo\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"https://cdn.yourpartner.com/logo.svg\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"partnerIcon\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"https://cdn.yourpartner.com/icon.svg\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"partnerName\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"YourPartnerName\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"contact\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"{\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"firstName\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"John\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"lastName\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"Doe\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"email\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"john.doe@example.com\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"phone\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"+1234567890\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"address\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"123 Main St\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"zip\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"12345\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"city\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"Exampleville\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"state\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"EX\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"postalCode\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"12345\\\"\"\n }), _jsx(_components.span, {\n className: \"token punctuation\",\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token property\",\n children: \"\\\"country\\\"\"\n }), _jsx(_components.span, {\n className: \"token operator\",\n children: \":\"\n }), \" \", _jsx(_components.span, {\n className: \"token string\",\n children: \"\\\"US\\\"\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"\",\n children: [\" \", _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"}\"\n })]\n }), \"\\n\", _jsx(_components.span, {\n className: \"\",\n children: _jsx(_components.span, {\n className: \"token punctuation\",\n children: \"}\"\n })\n }), \"\\n\"]\n })\n })\n }), \"\\n\"]\n }), \"\\n\"]\n }), \"\\n\", _jsx(Heading, {\n level: \"3\",\n id: \"step-5-test-the-new-configuration\",\n children: \"Step 5: Test the New Configuration\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: \"Conduct Thorough Testing\"\n }), \":\\nAfter updating your configuration, thoroughly test the domain purchase flow to ensure that all new features are working correctly and that the theming, branding, and user data are displayed as expected.\"]\n }), \"\\n\"]\n }), \"\\n\", _jsx(Heading, {\n level: \"3\",\n id: \"step-6-deploy-the-updated-configuration\",\n children: \"Step 6: Deploy the Updated Configuration\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: \"Roll Out to Production\"\n }), \":\\nOnce you are satisfied with the testing, deploy the updated configuration to your production environment. Monitor the transition to ensure a seamless experience for your users.\"]\n }), \"\\n\"]\n }), \"\\n\", _jsx(_components.hr, {}), \"\\n\", _jsxs(_components.p, {\n children: [\"By following these steps, you can easily migrate to the new version of \", _jsx(_components.code, {\n children: \"entri.purchaseDomain\"\n }), \", unlocking enhanced customization and a better overall user experience.\"]\n }), \"\\n\", _jsx(Heading, {\n level: \"2\",\n id: \"faq\",\n children: \"FAQ\"\n }), \"\\n\", _jsx(_components.p, {\n children: _jsx(_components.em, {\n children: \"Who is the registrar for the domain?\"\n })\n }), \"\\n\", _jsx(_components.p, {\n children: \"Entri has partnered with Ionos as the domain registrar.\"\n }), \"\\n\", _jsx(_components.p, {\n children: _jsx(_components.em, {\n children: \"How is billing handled?\"\n })\n }), \"\\n\", _jsx(_components.p, {\n children: \"Billing, renewals, and the checkout process are handled by Ionos.\"\n }), \"\\n\", _jsx(_components.p, {\n children: _jsx(_components.em, {\n children: \"Who is responsible for customer support relating to the domain purchased?\"\n })\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"For all inquiries relating to billing, renewals, domain registration, please direct your customers to Ionos’s support team: \", _jsx(_components.a, {\n href: \"https://contact.ionos.com/\",\n children: \"https://contact.ionos.com/\"\n })]\n }), \"\\n\", _jsx(_components.p, {\n children: _jsx(_components.em, {\n children: \"Can I earn a commission for each domain purchased?\"\n })\n }), \"\\n\", _jsx(_components.p, {\n children: \"Yes! Please contact your Entri account manager to set this up.\"\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = Object.assign({}, _provideComponents(), props.components);\n return MDXLayout ? _jsx(MDXLayout, Object.assign({}, props, {\n children: _jsx(_createMdxContent, props)\n })) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\nfunction _missingMdxReference(id, component) {\n throw new Error(\"Expected \" + (component ? \"component\" : \"object\") + \" `\" + id + \"` to be defined: you likely forgot to import, pass, or provide it.\");\n}\n","frontmatter":{},"scope":{"mintConfig":{"$schema":"https://mintlify.com/schema.json","name":"Entri","logo":{"light":"https://mintlify.s3-us-west-1.amazonaws.com/entri-42/logo/light.png","dark":"https://mintlify.s3-us-west-1.amazonaws.com/entri-42/logo/dark.png"},"favicon":"/favicon.png","modeToggle":{"default":"dark"},"colors":{"primary":"#1b66d5","light":"#fff","dark":"#1b66d5","background":{"light":"#fff","dark":"#00122D"}},"topbarCtaButton":{"name":"Get Entri","url":"https://www.entri.com/products/connect?utm_term=entri\u0026utm_campaign=Entri+Search+Campaign\u0026utm_source=adwords\u0026utm_medium=ppc\u0026hsa_acc=7813870670\u0026hsa_cam=16449479279\u0026hsa_grp=133925002277\u0026hsa_ad=650360294556\u0026hsa_src=g\u0026hsa_tgt=kwd-370487985543\u0026hsa_kw=entri\u0026hsa_mt=e\u0026hsa_net=adwords\u0026hsa_ver=3\u0026gclid=CjwKCAiAmZGrBhAnEiwAo9qHidBkNlxGpprRtbfawek2vGlSGuVLHUFqeaUbuwNzGS2MjAb8UcmCbRoCL-4QAvD_BwE"},"topbarLinks":[{"url":"https://dashboard.entri.com/login","name":"Login","_id":"671959726641f5947131adf3"}],"navigation":[{"group":"Documentation","pages":["getting-started","install",{"group":"Connect with DNS providers","pages":["integrate-with-dns-providers","handling-dkim-spf-dmarc-records","advanced-dmarc-options","provider-list"]},"domain-purchasing","ssl-provisioning","power","webhooks","api-reference"]},{"group":"Security","pages":["responsible-disclosure-policy"]}],"anchors":[{"name":"Blog","url":"https://www.entri.com/resources/blog","icon":"newspaper","_id":"671959726641f5947131adf1"},{"name":"Demo","url":"https://www.entri.com/resources/instant-demos","icon":"presentation-screen","_id":"671959726641f5947131adf2"}],"backgroundImage":"https://mintlify.s3-us-west-1.amazonaws.com/entri-42/images/background.png","redirects":[{"destination":"/service-level-agreement","source":"/docs/service-level-agreement","_id":"671959726641f5947131adee"},{"destination":"/domain-purchasing","source":"/entri-sell-v3","_id":"671959726641f5947131adef"},{"destination":"/handling-dkim-spf-dmarc-records","source":"/handling-dkim-records","_id":"671959726641f5947131adf0"}],"footerSocials":{"twitter":"https://twitter.com/ThisIsEntri","linkedin":"https://www.linkedin.com/company/entri1/"},"repo":{"github":{"owner":"entri-dns","repo":"public-docs","contentDirectory":"","deployBranch":"master","isPrivate":false}}},"pageMetadata":{"title":"Sell domains in your app","description":"Entri Sell enables your users to easily purchase a domain that is immediately configured to work with your application.","href":"/domain-purchasing"}}},"entitlements":{"AI_CHAT":{"status":"ENABLED"}}},"__N_SSG":true},"page":"/_sites/[subdomain]/[[...slug]]","query":{"subdomain":"developers.entri.com","slug":["domain-purchasing"]},"buildId":"8gqtPLLVbn-oaWMik8oUY","isFallback":false,"isExperimentalCompile":false,"gsp":true,"scriptLoader":[]}</script></html></body></html>

Pages: 1 2 3 4 5 6 7 8 9 10