Você acabou de fechar uma venda. O Stripe processou o pagamento. Seu cliente ficou olhando para a tela esperando uma confirmação que nunca veio no canal que ele usa. Três horas depois chega a mensagem: "Meu pagamento foi aprovado mesmo?"
Esse gap existe porque email de confirmação de pagamento tem taxa de abertura média de 22% (Mailchimp E-commerce Benchmarks, 2025). WhatsApp chega a 98%. A diferença não é preferência: é onde as pessoas de fato prestam atenção.
Por Que o Stripe Não Notifica no WhatsApp por Padrão?
O Stripe dispara webhooks para qualquer evento de pagamento: charge.succeeded, payment_intent.succeeded, invoice.paid. O problema é o que acontece depois desse webhook.
Para transformar esse evento em uma mensagem no WhatsApp do cliente, a stack montada manualmente exige:
- Servidor HTTPS com endpoint público acessível (AWS, Railway, Render ou similar)
- Validação da assinatura Stripe via
stripe.webhooks.constructEvent - Conta Meta for Developers com WABA aprovado e número verificado
- Template de mensagem pré-aprovado pela Meta (processo que leva dias)
- Autenticação e chamada para a WhatsApp Cloud API
- Retry logic para quando o WhatsApp retornar 429 (rate limit)
Para um SaaS com 200 clientes ativos, isso vira um microsserviço com 400 linhas de código que precisa de manutenção, monitoramento e atualização toda vez que a Meta muda algo na WhatsApp Cloud API.
Como Montar do Zero (Para Quem Quer Ver a Complexidade)
O código Node.js abaixo é o mínimo necessário para receber um webhook do Stripe e enviar uma mensagem via WhatsApp Cloud API. É exatamente o que você elimina quando usa Verboo.
// npm install stripe express axios
const express = require('express');
const stripe = require('stripe')(process.env.STRIPE_SECRET_KEY);
const axios = require('axios');
const app = express();
app.post('/webhook/stripe', express.raw({ type: 'application/json' }), async (req, res) => {
const sig = req.headers['stripe-signature'];
let event;
try {
event = stripe.webhooks.constructEvent(
req.body,
sig,
process.env.STRIPE_WEBHOOK_SECRET
);
} catch (err) {
return res.status(400).send(`Webhook Error: ${err.message}`);
}
if (event.type === 'payment_intent.succeeded') {
const payment = event.data.object;
const customerPhone = payment.metadata.whatsapp_phone; // campo obrigatório no metadata
await axios.post(
`https://graph.facebook.com/v19.0/${process.env.PHONE_NUMBER_ID}/messages`,
{
messaging_product: 'whatsapp',
to: customerPhone,
type: 'template',
template: {
name: 'payment_confirmed', // aprovado previamente pela Meta
language: { code: 'pt_BR' },
components: [{
type: 'body',
parameters: [{ type: 'text', text: `R$ ${(payment.amount / 100).toFixed(2)}` }]
}]
}
},
{
headers: {
Authorization: `Bearer ${process.env.WHATSAPP_TOKEN}`,
'Content-Type': 'application/json'
}
}
);
}
res.json({ received: true });
});
app.listen(3000);
Esse código cobre apenas o happy path. Faltam: tratamento de erros, retry com backoff exponencial, logs estruturados, suporte a múltiplos tipos de evento e toda a infraestrutura para rodar 24h com HTTPS válido. Em produção, isso leva entre 1 e 3 dias para ficar estável, sem contar o tempo de aprovação do template na Meta.
Como Configurar em 10 Minutos com a Verboo
A Verboo tem integração nativa com Stripe. O fluxo completo não exige nenhuma linha de código, nenhum servidor e nenhuma aprovação manual de template.
- Crie um Assistente no painel em verboo.ai/lab. Dê um nome (ex: "Notificações de Pagamento") e conecte um número de WhatsApp.
- Vá em Integrações e adicione sua conta Stripe via OAuth. Sem copiar token manualmente.
- Crie um Gatilho do tipo "Stripe: Payment Succeeded". Configure qual campo do payload contém o telefone do cliente (geralmente
metadata.phoneoucustomer.phone). - Escreva a Instrução do Assistente: "Quando um pagamento for confirmado, envie ao cliente uma mensagem no WhatsApp com o valor aprovado e o próximo passo." A Verboo cuida da aprovação de template e do envio.
- Salve e ative. Cada
payment_intent.succeededdispara uma mensagem no WhatsApp do cliente em menos de 2 segundos.
Dado-chave: A Verboo processa mensagens com latência média abaixo de 500ms, incluindo o round-trip para a API do WhatsApp. Sem servidor seu no meio do caminho.
Quais Eventos do Stripe Vale Automatizar no WhatsApp?
| Evento Stripe | Mensagem no WhatsApp | Destinatário |
|---|---|---|
payment_intent.succeeded |
Confirmação de pagamento com valor e recibo | Cliente |
invoice.payment_failed |
Falha no pagamento com link para atualizar cartão | Cliente |
customer.subscription.created |
Boas-vindas ao plano com próxima data de cobrança | Cliente |
customer.subscription.deleted |
Cancelamento confirmado com oferta de retenção | Cliente |
charge.dispute.created |
Alerta de chargeback com dados para contestar | Time interno |
invoice.paid |
Fatura paga com link para nota fiscal | Cliente |
Cada linha acima é um Gatilho separado na Verboo. Você configura todos em menos de 30 minutos, sem deploy, sem abrir o portal da Meta para aprovar template, sem manter infra.
Vale a Pena Montar Do Zero?
Se o objetivo é aprender como a WhatsApp Cloud API funciona, o código acima é um bom ponto de partida. A documentação oficial da Meta sobre webhooks cobre todos os campos e eventos disponíveis.
Se o objetivo é ter o sistema funcionando em produção hoje, com retry automático, logs e sem manutenção de infra, a conta é simples: 10 minutos de configuração na Verboo versus 1 a 3 dias de desenvolvimento mais a manutenção mensal.
A Verboo já processa mais de 27 milhões de mensagens com 390 empresas ativas. O Stripe é uma das integrações mais utilizadas, junto com Asaas, PagSeguro e Mercado Pago. Você configura uma vez e cada cobrança virar uma mensagem no WhatsApp automaticamente.
Cole esse código em uma conta Verboo e seu agente já roda no WhatsApp. Crie sua conta grátis (login Google em 10s).

![Escola de Idiomas: 60% Menos Churn com Agente Verboo [Build]](/_next/image?url=https%3A%2F%2Fstorage.googleapis.com%2Fverboo-landing-page%2Fblog-uploads%2F1778220631357-verboo-blog-cover.png&w=3840&q=75)

