Cobrança por Pix dentro do WhatsApp pela API: como enviar e o que muda na conversão
Mandar o código Pix no WhatsApp resolve o pior ponto da cobrança digital: o cliente não precisa sair do app. Como enviar a cobrança pela API, tratar a confirmação e evitar os erros que transformam a facilidade em suporte.
A cobrança digital tem um ponto de fuga conhecido: a troca de aplicativo. O cliente recebe o link, abre o navegador, espera carregar, copia o código, vai para o banco. Cada passo perde gente.
Mandar o Pix dentro da conversa elimina os passos do meio. O cliente copia o código onde já está e vai direto ao banco.
Enviar a cobrança
curl -X POST "https://us.api-wa.me/SUA_KEY/message/pix" \
-H "Content-Type: application/json" \
-d '{
"to": "5566996852025",
"items": [
{ "name": "Plano Profissional — outubro", "value": 8900 },
{ "name": "Usuário adicional", "value": 1900 }
],
"total": 10800,
"code": "00020126580014BR.GOV.BCB.PIX..."
}'
Com o SDK:
await wa.message.send({
type: TypeMessage.PIX,
body: {
to,
items: [{ name: 'Plano Profissional — outubro', value: 8900 }],
total: 8900,
code: codigoPix,
},
});
Valores em centavos. 8900 é R$ 89,00. Este é o erro número um de quem integra na pressa, e ele aparece como cobrança de R$ 8.900,00 na conversa de um cliente real.
O código Pix vem do seu banco ou provedor de pagamento. A API entrega o código na conversa; ela não gera cobrança nem confirma pagamento.
O fluxo completo
Cobrança sem confirmação vira trabalho de suporte. O ciclo inteiro:
async function cobrar(pedidoId) {
const pedido = await db.pedidos.buscar(pedidoId);
// 1. gera no provedor de pagamento
const cobranca = await pagamentos.criarPix({
valor: pedido.total,
referencia: `pedido-${pedido.id}`,
expiraEm: '24h',
});
// 2. guarda a referência ANTES de enviar
await db.cobrancas.criar({
pedido_id: pedido.id,
provedor_id: cobranca.id,
status: 'aguardando',
});
// 3. envia na conversa
await wa.message.send({
type: TypeMessage.PIX,
body: {
to: pedido.cliente.whatsapp,
items: pedido.itens.map((i) => ({ name: i.nome, value: i.valorCentavos })),
total: pedido.totalCentavos,
code: cobranca.codigoPix,
},
});
}
// 4. o provedor avisa quando pagar — NÃO o WhatsApp
async function aoConfirmarPagamento(evento) {
const c = await db.cobrancas.porProvedorId(evento.id);
await db.cobrancas.atualizar(c.id, { status: 'pago' });
// 5. confirma na mesma conversa
await wa.message.send({
type: TypeMessage.TEXT,
body: {
to: c.pedido.cliente.whatsapp,
text: `Pagamento confirmado! ✅ Seu pedido #${c.pedido.id} já está em separação.`,
},
});
}
A confirmação vem do provedor de pagamento, nunca do WhatsApp. Cliente mandando "paguei" é informação, não confirmação — e comprovante enviado como imagem também não é, porque é trivial de forjar.
Onde funciona melhor
Compra concluída. O código sai na hora, enquanto a intenção está fresca.
Lembrete de vencimento. Um a três dias antes, em horário comercial, com o código junto — evita o "esqueci" que gera inadimplência sem má vontade.
Recuperação de valor vencido. Aqui o Pix na conversa costuma superar boleto por e-mail com folga, porque o atrito de pagar é menor. Mas exige cuidado com frequência: insistência vira denúncia, e denúncia derruba o número.
Cobrança recorrente. Assinatura mensal com o código chegando junto do aviso.
O que dá errado
Valor em reais em vez de centavos. Já dito, e vale repetir: é o erro mais comum e o de pior consequência.
Código sem prazo de expiração. Um Pix gerado hoje e pago daqui a três meses vira conciliação manual. Defina expiração e trate a cobrança vencida.
Reenviar o mesmo código depois de pago. Sempre confira o status antes:
if (cobranca.status === 'pago') return; // não cobre de novo
Cobrar cliente que já pagou é a forma mais rápida de perdê-lo.
Insistir sem limite. Defina um teto de lembretes e pare. Depois disso é telefone ou e-mail, não mais mensagem.
Mandar fora da janela sem template. Na API oficial, fora das 24 horas só sai template aprovado — e cobrança costuma acontecer justamente com a janela fechada. Planeje o template antes.
Oficial ou não oficial
A mensagem de cobrança com Pix nativo é da linha não oficial, junto com botões, listas e enquetes.
Na API oficial, o caminho é enviar o código Pix como texto dentro de um template aprovado. Funciona bem para lembrete de vencimento — o cliente copia o código do corpo da mensagem do mesmo jeito —, apenas sem o formato de cobrança nativo.
Como as duas convivem na mesma plataforma com o mesmo SDK, dá para usar a não oficial na cobrança e a oficial no atendimento, sem manter dois códigos.
Medir
Três números dizem se está funcionando:
- Tempo até o pagamento — quanto menor, melhor o momento do envio
- Taxa de pagamento por tipo — compra concluída, lembrete, vencido
- Bloqueios e denúncias — se subirem, a frequência passou do ponto
O acompanhamento está em métricas de campanha.
Conclusão
Pix no WhatsApp é uma redução de atrito, não um recurso de marketing: o cliente recebe, copia e paga sem sair do aplicativo.
O que separa quem colhe o resultado de quem gera suporte são os detalhes chatos: centavos, expiração, confirmação vinda do provedor e limite de insistência. Nenhum deles é difícil — todos aparecem em produção quando não foram tratados.
Se você entrega isso dentro do sistema de um cliente, notificações de pedido são o complemento natural da cobrança.
Pronto para automatizar seu WhatsApp?
Crie sua conta gratuita e comece a enviar mensagens pela API em minutos.
Começar grátisPerguntas frequentes
Como enviar uma cobrança Pix pelo WhatsApp usando API?+
Pela mensagem de cobrança da API não oficial da WAME, que aceita os itens, os valores e o código Pix. O cliente recebe a cobrança dentro da conversa, com o código pronto para copiar, sem precisar abrir link, e-mail ou outro aplicativo além do banco.
Preciso de integração bancária para isso?+
Você precisa de uma forma de gerar o código Pix, que vem do seu banco ou do seu provedor de pagamento. A API do WhatsApp entrega esse código dentro da conversa; ela não gera cobrança nem confirma pagamento — isso continua sendo do lado financeiro.
Como sei que o cliente pagou?+
Pelo webhook do seu provedor de pagamento, não pelo do WhatsApp. O fluxo correto é: gera a cobrança, envia pelo WhatsApp, e quando o provedor confirmar o pagamento, o seu sistema envia a confirmação pela mesma conversa. Nunca confie no cliente dizendo que pagou.
Cobrança por Pix no WhatsApp funciona na API oficial?+
A mensagem de cobrança com Pix é um recurso da linha não oficial. Na API oficial você envia o código Pix como texto dentro de um template aprovado, o que funciona bem para lembrete de vencimento, ainda que sem o formato de cobrança nativo.
Qual o melhor momento para mandar a cobrança?+
Depende do tipo. Cobrança de compra concluída sai na hora, enquanto a intenção está fresca. Lembrete de vencimento funciona melhor um a três dias antes, em horário comercial. E cobrança de valor vencido pede cuidado redobrado com frequência, porque insistência vira denúncia.
Continue lendo
Como criar um chatbot de IA com a API da OpenAI para responder no WhatsApp
Um webhook, uma chamada à API da OpenAI e uma resposta pela WAME API: o código completo de um chatbot de IA que atende no WhatsApp, Instagram e Messenger. Com memória por contato, controle de custo e o que fazer quando a IA não deve responder.
Erros da API do WhatsApp: o que cada um significa e como tratar
A mensagem não saiu e o log diz apenas 'erro ao enviar'. Os erros que você vai encontrar de verdade — janela fechada, número inválido, template não aprovado, limite atingido, instância caída — e o tratamento certo para cada um.
Disparo em massa no WhatsApp: fila, rate limit e retry (a engenharia que o for-loop não resolve)
Um laço for com 5.000 contatos falha na metade e você não sabe em quais. Como montar a fila, respeitar o rate limit da API, aplicar retry com backoff só nos erros que valem e retomar uma campanha interrompida sem enviar nada duas vezes.