Pular para o conteúdo
Criar conta
ou
Entrar
O logotipo da documentação da Stripe
/
Pergunte à IA
Criar conta
Login
Comece já
Pagamentos
Receita
Plataformas e marketplaces
Gestão de valores
Recursos para desenvolvedores
Visão geral
Sobre os pagamentos da Stripe
Atualize sua integração
Análise de pagamentos
Pagamentos online
Visão geralEncontre seu caso de usoPagamentos gerenciados
Usar Payment Links
Crie uma página de checkout
    Visão geral
    Inícios rápidos
    Personalizar a aparência
    Coletar informações adicionais
    Colete impostos
    Atualizar checkout dinamicamente
    Gerencie seu catálogo de produtos
    Assinaturas
      Crie uma integração de assinaturas
      Configurar avaliações gratuitas
      Limitar clientes a uma assinatura
      Definir data do ciclo de faturamento
    Gerenciar formas de pagamento
    Permita que os clientes paguem na moeda local
    Adicione descontos, upsells e itens opcionais
    Configurar pagamentos futuros
    Salvar dados de pagamento durante o pagamento
    Aprovar manualmente pagamentos no servidor
    Após o pagamento
    Elements com changelog beta da API Checkout Sessions
    Migrar do Checkout antigo
    Migrar o Checkout para usar Prices
Criar uma integração avançada
Crie uma integração no aplicativo
Formas de pagamento
Adicionar formas de pagamento
Gerenciar formas de pagamento
Checkout mais rápido com o Link
Interfaces de pagamento
Payment Links
Checkout
Web Elements
Elements no aplicativo
Cenários de pagamento
Gerenciar várias moedas
Fluxos de pagamento personalizados
Aquisição flexível
Orquestração
Pagamentos presenciais
Terminal
Muito mais que pagamentos
Abra sua empresa
Cripto
Financial Connections
Climate
Entenda as fraudes
Proteção contra fraudes do Radar
Gerenciar contestações
Verificar identidades
Página inicialPagamentosBuild a checkout pageSubscriptions

Crie uma integração de assinaturas

Crie e gerencie assinaturas para aceitar pagamentos recorrentes.

Página de assinatura do Checkout
Low-code

Personalize logotipo, imagens e cores.

Use formulários hospedados criados previamente para coletar pagamentos e gerenciar assinaturas.

Clone uma amostra de integração do GitHub.

Para ver uma versão detalhada deste guia, consulte o Início rápido da integração do Billing.

Explore o exemplo no GitHub ou a demonstração.

O que você pode criar

Este guia descreve como vender assinaturas mensais com preço fixo usando o Stripe Checkout.

Este guia ensina a:

  • Modelar seus negócios criando um catálogo de produtos
  • Adicionar uma sessão do Checkout ao seu site, com um botão e páginas de confirmação e cancelamento
  • Monitorar os eventos de assinatura e dar acesso ao seu serviço
  • Configurar o portal do cliente
  • Adicionar uma sessão do portal de clientes ao seu site, com botão e redirecionamento
  • Permitir que os clientes gerenciem a assinatura no portal
  • Saiba como usar o modo de faturamento flexíve para acessar o comportamento de faturamento aprimorado e recursos adicionais.

Se não tiver estrutura para programar uma integração, você pode configurar assinaturas básicas manualmente no Dashboard ou usar Payment Links para criar assinaturas sem escrever código.

Learn more about designing an integration to understand the decisions and required resources in a full integration.

Após a conclusão da integração, você pode ampliá-la para:

  • Exibir impostos
  • Aplicar descontos
  • Oferecer aos clientes um período de avaliação gratuita
  • Adicionar mais formas de pagamento
  • Integrar a página da fatura hospedada
  • Usar o Checkout no modo de configuração
  • Configurar cobrança por uso, níveis de preços e preços por uso
  • Gerenciar cobranças proporcionais
  • Permitir que os clientes assinem vários produtos
  • Integre direitos para gerenciar o acesso aos recursos do seu produto

Configurar a Stripe

Instale o cliente Stripe de sua escolha:

