Configure 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. É possível criar uma sessão 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 tiver finalizado uma compra, o cliente é 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 a 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 com o ID de um Preço existente. Assegure que o modo esteja definido como subscription
e que você passe pelo menos um preço recorrente. Você pode adicionar preços avulsos além de preços recorrentes. Após criar a Sessão do Checkout, redirecione seu cliente para o URL retornado na resposta.
Quando o cliente finaliza um pagamento, é redirecionado para o success_url
, uma página do 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_SESSION_ID}
no success_url
, 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_url
. 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.
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_url
para detectar a iniciação de um pagamento, pois:
- Usuários mal-intencionados podem acessar diretamente o
success_url
sem pagar e acessar seus produtos ou serviços. - Os clientes podem não acessar o
success_url
após o pagamento. Eles podem fechar a guia do navegador antes do redirecionamento.
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_url
. 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. Um pagamento por SEPA Direct Debit normalmente leva three dias úteis para disponibilizar os fundos. Por isso, você deve postergar a execução do pedido até que os fundos estejam disponíveis. Assim que o pagamento for concluído, 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.