Ativar ações com webhooks
Um webhook é um endpoint HTTP que recebe eventos da Stripe.
Com os webhooks, você pode ser notificado sobre eventos de pagamentos que ocorrem no mundo real, fora do fluxo de pagamento, como:
- Pagamentos bem-sucedidos (
payment_intent.succeeded
) - Pagamentos contestados (
charge.dispute.created
) - Saldo disponível na sua conta Stripe (
balance.available
)
Embora o Dashboard seja ótimo para ações isoladas, como reembolsar um pagamento ou atualizar os dados de um cliente, os webhooks são essenciais para ampliar a integração dos pagamentos, ajudando a processar grandes volumes de eventos cruciais para os negócios.
Crie seu próprio webhook
Você pode criar um gerenciador de webhooks em seu próprio servidor para gerenciar todos os fluxos de pagamento offline. Comece expondo um endpoint que possa receber solicitações da Stripe e use a CLI para testar a integração localmente. Cada solicitação da Stripe contém um objeto Event com uma referência ao objeto modificado na Stripe.
Crie um endpoint de webhook
Adicione um novo endpoint no aplicativo. É possível agir em determinados eventos verificando o campo type
do objeto de evento enviado no corpo da solicitação. Por enquanto, vamos usar a saída padrão para confirmar o funcionamento do webhook.
Inicie o servidor após adicionar o novo endpoint.
Instale e configure a CLI da Stripe
Para obter opções de instalação adicionais, consulte Comece a usar a Stripe CLI.
Depois de instalar a CLI da Stripe, execute stripe login
na linha de comando para gerar um código de emparelhamento para vincular à sua conta Stripe. Pressione Enter para iniciar o navegador e faça login na sua conta Stripe para permitir o acesso. A chave de API gerada é válida por 90 dias, podendo ser modificada ou excluída em Chaves de API no Dashboard.
stripe login Your pairing code is: humour-nifty-finer-magic Press Enter to open up the browser (^C to quit)
Se quiser usar uma chave de API existente, use o sinalizador --api-key
:
stripe login --api-key
Your pairing code is: humour-nifty-finer-magic Press Enter to open up the browser (^C to quit)sk_test_4eC39HqLyjWDarjtT1zdp7dc
Teste o webhook localmente
Use a CLI para encaminhar eventos ao endpoint do webhook local usando o comando listen
.
Supondo que o aplicativo está usando a porta 4242, execute:
stripe listen --forward-to http://localhost:4242/webhook
Em uma guia de terminal diferente, use o comando da CLI trigger
para acionar um evento de webhook simulado.
stripe trigger payment_intent.succeeded
A guia listen
deve mostrar este evento:
[200 POST] OK payment_intent.succeeded
Além disso, a guia do terminal em que o servidor está executando deve exibir “O PaymentIntent foi bem-sucedido!”.
Implante o endpoint do webhook
Quando estiver pronto para implantar o endpoint do webhook em produção, é preciso fazer algumas coisas:
Use as chaves de API do modo de produção e não as chaves do modo de teste.
Configure o endpoint do webhook no Stripe Dashboard ou usando a API.
Para configurar o endpoint no Dashboard, acesse as configurações do webhook.
Clique em “Adicionar endpoint” e informe o URL do endpoint, a versão da API da Stripe e os eventos específicos que você quer receber da Stripe.
Substitua o segredo do endpoint do webhook no aplicativo com o novo segredo mostrado na visualização do endpoint no Dashboard.
Pronto! Seu aplicativo está preparado para aceitar eventos no modo de produção. Para obter mais informações sobre a configuração do endpoint do webhook, a API Webhook Endpoint e os testes no modo de teste, consulte o guia de desenvolvimento.