Command Line
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
# Available as a gem sudo gem install stripe
Gemfile
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
# If you use bundler, you can add this line to your Gemfile gem 'stripe'

Instale a Stripe CLI (opcional). A CLI fornece testes de webhook que você pode executar para criar produtos e preços.

Command Line
homebrew
Instalar da fonte
No results
# Install Homebrew to run this command: https://brew.sh/ brew install stripe/stripe-cli/stripe # Connect the CLI to your dashboard stripe login

Para obter opções de instalação adicionais, consulte Comece a usar o Stripe CLI.

Criar o modelo de preços
Dashboard ou Stripe CLI

Crie seus produtos e preços usando o Dashboard ou a Stripe CLI.

Este exemplo usa um serviço de preço fixo com duas opções diferentes de nível de serviço: Básico e Premium. Para cada opção de nível de serviço, você precisa criar um produto e um preço recorrente. (Se quiser adicionar uma cobrança avulsa para um item como tarifa de configuração, crie um terceiro produto com um preço avulso. Para simplificar, este exemplo não inclui uma cobrança avulsa.)

Neste exemplo, o faturamento de cada produto é mensal. O produto básico custa 5 USD e o produto Premium custa 15 USD.

Acesse a página Adicionar um produto e crie dois produtos. Adicione um preço para cada produto, cada um com um período de faturamento mensal recorrente:

  • Produto premium: serviço premium com recursos extras

    • Preço: Tarifa fixa | 15 USD
  • Produto básico: serviço básico com recursos mínimos

    • Preço: Tarifa fixa | 5 USD

Depois de criar os preços, registre o ID deles para utilizá-los em outras etapas. Os IDs de preço têm esta estrutura: price_G0FvDp6vZvdwRZ.

Quando tudo estiver pronto, use o botão Copiar para modo de produção, no canto superior direito, para clonar seu produto de uma área restrita para o modo de produção.

Se você oferece vários períodos de cobrança, use o Checkout para fazer upsell aos clientes períodos de cobrança mais longos e recolher mais receita antecipadamente.

Para outros modelos de preços, consulte os exemplos de cobrança.

Criar uma sessão do Checkout
Cliente e servidor

Adicione um botão de checkout ao seu site para chamar um endpoint do lado do servidor e criar uma sessão do Checkout.

index.html
Visualizar exemplo completo
<html> <head> <title>Checkout</title> </head> <body> <form action="/create-checkout-session" method="POST"> <!-- Note: If using PHP set the action to /create-checkout-session.php --> <input type="hidden" name="priceId" value="price_G0FvDp6vZvdwRZ" /> <button type="submit">Checkout</button> </form> </body> </html>

No back-end do seu aplicativo, defina um endpoint que cria a sessão para a chamada do seu front-end. Você precisa destes valores:

  • O ID do preço da assinatura ao qual o cliente está se registrando. Seu front-end passa esse valor
  • O success_url, uma página do seu site que o Checkout envia ao cliente quando ele finaliza o pagamento

Opcionalmente, você pode:

  • Use cancel_url para fornecer uma página no seu site para onde o Checkout envia ao cliente se ele cancelar o processo de pagamento.
  • Configure uma âncora de ciclo de faturamento para sua assinatura nessa chamada.
  • Use um texto personalizado para incluir os termos da sua assinatura e cancelamento, além de um link para que seus clientes possam atualizar ou cancelar a assinatura. Recomendamos configurar lembretes e notificações por e-mail para seus assinantes.

Se tiver criado um preço avulso na etapa 2, passe também esse ID de preço. Depois de criar uma Sessão do Checkout, redirecione o cliente ao URL retornado na resposta.

Você pode ativar um modo de cobrança mais estável e previsível ao criar a sessão de checkout, definindo billing_mode[type] como flexible. Para isso, é obrigatório utilizar a versão da API do Stripe 2025-06-30.basil ou superior.

Observação

Você pode usar lookup_keys para obter preços em vez de IDs de preço. Veja o exemplo de aplicativo para ver um exemplo.

