Configure uma assinatura com o débito automático SEPA
Saiba como criar e cobrar uma assinatura com o débito automático SEPA.
Uma sessão do Checkout representa os detalhes da intenção do cliente de fazer a compra. Você cria uma sessão do Checkout quando seu cliente quer iniciar uma assinatura. Após redirecionar seu cliente para uma sessão do Checkout, a Stripe apresenta um formulário de pagamento onde seu cliente pode concluir a compra. Assim que o cliente tiver finalizado uma compra, ele é redirecionado de volta para o seu site.
Configurar a StripeLado do servidor
Instale o cliente Stripe de sua escolha:
Instale a Stripe CLI (opcional). A CLI fornece testes de webhook e você pode executá-la para criar produtos e preços.
Para obter opções de instalação adicionais, consulte Comece a usar o Stripe CLI.
Criar o modelo de preçosDashboardStripe 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 EUR e o produto Premium custa 15 EUR.
Para outros modelos de preços, consulte os exemplos de faturamento.
Criar uma sessão do CheckoutDo lado do clienteLado do 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.
<html> <head> <title>Checkout</title> </head> <body> <form action="/create-checkout-session" method="POST"> <button type="submit">Checkout</button> </form> </body> </html>
Crie uma sessão do Checkout com o ID de um Preço existente. Certifique-se de que o modo esteja definido como subscription e você passe pelo menos um preço recorrente. Você pode adicionar preços avulsos além de preços recorrentes. Depois de criar a sessão do Checkout, redirecione o cliente para o URL retornado na resposta.
Quando o cliente finaliza um pagamento, é redirecionado para o success_, uma página no seu site que informa ao cliente que o pagamento foi bem-sucedido. Disponibilize o ID da sessão na página de sucesso incluindo a variável de modelo {CHECKOUT_ no success_ como no exemplo acima.
Quando o cliente clica no seu logotipo em uma sessão do Checkout sem concluir o pagamento, o Checkout redireciona o cliente de volta ao site, navegando para o cancel_. Normalmente, essa é a página no seu site que o cliente visualizou antes de ser redirecionado para o Checkout.
As Sessões do Checkout expiram 24 horas após a criação por padrão.
No Dashboard, ative as formas de pagamento que deseja aceitar de seus clientes. O checkout aceita várias formas de pagamento.
Cuidado
Não dependa apenas do redirecionamento ao success_ para detectar a iniciação de um pagamento, pois:
- Usuários mal-intencionados podem acessar diretamente o
success_sem pagar e acessar seus produtos ou serviços.url - Os clientes podem não acessar o
success_após o pagamento. Eles podem fechar a guia do navegador antes do redirecionamento.url
Confirmar a finalização do pagamento
Quando o cliente conclui um pagamento, a Stripe o redireciona para o URL que você especificou no parâmetro success_. Normalmente, é uma página no site que informa seu cliente de que o pagamento foi bem-sucedido.
No entanto, SEPA Direct Debit é uma forma de pagamento com notificação posterior, o que significa que os fundos não ficam imediatamente disponíveis. Por isso, adie a execução do pedido até que os fundos estejam disponíveis. Após o êxito do pagamento, o status subjacente do PaymentIntent muda de processing para succeeded.
Você pode confirmar a realização do pagamento de várias maneiras:
Testar a integração
Você pode testar a integração usando os IBANs abaixo. Os dados da forma de pagamento são coletados para todos os IBANs, mas cada um deles terá um comportamento diferente na cobrança.
IBANs de teste
OpcionalAdicionar uma tarifa de configuração avulsaLado do servidor
Além de passar os preços recorrentes, é possível adicionar preços avulsos no modo subscription. Eles só são incluídos na fatura inicial criada pela assinatura. Isso é útil para adicionar tarifas de configuração ou tarifas avulsas associadas com uma assinatura. É possível adicionar um preço avulso a um produto existente ou criar um produto com um novo preço.
OpcionalCriar preços e produtos em linhaLado do servidor
Além de passar IDs de preços existentes, você pode criar preços durante a criação da sessão do Checkout. Primeiro, defina um Produto e crie uma sessão do Checkout usando o ID do produto. Não se esqueça de passar price_data com os dados de unit_, currency, e recurring:
Se você também precisa criar produtos em linha, use product_data:
OpcionalClientes existentesLado do servidor
Se você já tiver criado um objeto Customer para representar um cliente, use o argumento cliente para passar o ID desse cliente ao criar uma sessão do Checkout. Isso garante que todos os objetos criados durante a sessão sejam associados ao objeto Customer correto.
Quando você passa um ID de cliente, a Stripe também usa o e-mail armazenado no objeto Customer para preencher o campo de e-mail na página de checkout. Se o cliente trocar o e-mail na página de checkout, este será atualizado no objeto Customer quando o pagamento for concluído.
OpcionalPreencher dados do clienteLado do servidor
Se você já coletou o e-mail do cliente e quer preenchê-lo antecipadamente na sessão de checkout, passe customer_email ao criar uma sessão de checkout.
OpcionalGerenciar períodos de avaliaçãoLado do servidor
É possível usar trial_end ou trial_period_days na sessão do Checkout para especificar a duração do período de avaliação. Neste exemplo, usamos trial_ para criar uma sessão do Checkout para uma assinatura com um período de avaliação de 30 dias.
O Checkout exibe as seguintes informações automaticamente para assinaturas com períodos de avaliação:
- Período de avaliação
- Frequência e valor das cobranças após o vencimento da avaliação
Veja mais informações sobre requisitos de conformidade no guia do Billing ou do suporte.
OpcionalAlíquotasLado do servidor
Você pode especificar alíquotas de impostos (sobre vendas, IVA, GST e outros) nas sessões de checkout para aplicar impostos às assinaturas.
- Use alíquotas fixas quando você souber qual a alíquota exata que deve ser cobrada dos clientes antes do início do checkout (por exemplo, você vende apenas para clientes no Reino Unido e sempre cobra 20% de IVA).
- Com a API Prices, você pode usar alíquotas dinâmicas quando precisar de mais dados do cliente (por exemplo, endereço de cobrança ou entrega) para determinar a alíquota a ser cobrada. As alíquotas dinâmicas podem ser atribuídas a regiões diferentes (por exemplo, uma alíquota de 20% de IVA para clientes no Reino Unido e uma alíquota de 7,25% sobre vendas para clientes na Califórnia). A Stripe tenta associar o local do cliente a uma dessas alíquotas.
Você pode usar as exportações de dados da Stripe para preencher as declarações periódicas necessárias para o repasse. Acesse Declarações e remessas fiscais para obter mais informações.
OpcionalAdicionar cuponsLado do servidor
Você pode aplicar cupons a assinaturas em uma sessão do Checkout configurando descontos. Este cupom substitui qualquer cupom no cliente. Se você estiver criando uma assinatura com um cliente existente, qualquer cupom associado ao cliente é aplicado às faturas da assinatura.
Adicionar códigos de promoção voltados para o cliente
Também é possível ativar códigos promocionais resgatáveis pelo usuário utilizando o parâmetro allow_promotion_codes em sessões do Checkout. Com allow_ ativado em uma sessão do Checkout, o Checkout inclui uma caixa de resgate de código de promoção para uso pelos clientes. Crie seus cupons e códigos promocionais no Dashboard ou na API para que seus clientes possam resgatá-los no Checkout.
