{"id":50607,"date":"2026-08-03T00:02:48","date_gmt":"2026-08-03T03:02:48","guid":{"rendered":"https:\/\/www.hostinger.com\/pt\/tutoriais\/integracao-stripe-hostinger-horizons\/"},"modified":"2026-08-03T00:17:54","modified_gmt":"2026-08-03T03:17:54","slug":"integracao-stripe-hostinger-horizons","status":"publish","type":"post","link":"\/pt\/tutoriais\/integracao-stripe-hostinger-horizons\/","title":{"rendered":"Como integrar pagamentos Stripe \u00e0 Hostinger Horizons"},"content":{"rendered":"<p class=\"wp-block-paragraph\">O Stripe &eacute; uma plataforma de pagamentos que permite aceitar pagamentos online e gerenciar assinaturas com seguran&ccedil;a. Integrar o Stripe a uma aplica&ccedil;&atilde;o web do Hostinger Horizons oferece um sistema completo de assinaturas do lado do servidor, sem que voc&ecirc; precise escrever c&oacute;digo de back-end.<\/p><p class=\"wp-block-paragraph\">Para integrar o Stripe &agrave; sua aplica&ccedil;&atilde;o web do Hostinger Horizons, siga estas etapas:<\/p><ol class=\"wp-block-list\">\n<li>Prepare um banco de dados para armazenar os dados dos usu&aacute;rios e das assinaturas.<\/li>\n\n\n\n<li>Adicione os recursos de cadastro e login para as contas dos usu&aacute;rios.<\/li>\n\n\n\n<li>Crie uma conta no Stripe.<\/li>\n\n\n\n<li>Crie um produto de assinatura e copie suas chaves de API.<\/li>\n\n\n\n<li>Configure os webhooks do Stripe.<\/li>\n\n\n\n<li>Armazene suas chaves como vari&aacute;veis de ambiente.<\/li>\n\n\n\n<li>Linke o Stripe ao seu projeto do Horizons.<\/li>\n\n\n\n<li>Teste o fluxo de pagamento.<\/li>\n\n\n\n<li>Adicione um portal do cliente para que os assinantes possam gerenciar seus planos.<\/li>\n\n\n\n<li>Entre em opera&ccedil;&atilde;o para aceitar pagamentos reais.<\/li>\n<\/ol><h2 class=\"wp-block-heading\" id=\"h-antes-de-comecar\">Antes de come&ccedil;ar<\/h2><p class=\"wp-block-paragraph\">Antes de adicionar o Stripe, conecte sua aplica&ccedil;&atilde;o web a um dom&iacute;nio personalizado. O Stripe exige um dom&iacute;nio ativo na hora de configurar webhooks e colocar o site no ar, ent&atilde;o essa etapa &eacute; essencial.<\/p><p class=\"wp-block-paragraph\">Vamos criar um modelo de assinatura recorrente em que os usu&aacute;rios pagam uma taxa mensal fixa para acessar conte&uacute;do premium. As mesmas etapas se aplicam a qualquer caso de uso baseado em assinatura, incluindo sites de assinatura, ferramentas SaaS e comunidades restritas.<\/p><h2 class=\"wp-block-heading\" id=\"h-1-configure-o-banco-de-dados-para-o-seu-projeto\">1. Configure o banco de dados para o seu projeto<\/h2><p class=\"wp-block-paragraph\">O <a href=\"\/pt\/horizons\/ai-app-builder\">criador de aplicativos com IA<\/a> da Hostinger inclui um banco de dados integrado que voc&ecirc; pode acessar diretamente do editor usando o bot&atilde;o <strong>Dados<\/strong>. Antes de conectar o Stripe, certifique-se de que seu projeto tenha um banco de dados configurado para armazenar dados de usu&aacute;rios e assinaturas.<\/p><p class=\"wp-block-paragraph\">Voc&ecirc; n&atilde;o precisa configurar nada manualmente. Descreva o que precisa no chat do Horizons, e a IA configura as cole&ccedil;&otilde;es de banco de dados necess&aacute;rias para voc&ecirc;.<\/p><p class=\"wp-block-paragraph\">Abra seu projeto no Horizons e use um comando como:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Adicionar contas de usu&aacute;rio ao meu projeto.<\/pre><p class=\"wp-block-paragraph\">Depois de enviar, seu painel de dados aparece no editor. Voc&ecirc; pode ver e gerenciar os dados em tempo real depois de publicar seu projeto.<\/p><figure data-wp-context='{\"imageId\":\"6a7030e107e83\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a7030e107e83\" class=\"wp-block-image size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2026\/08\/fi-30c58897-fb67-49bd-906f-26ebf8d5a012.jpg\/w=1024,h=1024,fit=scale-down\" alt=\"\" class=\"wp-image-57333\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><h2 class=\"wp-block-heading\" id=\"h-2-adicione-funcionalidades-de-cadastro-e-login\">2. Adicione funcionalidades de cadastro e login<\/h2><p class=\"wp-block-paragraph\">Com assinaturas, os usu&aacute;rios precisam de contas para que o status da assinatura fique vinculado &agrave; identidade deles. Adicione a autentica&ccedil;&atilde;o antes de conectar o Stripe.<\/p><p class=\"wp-block-paragraph\">No chat do Horizons, usa um comando tipo:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Adicionar fluxos de cadastro e login ao meu projeto com autentica&ccedil;&atilde;o segura.<\/pre><p class=\"wp-block-paragraph\">Se voc&ecirc; j&aacute; adicionou a autentica&ccedil;&atilde;o, confere se t&aacute; tudo configurado certo com:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Verifica se os fluxos de cadastro e login est&atilde;o totalmente e seguramente integrados ao banco de dados. Pretendo usar o Stripe para assinaturas, ent&atilde;o garante que as contas dos usu&aacute;rios sejam gerenciadas corretamente.<\/pre><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"6a7030e10bfbc\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a7030e10bfbc\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2026\/08\/fi-6a0b4f79-4994-428c-afdf-c0b432cf2efe.jpg\/w=1024,h=1024,fit=scale-down\" alt=\"\" class=\"wp-image-57334\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><h2 class=\"wp-block-heading\" id=\"h-3-crie-uma-conta-no-stripe\">3. Crie uma conta no Stripe<\/h2><p class=\"wp-block-paragraph\">Para come&ccedil;ar a aceitar pagamentos, voc&ecirc; vai precisar de uma conta no Stripe: assim que sua conta for criada, voc&ecirc; ser&aacute; redirecionado para o modo Stripe Sandbox, um ambiente de teste que permite simular pagamentos antes de entrar em opera&ccedil;&atilde;o.<\/p><ol class=\"wp-block-list\">\n<li>Acesse a <a href=\"https:\/\/dashboard.stripe.com\/register\" target=\"_blank\" rel=\"noopener\">p&aacute;gina de cadastro do Stripe<\/a> e crie sua conta gratuita.<\/li>\n\n\n\n<li>Insira seu e-mail, senha e dados do neg&oacute;cio ou pessoais.<\/li>\n\n\n\n<li>D&aacute; uma olhada na sua caixa de entrada e confirma seu e-mail para ativar a conta.<\/li>\n<\/ol><p class=\"wp-block-paragraph\">Se quiser configurar sua conta do Stripe em produ&ccedil;&atilde;o desde o in&iacute;cio, clica em <strong>Mudar para conta em produ&ccedil;&atilde;o<\/strong> no canto superior direito do painel do Stripe e conclui o processo de cadastro.<\/p><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"6a7030e10f88c\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a7030e10f88c\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2026\/08\/fi-0ce89d12-ff65-491d-b61b-000fa9889ab6-scaled.jpg\/w=1024,h=1024,fit=scale-down\" alt=\"\" class=\"wp-image-57335\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><h2 class=\"wp-block-heading\" id=\"h-4-crie-um-produto-de-assinatura-e-obtenha-suas-chaves-de-api\">4. Crie um produto de assinatura e obtenha suas chaves de API<\/h2><p class=\"wp-block-paragraph\">Um produto de assinatura define quanto os usu&aacute;rios pagam e com que frequ&ecirc;ncia, e suas chaves de API permitem que o Horizons se comunique com o Stripe. Primeiro, crie o produto:<\/p><ol class=\"wp-block-list\">\n<li>Acesse o <strong>Cat&aacute;logo de produtos<\/strong> no seu painel do Stripe.<\/li>\n\n\n\n<li>Clique em <strong>+ Adicionar um produto<\/strong> e insira os detalhes:\n<ul class=\"wp-block-list\">\n<li><strong>Nome<\/strong>. Insira um nome claro, como Plano Pro.<\/li>\n\n\n\n<li><strong>Modelo de pre&ccedil;o<\/strong>. Selecione &ldquo;Recorrente&rdquo;.<\/li>\n\n\n\n<li><strong>Valor<\/strong>. Para testar, defina como <strong>$0<\/strong> para que voc&ecirc; possa passar por todo o fluxo de compra sem ser cobrado; depois, atualize o pre&ccedil;o antes de colocar o produto no ar.<\/li>\n\n\n\n<li><strong>Per&iacute;odo de cobran&ccedil;a<\/strong>. Escolha &ldquo;Mensal&rdquo; ou ajuste conforme suas necessidades.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Clique em <strong>Adicionar produto<\/strong> para salvar.<\/li>\n<\/ol><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"6a7030e113187\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a7030e113187\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2026\/08\/fi-0d52d0b5-c3b6-41e6-be8d-51aef0d43f41.jpg\/w=1024,h=1024,fit=scale-down\" alt=\"\" class=\"wp-image-57338\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><ol start=\"4\" class=\"wp-block-list\">\n<li>Abra o produto, clique no &iacute;cone de tr&ecirc;s pontos ao lado do pre&ccedil;o e selecione <strong>Copiar ID do pre&ccedil;o<\/strong>.<\/li>\n<\/ol><p class=\"wp-block-paragraph\">Anota esse ID de pre&ccedil;o. Voc&ecirc; vai precisar dele mais tarde, e ele tem o formato <strong>price_&hellip;<\/strong>.<\/p><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"6a7030e116e17\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a7030e116e17\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2026\/08\/fi-0fbb8f8a-ccab-4129-a00d-d5926f5d6e35.jpg\/w=1024,h=1024,fit=scale-down\" alt=\"\" class=\"wp-image-57340\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p class=\"wp-block-paragraph\">Em seguida, copie suas chaves de API:<\/p><ol class=\"wp-block-list\">\n<li>Acesse a p&aacute;gina <strong>Chaves de API<\/strong> no seu painel do Stripe.<\/li>\n\n\n\n<li>Na se&ccedil;&atilde;o <strong>Chaves padr&atilde;o<\/strong>, copie as duas:\n<ul class=\"wp-block-list\">\n<li>A chave p&uacute;blica, que come&ccedil;a com <strong>pk_live_&hellip;<\/strong> (<strong>pk_test_&hellip;<\/strong> no modo Sandbox).<\/li>\n\n\n\n<li>A chave secreta, que come&ccedil;a com <strong>sk_live_&hellip;<\/strong> (<strong>sk_test_<\/strong>&hellip; no modo Sandbox).<\/li>\n<\/ul>\n<\/li>\n<\/ol><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"6a7030e11a98e\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a7030e11a98e\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2026\/08\/fi-7c334f2e-5ae0-4765-899a-00e69a33365d.jpg\/w=1024,h=1024,fit=scale-down\" alt=\"\" class=\"wp-image-57341\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p><div class=\"announcement-block announcement-block--important\">\n            <span class=\"announcement-block__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n                          d=\"M12 22.5C17.799 22.5 22.5 17.799 22.5 12C22.5 6.20101 17.799 1.5 12 1.5C6.20101 1.5 1.5 6.20101 1.5 12C1.5 17.799 6.20101 22.5 12 22.5ZM13.637 7.65198C13.637 6.74791 12.9041 6.01501 12 6.01501C11.0959 6.01501 10.363 6.74791 10.363 7.65198C10.5335 9.53749 10.875 13.383 10.875 13.383C10.875 14.0043 11.3787 14.508 12 14.508C12.6213 14.508 13.125 14.0043 13.125 13.383V13.38L13.637 7.65198ZM11.9927 15.714C11.3714 15.714 10.8677 16.2177 10.8677 16.839C10.8677 17.4603 11.3714 17.964 11.9927 17.964H12.0073C12.6286 17.964 13.1323 17.4603 13.1323 16.839C13.1323 16.2177 12.6286 15.714 12.0073 15.714H11.9927Z\"\n                          fill=\"#FEA419\"\/>\n                <\/svg>\n                Important\n            <\/span>\n            <p class=\"announcement-block__content\">\n                <strong>Importante!<\/strong> Sua chave secreta d&aacute; acesso total &agrave; sua conta do Stripe. Nunca a compartilhe nem a exponha no c&oacute;digo do front-end, e guarde-a em um lugar seguro, porque voc&ecirc; n&atilde;o vai conseguir v&ecirc;-la de novo depois de sair da p&aacute;gina.\n            <\/p><\/div>\n\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-5-configure-os-webhooks-do-stripe-para-o-seu-projeto\"><strong>5. Configure os webhooks do Stripe para o seu projeto<\/strong><\/h2><p class=\"wp-block-paragraph\">Os webhooks s&atilde;o como o Stripe se comunica com o seu projeto. Eles mant&ecirc;m os status das assinaturas sincronizados, por exemplo, quando um pagamento &eacute; aprovado, falha ou quando um usu&aacute;rio cancela seu plano.<\/p><p class=\"wp-block-paragraph\">Primeiro, pe&ccedil;a ao Horizons para criar um endpoint de webhook. O Horizons usa um servidor de API Express para a l&oacute;gica do lado do servidor, ent&atilde;o use um prompt como este para adicionar a rota da API que recebe os eventos de webhook do Stripe:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Crie uma rota de API no servidor que exponha uma URL de endpoint para lidar com os webhooks do Stripe. Voc&ecirc; pode cham&aacute;-la de stripe-webhook. N&atilde;o fa&ccedil;a nenhuma outra altera&ccedil;&atilde;o no projeto!<\/pre><p class=\"wp-block-paragraph\">O Horizons gera uma URL de endpoint de webhook. Copie-a, pois voc&ecirc; vai precisar dela na pr&oacute;xima etapa.<\/p><p class=\"wp-block-paragraph\">Depois, crie o webhook no Stripe:<\/p><ol class=\"wp-block-list\">\n<li>V&aacute; para <strong>Desenvolvedores &rarr; Webhooks<\/strong> no seu painel do Stripe.<\/li>\n\n\n\n<li>Clique em <strong>+ Adicionar destino<\/strong>.<\/li>\n\n\n\n<li>Na primeira etapa, selecione <strong>seu\/sua conta<\/strong>, depois procure e selecione estes tr&ecirc;s eventos:\n<ul class=\"wp-block-list\">\n<li><strong>checkout.session.completed<\/strong>.<\/li>\n\n\n\n<li><strong>customer.subscription.updated<\/strong>.<\/li>\n\n\n\n<li><strong>customer.subscription.deleted<\/strong>.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Clique em <strong>Continuar<\/strong>.<\/li>\n<\/ol><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"6a7030e11ed7b\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a7030e11ed7b\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2026\/08\/fi-c0243c3f-54a6-4523-a7b2-cdf35d3d030b.jpg\/w=1024,h=1024,fit=scale-down\" alt=\"\" class=\"wp-image-57342\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><ol start=\"5\" class=\"wp-block-list\">\n<li>Na pr&oacute;xima etapa, seleciona <strong>Endpoint do webhook<\/strong> e clica em <strong>Continuar<\/strong>.<\/li>\n\n\n\n<li>Insere o nome do destino:\n<ul class=\"wp-block-list\">\n<li><strong>Nome do destino<\/strong>: insere algo como &ldquo;Webhook do Horizons para assinaturas&rdquo;.<\/li>\n\n\n\n<li><strong>URL do endpoint<\/strong>: cola a URL gerada pelo Horizons na etapa anterior.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Conclui a configura&ccedil;&atilde;o.<\/li>\n<\/ol><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"6a7030e12326d\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a7030e12326d\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2026\/08\/fi-c4f07016-355e-421c-9a26-e699bfa3fe03.jpg\/w=1024,h=1024,fit=scale-down\" alt=\"\" class=\"wp-image-57343\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p class=\"wp-block-paragraph\">Depois de concluir a configura&ccedil;&atilde;o, o Stripe fornece um segredo de assinatura que come&ccedil;a com <strong>whsec_&hellip;<\/strong>. Copie e salve esse segredo, pois voc&ecirc; vai precisar dele na pr&oacute;xima etapa.<\/p><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"6a7030e126fb6\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a7030e126fb6\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2026\/08\/fi-e1761013-8c1d-44ae-9ea9-3bb429428325.jpg\/public\" alt=\"\" class=\"wp-image-57344\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><h2 class=\"wp-block-heading\" id=\"h-6-salve-suas-chaves-do-stripe-como-variaveis-de-ambiente\"><strong>6. Salve suas chaves do Stripe como vari&aacute;veis de ambiente<\/strong><\/h2><p class=\"wp-block-paragraph\">Para manter sua chave secreta e o segredo de assinatura do webhook protegidos, salve-os como vari&aacute;veis de ambiente no servidor da API do Horizons. Isso evita que eles apare&ccedil;am no seu c&oacute;digo front-end.<\/p><p class=\"wp-block-paragraph\">No chat do Horizons, use este comando, substituindo os valores de preenchimento por suas chaves reais das etapas 4 e 5:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Adicione as seguintes vari&aacute;veis de ambiente ao servidor da API:\n\nSTRIPE_SECRET_KEY = sk_live_&hellip;\nSTRIPE_WEBHOOK_SECRET = whsec_&hellip;\n\nN&atilde;o fa&ccedil;a nenhuma outra altera&ccedil;&atilde;o no projeto!<\/pre><h2 class=\"wp-block-heading\" id=\"h-7-conecte-o-stripe-ao-seu-projeto-no-horizons\"><strong>7. Conecte o Stripe ao seu projeto no Horizons<\/strong><\/h2><p class=\"wp-block-paragraph\">A solicita&ccedil;&atilde;o abaixo conecta com seguran&ccedil;a sua assinatura do Stripe ao seu projeto, cuidando do checkout, dos webhooks, do produto de assinatura e do controle de acesso em uma &uacute;nica etapa.<\/p><p class=\"wp-block-paragraph\">Antes de enviar, substitua os valores dos espa&ccedil;os reservados por:<\/p><ul class=\"wp-block-list\">\n<li>Seu ID de pre&ccedil;o (da etapa 4), que tem o formato <strong>price_&hellip;<\/strong>.<\/li>\n\n\n\n<li>Sua chave public&aacute;vel (da etapa 4), que tem o formato <strong>pk_live_&hellip;<\/strong>.<\/li>\n\n\n\n<li>Seu dom&iacute;nio real no lugar de your-domain.<\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Quero integrar o Stripe de forma segura para vender assinaturas no meu projeto Hostinger Horizons.\n\nJ&aacute; salvei minhas chaves do Stripe como vari&aacute;veis de ambiente no servidor da API:\n\nChave secreta: STRIPE_SECRET_KEY\nSegredo de assinatura do webhook: STRIPE_WEBHOOK_SECRET\n\nPasso 1: Sess&atilde;o de checkout e webhooks\n\nCria uma rota de API no servidor que lide com as sess&otilde;es de checkout do Stripe. Quando um usu&aacute;rio iniciar o fluxo de compra da assinatura, cria com seguran&ccedil;a uma sess&atilde;o de checkout do Stripe usando minha chave secreta armazenada e retorna a URL da sess&atilde;o para redirecionar o usu&aacute;rio.\n\nAo criar a sess&atilde;o do Stripe Checkout, passe tanto o success_url quanto o cancel_url. Certifica-te de que essas URLs usem o dom&iacute;nio do meu site: seu-dom&iacute;nio.\n\nCria um cliente no Stripe e salva o stripe_customer_id gerado no banco de dados.\n\nPara qualquer atualiza&ccedil;&atilde;o recebida do webhook do Stripe, usa o stripe_customer_id para localizar e atualizar o registro correto do usu&aacute;rio no banco de dados.\n\nPasso 2: Produto de assinatura\n\nAdicione meu produto de assinatura do Stripe ao projeto Horizons.\n\nID de pre&ccedil;o do produto no Stripe: price_&hellip;\nChave public&aacute;vel do Stripe: pk_live_&hellip;\n\nAdicione um bot&atilde;o &ldquo;Atualizar&rdquo; no projeto que acione o fluxo de compra da assinatura.\n\nGaranta que a assinatura esteja totalmente linkada ao banco de dados de usu&aacute;rios.\n\nS&oacute; usu&aacute;rios com uma assinatura ativa podem acessar os recursos premium.\n\nPasso 3: Controle de acesso\n\nConceda acesso premium aos usu&aacute;rios assim que eles comprarem.\n\nVerifique o status da assinatura em tempo real quando os usu&aacute;rios fizerem login, criarem uma conta ou tentarem acessar recursos premium.\n\nPasso 4: Seguran&ccedil;a e corre&ccedil;&atilde;o\n\nGaranta que a integra&ccedil;&atilde;o seja segura e n&atilde;o exponha chaves secretas para o front-end.\n\nLide com toda a comunica&ccedil;&atilde;o do Stripe no lado do servidor por meio do servidor de API.<\/pre><p class=\"wp-block-paragraph\">D&aacute; um tempinho pro Horizons processar e aplicar as altera&ccedil;&otilde;es.<\/p><h2 class=\"wp-block-heading\" id=\"h-8-teste-a-integracao-de-pagamentos\"><strong>8. Teste a integra&ccedil;&atilde;o de pagamentos<\/strong><\/h2><p class=\"wp-block-paragraph\">Seu aplicativo web j&aacute; deve estar pronto para aceitar pagamentos de teste. Voc&ecirc; n&atilde;o pode testar a integra&ccedil;&atilde;o com o Stripe usando o painel de visualiza&ccedil;&atilde;o no Horizons, porque a visualiza&ccedil;&atilde;o ao vivo &eacute; executada dentro de um iframe em ambiente de teste (sandbox) que restringe redirecionamentos por motivos de seguran&ccedil;a.<\/p><ol class=\"wp-block-list\">\n<li>Clique em <strong>Publicar<\/strong> no canto superior direito do painel do projeto para lan&ccedil;ar seu aplicativo.<\/li>\n\n\n\n<li>Acesse sua aplica&ccedil;&atilde;o web pelo seu dom&iacute;nio personalizado e tente fazer uma assinatura.<\/li>\n\n\n\n<li>Na p&aacute;gina de checkout do Stripe, use estes detalhes de teste:\n<ul class=\"wp-block-list\">\n<li><strong>N&uacute;mero do cart&atilde;o<\/strong>. 4242 4242 4242 4242.<\/li>\n\n\n\n<li><strong>Data de validade<\/strong>. Qualquer data futura.<\/li>\n\n\n\n<li><strong>CVC<\/strong>. Qualquer n&uacute;mero de 3 d&iacute;gitos (4 d&iacute;gitos para cart&otilde;es de teste da Amex).<\/li>\n\n\n\n<li><strong>Nome<\/strong>, <strong>e-mail<\/strong>, <strong>pa&iacute;s<\/strong>. Quaisquer valores.<\/li>\n<\/ul>\n<\/li>\n<\/ol><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"6a7030e12be98\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a7030e12be98\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2026\/08\/fi-ac8a637f-41f3-4246-a945-040ef749025d.jpg\/w=1024,h=1024,fit=scale-down\" alt=\"\" class=\"wp-image-57345\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p class=\"wp-block-paragraph\">Se o pagamento for bem-sucedido, voc&ecirc; ser&aacute; redirecionado de volta para o seu aplicativo com o acesso premium ativado. Voc&ecirc; tamb&eacute;m pode conferir a assinatura no seu painel do Stripe, na se&ccedil;&atilde;o <strong>Clientes<\/strong>.<\/p><p>        <div class=\"protip\">\n            <div class=\"protip__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path d=\"M1.49234 23.5024C1.23229 23.5024 0.972242 23.4024 0.782206 23.2123C0.562165 22.9923 0.452144 22.6822 0.502153 22.3722C0.562165 21.9221 1.14227 17.9113 3.00262 16.351C3.63274 15.8209 4.43289 15.5509 5.26305 15.5609C6.09321 15.5909 6.87335 15.9109 7.47347 16.4911C8.6937 17.6913 8.76371 19.6717 7.6435 20.9919C6.0832 22.8523 2.08245 23.4324 1.63237 23.4924C1.59236 23.4924 1.54235 23.4924 1.50234 23.4924L1.49234 23.5024ZM5.16303 17.5613C4.84297 17.5613 4.53291 17.6713 4.29287 17.8813C3.60274 18.4614 3.07264 19.9317 2.75258 21.242C4.06282 20.9219 5.5331 20.3918 6.11321 19.7017C6.55329 19.1716 6.54329 18.3814 6.0832 17.9213C5.85316 17.7013 5.5431 17.5713 5.20304 17.5613C5.19304 17.5613 5.17303 17.5613 5.16303 17.5613ZM11.7243 21.8821C11.4942 21.8821 11.2642 21.8021 11.0841 21.652C10.8541 21.462 10.7241 21.1819 10.7241 20.8819V15.9109L8.08358 13.2705H3.11264C2.81259 13.2705 2.53254 13.1404 2.3425 12.9104C2.15246 12.6803 2.07245 12.3803 2.12246 12.0902C2.19247 11.7102 2.84259 8.36953 4.70294 7.12929C6.33325 6.04909 8.96375 6.49918 10.244 6.80923C11.5442 4.96889 13.2546 3.4286 15.2349 2.33839C17.4553 1.11816 19.9858 0.518051 22.4963 0.498047C23.0464 0.498047 23.4865 0.948132 23.4865 1.49824C23.4865 5.0389 22.3763 9.97983 17.1753 13.7605C17.4853 15.0408 17.9354 17.6613 16.8552 19.2816C15.615 21.1419 12.2744 21.7921 11.8943 21.8621C11.8343 21.8721 11.7743 21.8821 11.7143 21.8821H11.7243ZM12.7245 16.181V19.6016C13.7146 19.2916 14.7948 18.7915 15.2049 18.1814C15.675 17.4812 15.605 16.091 15.385 14.9008C14.5248 15.3808 13.6346 15.8109 12.7245 16.181ZM9.66388 12.0302L11.9643 14.3307C13.1845 13.8306 14.3648 13.2204 15.485 12.5103C19.9358 9.51974 21.2361 5.60901 21.4561 2.53843C19.6157 2.67846 17.8254 3.20856 16.2051 4.09872C14.2847 5.14892 12.6544 6.68921 11.4942 8.54956C10.7841 9.65977 10.174 10.82 9.66388 12.0302ZM4.39289 11.2701H7.81353C8.1936 10.3599 8.63368 9.46974 9.11377 8.60957C7.92355 8.38953 6.51329 8.31952 5.81315 8.78961C5.19304 9.19968 4.70294 10.3099 4.39289 11.2701Z\" fill=\"#673DE6\"\/>\n                <\/svg>\n                <p class=\"protip__title\">\n                    Dica                <\/p>\n            <\/div>\n            <p class=\"protip__content\">Como voc&ecirc; definiu o pre&ccedil;o do produto de teste como <strong>$0<\/strong> na etapa 4, voc&ecirc; pode concluir todo o processo de compra sem nenhum custo. Atualize o pre&ccedil;o para o valor real antes de colocar o produto no ar.<\/p>\n                    <\/div>\n        \n\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-9-adicione-um-portal-do-cliente-para-gerenciamento-de-assinaturas\"><strong>9. Adicione um portal do cliente para gerenciamento de assinaturas<\/strong><\/h2><p class=\"wp-block-paragraph\">Quando o fluxo de assinaturas estiver funcionando, d&ecirc; aos usu&aacute;rios a possibilidade de gerenciar suas pr&oacute;prias assinaturas pelo portal do cliente integrado ao Stripe, onde eles podem atualizar formas de pagamento, ver faturas ou cancelar.<\/p><ol class=\"wp-block-list\">\n<li>V&aacute; para <strong>Configura&ccedil;&otilde;es &rarr; Faturamento &rarr; Portal do cliente<\/strong>.<\/li>\n\n\n\n<li>Encontre a se&ccedil;&atilde;o <strong>Abrir o portal do cliente com um link<\/strong>.<\/li>\n\n\n\n<li>Clique em Ativar link para habilitar o portal.<\/li>\n<\/ol><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"6a7030e130629\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a7030e130629\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2026\/07\/Pagina-de-configuracoes-do-Portal-do-Cliente-da-Stripe-com-o-botao-de-link-Ativar-destacado.png\/w=1024,h=1024,fit=scale-down\" alt=\"Stripe Customer Portal settings page with the Activate link button highlighted\" class=\"wp-image-57142\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p class=\"wp-block-paragraph\">Depois, volta pro Horizons e usa essa instru&ccedil;&atilde;o:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Cria uma nova rota de API no servidor que gere, de forma segura, um link para o Portal do Cliente do Stripe para o usu&aacute;rio conectado.\n\nDepois, adiciona um bot&atilde;o &ldquo;Gerenciar assinatura&rdquo; ao meu projeto. Esse bot&atilde;o deve ficar vis&iacute;vel s&oacute; para usu&aacute;rios pagos. Ao clicar nele, os usu&aacute;rios devem ser redirecionados para o Portal do Cliente do Stripe, onde podem gerenciar suas assinaturas.<\/pre><h2 class=\"wp-block-heading\" id=\"h-10-mude-para-o-modo-ativo\">10. Mude para o modo ativo<\/h2><p class=\"wp-block-paragraph\">Depois de <a href=\"\/pt\/tutoriais\/como-testar-um-web-app\/\">testar sua aplica&ccedil;&atilde;o web<\/a> e estar pronto para aceitar pagamentos de verdade, mude para o modo ativo no Stripe.<\/p><p><div class=\"announcement-block announcement-block--important\">\n            <span class=\"announcement-block__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n                          d=\"M12 22.5C17.799 22.5 22.5 17.799 22.5 12C22.5 6.20101 17.799 1.5 12 1.5C6.20101 1.5 1.5 6.20101 1.5 12C1.5 17.799 6.20101 22.5 12 22.5ZM13.637 7.65198C13.637 6.74791 12.9041 6.01501 12 6.01501C11.0959 6.01501 10.363 6.74791 10.363 7.65198C10.5335 9.53749 10.875 13.383 10.875 13.383C10.875 14.0043 11.3787 14.508 12 14.508C12.6213 14.508 13.125 14.0043 13.125 13.383V13.38L13.637 7.65198ZM11.9927 15.714C11.3714 15.714 10.8677 16.2177 10.8677 16.839C10.8677 17.4603 11.3714 17.964 11.9927 17.964H12.0073C12.6286 17.964 13.1323 17.4603 13.1323 16.839C13.1323 16.2177 12.6286 15.714 12.0073 15.714H11.9927Z\"\n                          fill=\"#FEA419\"\/>\n                <\/svg>\n                Important\n            <\/span>\n            <p class=\"announcement-block__content\">\n                <strong>Importante!<\/strong> Quando o modo ao vivo estiver ativo, os n&uacute;meros dos cart&otilde;es de teste n&atilde;o funcionar&atilde;o mais. Cart&otilde;es de cr&eacute;dito reais geram cobran&ccedil;as de verdade, ent&atilde;o tenha cuidado.\n            <\/p><\/div>\n\n\n\n<\/p><ol class=\"wp-block-list\">\n<li>No seu painel do Stripe, clique em <strong>Crie sua conta ativa<\/strong> na parte superior da p&aacute;gina e conclua o processo de cadastro, que inclui inserir os dados da sua empresa e as informa&ccedil;&otilde;es da sua conta banc&aacute;ria.<\/li>\n<\/ol><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"6a7030e1345d2\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a7030e1345d2\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2026\/07\/integracao-de-conta-real-no-Stripe.png\/w=1024,h=1024,fit=scale-down\" alt=\"Stripe Verify your business dialog to get a live account\" class=\"wp-image-57143\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><ol start=\"2\" class=\"wp-block-list\">\n<li>Volte para o <strong>Cat&aacute;logo de produtos<\/strong> e crie um novo produto com seus pre&ccedil;os reais em produ&ccedil;&atilde;o.<\/li>\n\n\n\n<li>V&aacute; para <strong>Chaves de API<\/strong> e copie sua chave p&uacute;blica de produ&ccedil;&atilde;o (<strong>pk_live_&hellip;<\/strong>) e sua chave secreta de produ&ccedil;&atilde;o (sk_live_&hellip;).<\/li>\n\n\n\n<li>Configure um novo endpoint de webhook apontando para o seu dom&iacute;nio ativo (repita a etapa 5 usando a URL do seu dom&iacute;nio ativo).<\/li>\n\n\n\n<li>No Horizons, atualize suas vari&aacute;veis de ambiente com as chaves ativas (repita a etapa 6 com os valores ativos).<\/li>\n<\/ol><p class=\"wp-block-paragraph\">Use este comando para atualizar a integra&ccedil;&atilde;o com suas credenciais ativas:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Mudei o Stripe para o modo ativo. Voc&ecirc; pode atualizar minha aplica&ccedil;&atilde;o web com o ID do pre&ccedil;o ativo e a chave de publica&ccedil;&atilde;o? Aqui est&atilde;o os detalhes:\n\nID do pre&ccedil;o: price_&hellip;\nchave de publica&ccedil;&atilde;o: pk_live_&hellip;<\/pre><p class=\"wp-block-paragraph\">Re-publique seu aplicativo assim que a Horizons terminar o processamento.<\/p><h2 class=\"wp-block-heading\" id=\"h-por-que-integrar-o-stripe-na-hostinger-horizons\"><strong>Por que integrar o Stripe na Hostinger Horizons?<\/strong><\/h2><p class=\"wp-block-paragraph\">Conectar o Stripe ao Hostinger Horizons oferece uma solu&ccedil;&atilde;o completa, do lado do servidor, para aceitar pagamentos recorrentes diretamente em suas aplica&ccedil;&otilde;es web. O Horizons cuida do front-end e do back-end, enquanto o Stripe gerencia os pagamentos, ent&atilde;o voc&ecirc; tem:<\/p><ul class=\"wp-block-list\">\n<li>Cobran&ccedil;a recorrente em ciclos mensais, anuais ou personalizados<\/li>\n\n\n\n<li>Processamento de pagamentos no servidor, que mant&eacute;m as chaves confidenciais fora do front-end.<\/li>\n\n\n\n<li>Acompanhamento de assinaturas por meio de webhooks, que mant&eacute;m os status sincronizados automaticamente.<\/li>\n\n\n\n<li>Um portal do cliente para atualizar formas de pagamento, visualizar faturas e cancelar assinaturas.<\/li>\n<\/ul><p class=\"wp-block-paragraph\">Seja voc&ecirc; dono de uma plataforma de assinaturas pagas, uma ferramenta SaaS ou um site de conte&uacute;do premium, essa configura&ccedil;&atilde;o oferece uma base s&oacute;lida para <a href=\"\/pt\/tutoriais\/como-monetizar-um-web-app\/\">monetizar sua aplica&ccedil;&atilde;o web<\/a> e faz&ecirc;-la crescer com o tempo.<\/p><h2 class=\"wp-block-heading\" id=\"h-casos-de-uso-da-integracao-com-o-stripe\">Casos de uso da integra&ccedil;&atilde;o com o Stripe<\/h2><p class=\"wp-block-paragraph\">Uma assinatura recorrente &eacute; uma das v&aacute;rias formas de cobrar com o Stripe. Dois outros modelos comuns s&atilde;o as compras &uacute;nicas por item e as doa&ccedil;&otilde;es do tipo &ldquo;pague o quanto quiser&rdquo;.<\/p><h3 class=\"wp-block-heading\">Compras por item<\/h3><p class=\"wp-block-paragraph\">Para itens individuais ou produtos digitais, como e-books ou cursos, o Hostinger Horizons tem uma loja virtual integrada que lida com pagamentos &uacute;nicos automaticamente, ent&atilde;o voc&ecirc; n&atilde;o precisa configurar o Stripe por conta pr&oacute;pria.<\/p><p class=\"wp-block-paragraph\">Se preferir fazer isso manualmente, crie um produto para cada item no Stripe e defina um modelo de pre&ccedil;o de pagamento &uacute;nico para processar transa&ccedil;&otilde;es individuais.<\/p><p class=\"wp-block-paragraph\">Depois, anote o ID de pre&ccedil;o de cada produto e compartilhe-o com o Hostinger Horizons para que ele atualize o processo de pagamento de cada item. Veja um exemplo de solicita&ccedil;&atilde;o:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Quero configurar os pagamentos via Stripe para os produtos a seguir. Aqui est&atilde;o os IDs de pre&ccedil;o deles:\nprice_abc123... para o &ldquo;Produto 1&rdquo;\nprice_xyz789... para o &ldquo;Produto 2&rdquo;<\/pre><h3 class=\"wp-block-heading\">Doa&ccedil;&otilde;es e &ldquo;pague o quanto quiser&rdquo;<\/h3><p class=\"wp-block-paragraph\">O modelo &ldquo;pague o quanto quiser&rdquo; permite que os usu&aacute;rios escolham quanto querem doar, o que &eacute; ideal para criadores de conte&uacute;do, organiza&ccedil;&otilde;es sem fins lucrativos e outras aplica&ccedil;&otilde;es web baseadas em doa&ccedil;&otilde;es.<\/p><p class=\"wp-block-paragraph\">No Stripe, vai em Links de pagamento &rarr; Criar link de pagamento e, em seguida, seleciona Os clientes escolhem quanto pagar como tipo de pagamento. Configura as outras op&ccedil;&otilde;es e clica em <strong>Criar link<\/strong>.<\/p><p class=\"wp-block-paragraph\">Depois, copia o link gerado e compartilha com o Hostinger Horizons. Para adicionar um bot&atilde;o de doa&ccedil;&atilde;o, usa um texto tipo esse:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Quero adicionar um bot&atilde;o &ldquo;Apoie-nos&rdquo; que permita que os usu&aacute;rios contribuam com qualquer valor. Vincule-o ao [link de doa&ccedil;&atilde;o do Stripe].<\/pre><h2 class=\"wp-block-heading\" id=\"h-melhores-praticas-de-seguranca-ao-usar-o-stripe-em-suas-aplicacoes-web\"><strong>Melhores pr&aacute;ticas de seguran&ccedil;a ao usar o Stripe em suas aplica&ccedil;&otilde;es web<\/strong><\/h2><p class=\"wp-block-paragraph\">Ao integrar o Stripe em suas aplica&ccedil;&otilde;es web, siga essas dicas para minimizar vulnerabilidades:<\/p><ul class=\"wp-block-list\">\n<li><strong>Nunca exponha chaves secretas no c&oacute;digo do front-end<\/strong>. As chaves secretas d&atilde;o acesso total &agrave; sua conta do Stripe, ent&atilde;o sempre armazene-as como vari&aacute;veis de ambiente no lado do servidor, como mostrado na etapa 6.<\/li>\n\n\n\n<li><strong>Valide as assinaturas dos webhooks no lado do servidor<\/strong>. O Stripe inclui uma assinatura em cada evento de webhook para comprovar sua autenticidade; por isso, use seu <strong>STRIPE_WEBHOOK_SECRET<\/strong> para verific&aacute;-la antes de processar qualquer evento.<\/li>\n\n\n\n<li><strong>Use HTTPS para criptografar todos os dados entre os usu&aacute;rios e seu aplicativo<\/strong>. A Hostinger oferece SSL gr&aacute;tis para a sua aplica&ccedil;&atilde;o web, e a p&aacute;gina de checkout do Stripe &eacute; servida por HTTPS por padr&atilde;o.<\/li>\n\n\n\n<li><strong>Mantenha os ambientes de teste e de produ&ccedil;&atilde;o separados<\/strong>. Ao migrar para a produ&ccedil;&atilde;o, mude para as chaves do modo de produ&ccedil;&atilde;o, atualize os endpoints dos webhooks para as URLs de produ&ccedil;&atilde;o e mantenha os dados de teste separados das transa&ccedil;&otilde;es reais.<\/li>\n<\/ul><h2 class=\"wp-block-heading\" id=\"h-solucao-de-problemas-de-integracao-com-o-stripe\">Solu&ccedil;&atilde;o de problemas de integra&ccedil;&atilde;o com o Stripe<\/h2><p class=\"wp-block-paragraph\">Mesmo com uma configura&ccedil;&atilde;o correta, voc&ecirc; pode encontrar alguns problemas. Aqui est&atilde;o os mais comuns e como resolv&ecirc;-los:<\/p><h3 class=\"wp-block-heading\">ID de pre&ccedil;o ou chaves de API inv&aacute;lidas<\/h3><p class=\"wp-block-paragraph\">Isso acontece quando as chaves do seu projeto n&atilde;o batem com as do seu painel do Stripe.<\/p><ul class=\"wp-block-list\">\n<li>V&aacute; em <strong>Desenvolvedores &rarr; Chaves de API &rarr; Chaves padr&atilde;o<\/strong> para encontrar a chave public&aacute;vel correta.<\/li>\n\n\n\n<li>Para IDs de pre&ccedil;o, v&aacute; para <strong>Cat&aacute;logo de produtos<\/strong>, abra seu produto e clique no &iacute;cone de tr&ecirc;s pontos ao lado do pre&ccedil;o.<\/li>\n\n\n\n<li>Pe&ccedil;a &agrave; Horizons para atualizar as credenciais com os valores corretos.<\/li>\n\n\n\n<li>Verifique se h&aacute; erros de digita&ccedil;&atilde;o ou espa&ccedil;os a mais.<\/li>\n<\/ul><h3 class=\"wp-block-heading\"><strong>Webhook n&atilde;o est&aacute; sendo acionado<\/strong><\/h3><p class=\"wp-block-paragraph\">Isso acontece quando o Stripe n&atilde;o pode acessar seu endpoint de webhook ou quando o endpoint n&atilde;o est&aacute; processando os eventos corretamente.<\/p><ul class=\"wp-block-list\">\n<li>Verifique se a URL do seu endpoint de webhook est&aacute; correta em <strong>Desenvolvedores &rarr; Webhooks<\/strong>.<\/li>\n\n\n\n<li>Veja as tentativas de webhook em <strong>Desenvolvedores &rarr; Eventos<\/strong>.<\/li>\n\n\n\n<li>Teste o webhook usando o testador de webhooks integrado do Stripe na aba Webhooks.<\/li>\n\n\n\n<li>Certifique-se de que sua vari&aacute;vel de ambiente <strong>STRIPE_WEBHOOK_SECRET<\/strong> esteja definida corretamente no Horizons.<\/li>\n<\/ul><h3 class=\"wp-block-heading\">O status da assinatura n&atilde;o atualiza ap&oacute;s o pagamento<\/h3><p class=\"wp-block-paragraph\">Isso acontece quando o webhook n&atilde;o est&aacute; atualizando o registro do usu&aacute;rio no banco de dados corretamente.<\/p><p class=\"wp-block-paragraph\">Tira uma captura de tela do problema e descreve o comportamento esperado para o Horizons:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Depois de concluir o fluxo de compra da assinatura, os usu&aacute;rios s&atilde;o redirecionados de volta para o projeto, mas o status da assinatura n&atilde;o &eacute; atualizado e os recursos premium n&atilde;o s&atilde;o desbloqueados. Garante que a assinatura seja verificada no retorno e que o usu&aacute;rio tenha acesso imediato aos recursos premium. Identifica e corrige o problema.<\/pre><h3 class=\"wp-block-heading\">Falha no redirecionamento do checkout<\/h3><p class=\"wp-block-paragraph\">Isso ocorre quando as URLs de sucesso e cancelamento n&atilde;o est&atilde;o configuradas corretamente.<\/p><ul class=\"wp-block-list\">\n<li>Verifica se as URLs de sucesso e cancelamento correspondem ao seu dom&iacute;nio real.<\/li>\n\n\n\n<li>Verifica se h&aacute; erros no console do navegador durante o redirecionamento.<\/li>\n\n\n\n<li>Certifica-te de que o dom&iacute;nio na tua sess&atilde;o do Stripe Checkout corresponda &agrave; URL publicada do teu app.<\/li>\n<\/ul><h2 class=\"wp-block-heading\" id=\"h-como-criar-um-site-de-assinaturas\">Como criar um site de assinaturas<\/h2><p class=\"wp-block-paragraph\">Um site de assinaturas se baseia no sistema de assinaturas do Stripe que voc&ecirc; acabou de configurar, adicionando n&iacute;veis de assinatura, conte&uacute;do restrito e uma &aacute;rea de membros ao fluxo de cobran&ccedil;a.<\/p><p class=\"wp-block-paragraph\">A l&oacute;gica de cadastro, login e assinatura j&aacute; cuida da parte mais complicada, ent&atilde;o o resto se resume basicamente &agrave; estrutura do conte&uacute;do e &agrave;s regras de acesso.<\/p><p class=\"wp-block-paragraph\">Aqui est&atilde;o os passos para criar um site de assinaturas:<\/p><ol class=\"wp-block-list\">\n<li><strong>Defina seus n&iacute;veis de assinatura<\/strong>. Decida quantos n&iacute;veis voc&ecirc; precisa, como um n&iacute;vel gratuito e um ou mais n&iacute;veis pagos; depois, crie um pre&ccedil;o no Stripe para cada um e conecte-o ao seu projeto da mesma forma que conectou seu primeiro produto de assinatura.<\/li>\n\n\n\n<li><strong>Restrinja o acesso ao conte&uacute;do por n&iacute;vel<\/strong>. Amplie seu controle de acesso para que cada conte&uacute;do verifique o n&iacute;vel ativo do usu&aacute;rio, e n&atilde;o apenas se ele tem alguma assinatura.<\/li>\n\n\n\n<li><strong>Adicione um painel de controle para membros<\/strong>. Ofere&ccedil;a aos membros um lugar &uacute;nico para verem seu n&iacute;vel, acessarem seu conte&uacute;do e abrirem o portal do cliente do Stripe para gerenciar o faturamento.<\/li>\n\n\n\n<li><strong>Organize seu conte&uacute;do exclusivo para membros<\/strong>. Agrupe suas p&aacute;ginas premium, downloads ou cursos para que cada n&iacute;vel veja apenas o que pagou.<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>O Stripe &eacute; uma plataforma de pagamentos que permite aceitar pagamentos online e gerenciar assinaturas com seguran&ccedil;a. Integrar o Stripe a uma aplica&ccedil;&atilde;o web do Hostinger Horizons oferece um sistema completo de assinaturas do lado do servidor, sem que voc&ecirc; precise escrever c&oacute;digo de back-end. Para integrar o Stripe &agrave; sua aplica&ccedil;&atilde;o web do Hostinger [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/pt\/tutoriais\/integracao-stripe-hostinger-horizons\/\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":473,"featured_media":50616,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"rank_math_title":"Como integrar pagamentos Stripe \u00e0 Hostinger Horizons","rank_math_description":"Integre o Stripe \u00e0 Hostinger Horizons: 1. Configure pagamentos server-side; 2. Ative webhooks; 3. Publique em produ\u00e7\u00e3o.","rank_math_focus_keyword":"Como integrar pagamentos Stripe \u00e0 Hostinger Horizons","footnotes":""},"categories":[7695],"tags":[],"class_list":["post-50607","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-hostinger-horizons"],"hreflangs":[{"locale":"pt-BR","link":"https:\/\/www.hostinger.com\/br\/tutoriais\/integracao-stripe-hostinger-horizons\/","default":0},{"locale":"pt-PT","link":"https:\/\/www.hostinger.com\/pt\/tutoriais\/integracao-stripe-hostinger-horizons\/","default":0}],"acf":[],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/posts\/50607","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/users\/473"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/comments?post=50607"}],"version-history":[{"count":2,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/posts\/50607\/revisions"}],"predecessor-version":[{"id":50615,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/posts\/50607\/revisions\/50615"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/media\/50616"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/media?parent=50607"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/categories?post=50607"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/tags?post=50607"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}