server.rb
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
Visualizar exemplo completo
# Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys Stripe.api_key =
'sk_test_BQokikJOvBiI2HlWgH4olfQ2'
# The price ID passed from the front end. # price_id = params['priceId'] price_id = '{{PRICE_ID}}' session = Stripe::Checkout::Session.create({ success_url: 'https://example.com/success.html?session_id={CHECKOUT_SESSION_ID}', cancel_url: 'https://example.com/canceled.html', mode: 'subscription', line_items: [{ # For usage-based billing, don't pass quantity quantity: 1, price: price_id, }], subscription_data: { billing_mode: { type: 'flexible' } } }) # Redirect to the URL returned on the session # redirect session.url, 303

Este exemplo personaliza o success_url vinculando o ID da sessão. Para obter mais informações sobre essa abordagem, consulte a documentação para saber como personalizar a página de confirmação.

Na Dashboard, ative as formas de pagamento que deseja aceitar de seus clientes. O checkout aceita várias formas de pagamento.

Provisionar e monitorar assinaturas
Servidor

Após a assinatura ser bem-sucedida, o cliente retornará ao seu site em success_url, que inicia um checkout.session.completed webhook. Ao receber um evento checkout.session.completed, use direitos para provisionar a assinatura. Continue provisionando mensalmente (se a cobrança for mensal) conforme você receber eventos invoice.paid. Se receber um evento invoice.payment_failed, notifique seu cliente e o direcione ao portal do cliente para atualizar sua forma de pagamento.

Para determinar a próxima etapa da lógica do sistema, verifique o tipo de evento e analise a carga de cada objeto de evento, como invoice.paid. Armazene os objetos de evento subscription.id e customer.id no banco de dados para verificação.

Para fins de teste, você pode monitorar eventos na guia Eventos do Workbench. Para produção, configure um endpoint de webhook e assine os tipos de eventos apropriados. Se você não souber sua chave STRIPE_WEBHOOK_SECRET, acesse a visualização de detalhes de destino da guia Webhooks no Workbench para visualizá-la.

server.rb
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
Visualizar exemplo completo
# Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys Stripe.api_key =
'sk_test_BQokikJOvBiI2HlWgH4olfQ2'
post '/webhook' do webhook_secret =
'{{STRIPE_WEBHOOK_SECRET}}'
payload
= request.body.read if !webhook_secret.empty? # Retrieve the event by verifying the signature using the raw body and secret if webhook signing is configured. sig_header = request.env['HTTP_STRIPE_SIGNATURE'] event = nil begin event = Stripe::Webhook.construct_event( payload, sig_header, webhook_secret ) rescue JSON::ParserError => e # Invalid payload status 400 return rescue Stripe::SignatureVerificationError => e # Invalid signature puts '⚠️ Webhook signature verification failed.' status 400 return end else data = JSON.parse(payload, symbolize_names: true) event = Stripe::Event.construct_from(data) end # Get the type of webhook event sent event_type = event['type'] data = event['data'] data_object = data['object'] case event_type when 'checkout.session.completed' # Payment is successful and the subscription is created. # You should provision the subscription and save the customer ID to your database. when 'invoice.paid' # Continue to provision the subscription as payments continue to be made. # Store the status in your database and check when a user accesses your service. # This approach helps you avoid hitting rate limits. when 'invoice.payment_failed' # The payment failed or the customer doesn't have a valid payment method. # The subscription becomes past_due. Notify your customer and send them to the # customer portal to update their payment information. else puts "Unhandled event type: \#{event.type}" end status 200 end

Mínimo de tipos de evento a serem monitorados:

Nome do eventoDescrição
checkout.session.completedEnviado quando um cliente finaliza a sessão do Checkout, informando sobre uma nova compra.
invoice.paidEnviado a cada período de cobrança quando um pagamento for efetivado.
invoice.payment_failedEnviado a cada período de cobrança se houver um problema com a forma de pagamento do seu cliente.

Para monitorar ainda mais eventos, consulte Webhooks de assinatura.

Configurar o portal de clientes
Dashboard

O portal do cliente permite que os clientes gerenciem diretamente suas assinaturas e faturas existentes.

Use o Dashboard para configurar o portal. No mínimo, configure-o para que os clientes possam atualizar as formas de pagamento. Consulte Integrar o portal do cliente para obter informações sobre outras configurações que podem ser realizadas.

