Visão geral
O extrato da conta expõe o objetopayer com os dados preenchidos no checkout do link de pagamento — os mesmos que você vê no extrato da dashboard.
Após o pagamento PIX confirmado,
name e document passam a refletir o comprovante bancário. email e phone continuam vindo do checkout do link quando disponíveis.Permissões necessárias
Chave com preset read já inclui
account/transactions. Detalhes: Permissões da API key.
1. Listar cobranças candidatas à recuperação
O endpoint principal é o extrato da conta. Filtre entradas pendentes criadas nas últimas horas:Filtros úteis
Paginação: incremente
page até page > pages. Máximo pageSize=100.
2. Ler os dados do cliente em cada item
Exemplo de item retornado (campos relevantes):- Sem
payerou sem contato — cobrança criada direto na API sem checkout de link; não dá para recuperar por e-mail/WhatsApp via extrato. payer.emailoupayer.phone— suficiente para disparar follow-up.externalReference— chave para cruzar com pedido no seu banco.id— chave única da transação WovePay (use para deduplicar).qrcodeUrl— link do checkout para reenviar na mensagem.
3. Script de exemplo (Node.js)
Job agendado (cron a cada 15–30 min) que monta a fila de recuperação:4. Parar a recuperação quando pagar
Opção A — Webhook (recomendado)
Cadastrepayment.paid e payment_link.paid. Ao receber o evento, marque transactionId ou externalReference como pago no seu sistema e não envie mais mensagens.
Webhooks na prática
Opção B — Reconsultar o extrato
No próximo ciclo do job, itens pagos saem do filtrostatus=PENDING. Mais simples, porém com atraso de até um ciclo do cron.
5. PIX expirado — segunda chance
QR expirado fica comstatus=CANCELED. Busque com janela recente:
payer ainda tiver contato, envie mensagem com um novo link de pagamento (criar link ou nova cobrança PIX) em vez do qrcodeUrl antigo.
6. Links de pagamento vs cobrança direta
Para recuperação rica em contato, venda pelo link de pagamento ou garanta que o checkout colete e-mail/telefone antes de gerar a cobrança.
Consulta pontual de sessão: GET /payment-links/sessions/get.
7. Boas práticas
Deduplicação
GuardetransactionId (campo id) ou externalReference com timestamp do último contato. Não envie a mesma sequência duas vezes.
Janela de recuperação
LGPD e opt-out
Use os dados apenas para concluir a compra iniciada. Ofereça descadastro e não compartilhe contatos com terceiros sem base legal.Subcontas
Se cada lojista tem subconta, filtremerchantSubaccountId no extrato para recuperar só as vendas daquele parceiro.
Erros frequentes
Mais ajuda: Troubleshooting · Extrato — referência