Criar uma sessão no portal
Servidor

Defina um endpoint que cria a sessão do portal do cliente para seu frontend chamar. Aqui, CUSTOMER_ID refere-se ao ID do cliente criado por uma sessão de checkout que você salvou ao processar o evento checkout.session.completed. Você também pode definir um link de redirecionamento padrão para o portal no Dashboard.

Passe um valor opcional return_url para a página no seu site para redirecionar o cliente após ele terminar de gerenciar a assinatura:

server.rb
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
Visualizar exemplo completo
# Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys Stripe.api_key =
'sk_test_BQokikJOvBiI2HlWgH4olfQ2'
# This is the URL that users are redirected to after they're done # managing their billing. return_url =
'{{DOMAIN_URL}}'
customer_id
=
'{{CUSTOMER_ID}}'
session
= Stripe::BillingPortal::Session.create({ customer: customer_id, return_url: return_url, }) # Redirect to the URL for the session # redirect session.url, 303

Enviar clientes ao portal de clientes
Cliente

No seu front-end, adicione um botão à página success_url que fornece um link para o portal de clientes:

success.html
Visualizar exemplo completo
<html> <head> <title>Manage Billing</title> </head> <body> <form action="/customer-portal" method="POST"> <!-- Note: If using PHP set the action to /customer-portal.php --> <button type="submit">Manage Billing</button> </form> </body> </html>

Após sair do portal do cliente, o cliente volta ao seu site em return_url. Continue a monitorar eventos para monitorar o status da assinatura do cliente.

Se você configurar o portal do cliente para permitir ações como o cancelamento de uma assinatura, veja como outros eventos podem ser monitorados em Integrar o portal do cliente.

Teste a integração

Testar formas de pagamento

Use a tabela a seguir para testar diferentes formas de pagamento e cenários.

Forma de pagamentoCenárioComo testar
Débito automático BECSO cliente paga com débito automático BECS.Preencha o formulário usando o número da conta 900123456 e BSB 000000. O PaymentIntent confirmado inicialmente passa para o status processing, depois passa para succeeded três minutos depois.
Débito automático BECSO pagamento do cliente falha com um código de erro account_closed.Preencha o formulário usando o número da conta 111111113 e BSB 000000.
Cartão de créditoO pagamento com cartão é bem-sucedido e não precisa de autenticação.Preencha o formulário do cartão de crédito usando o número de cartão de crédito 4242 4242 4242 4242 com qualquer validade, CVC e código postal.
Cartão de créditoO pagamento com cartão precisa de autenticação.Preencha o formulário do cartão de crédito usando o número 4000 0025 0000 3155 com qualquer validade, CVC e código postal.
Cartão de créditoO cartão é recusado com um código de recusa como insufficient_funds.Preencha o formulário do cartão de crédito usando o número 4000 0000 0000 9995 com qualquer validade, CVC e código postal.
Débito automático SEPAO cliente paga com débito automático SEPA.Preencha o formulário usando o número de conta AT321904300235473204. Inicialmente, o status do PaymentIntent muda para processing e, três minutos depois, para succeeded.
Débito automático SEPAO status do PaymentIntent do cliente muda de processing para requires_payment_method.Preencha o formulário usando o número de conta AT861904300235473202.

Monitoramento de eventos

Configure webhooks para ouvir eventos de alteração de assinatura, como atualizações e cancelamentos. Saiba mais sobre webhooks de assinatura. É possível visualizar eventos no Dashboard ou com a Stripe CLI.

Para obter mais detalhes sobre como testar sua integração com o Billing, leia o guia.

Veja também

  • Oferecer aos clientes um período de avaliação gratuita
  • Aplicar descontos
  • Gerenciar cobranças proporcionais
  • Integre direitos para gerenciar o acesso aos recursos do seu produto
Esta página foi útil?
SimNão
  • Precisa de ajuda? Fale com o suporte.
  • Participe do nosso programa de acesso antecipado.
  • Confira nosso changelog.
  • Dúvidas? Fale com a equipe de vendas.
  • LLM? Read llms.txt.
  • Powered by Markdoc