Versão 3.0

Guia de Utilização — Asaas PIX

Operação do dia a dia do módulo PIX via Asaas no WHMCS · Modules Pay

1. Como o módulo funciona

  1. Uma fatura é criada no WHMCS com a forma de pagamento Asaas - PIX.
  2. O módulo cria (ou reaproveita) o cliente no Asaas, usando o CPF/CNPJ do cadastro, e gera a cobrança PIX com a referência MPAY-{número da fatura}.
  3. O cliente paga pelo QRCode ou pelo código copia e cola.
  4. O Asaas envia o webhook PAYMENT_RECEIVED / PAYMENT_CONFIRMED para o callback do módulo.
  5. O módulo registra o pagamento na fatura, que passa para Paga, e o WHMCS executa as ações normais (ativação, renovação, e-mail de confirmação).
Taxas, multa, juros e desconto antecipado configurados no gateway são enviados ao Asaas na criação da cobrança.

2. Experiência do cliente

Na fatura (área do cliente)

Requisitos do cadastro do cliente

Ao alterar o CPF/CNPJ ou os dados do cliente pelo admin, o módulo também atualiza o cadastro correspondente no Asaas.

3. E-mails e variáveis de template

O módulo adiciona variáveis aos templates de e-mail do WHMCS (Configurações → Email Templates):

VariávelConteúdo
{$pixmpay_button}Botão com link para pagamento via PIX
{$pixmpay_qrcode}Imagem do QRCode PIX
{$pixmpay_copiaecola}Código PIX copia e cola
{$mpay_link_comprovante}Link do comprovante de pagamento

As variáveis são preenchidas nos templates de fatura: Invoice Created, Invoice Modified, Invoice Payment Reminder, avisos de atraso (1º, 2º e 3º) e Invoice Payment Confirmation.

Exemplo de trecho para o template Invoice Created:

Pague sua fatura via PIX:
{$pixmpay_qrcode}
Ou copie o código: {$pixmpay_copiaecola}
{$pixmpay_button}

4. Acompanhando faturas no admin

Ao abrir uma fatura do gateway Asaas PIX em Billing → Invoices, o módulo mostra um quadro com o status da cobrança no Asaas:

Status no AsaasSignificado
Pendente (PENDING)Cobrança criada, aguardando pagamento.
Recebida (RECEIVED)PIX pago e creditado.
Confirmada (CONFIRMED)Pagamento confirmado pelo Asaas.
Vencida (OVERDUE)Passou do vencimento sem pagamento.

O quadro também informa a data de criação da cobrança no Asaas.

5. Sincronização manual de pagamentos NOVO 3.0

Se o cliente pagou o PIX mas a fatura continua Não Paga no WHMCS — normalmente porque o webhook não chegou ou foi recusado —, o quadro de status exibe um botão para registrar o pagamento:

Cobrança já existe no Asaas - Status: Recebida
Data de criação: 12/10/2026
Processar pagamento do Asaas
A fatura está pendente no WHMCS, mas já foi paga no Asaas. Clique para registrar o pagamento sem depender do webhook.

Passo a passo

  1. Abra a fatura no admin.
  2. Clique em Processar pagamento do Asaas. O botão fica desabilitado enquanto processa.
  3. A página recarrega com o resultado no topo do quadro:
    • Verde — "Pagamento sincronizado com sucesso. Fatura #N marcada como paga."
    • Vermelho — o motivo da falha (veja a tabela abaixo).

Quando o botão aparece

Segurança

Antes de registrar o pagamento, o módulo consulta o pagamento diretamente na API do Asaas e confirma que a referência é MPAY-{número da fatura} e que o status é pago. Em seguida executa o callback local com o mesmo conteúdo do webhook, usando o token de autenticação configurado. A ação exige sessão de administrador e token CSRF, e fica registrada no Activity Log do WHMCS.

Mensagens de erro

MensagemO que fazer
Fatura não está pendenteA fatura já foi paga ou cancelada; nenhuma ação necessária.
O pagamento não pertence à faturaA cobrança no Asaas tem outra referência. Verifique a cobrança no painel do Asaas.
O pagamento no Asaas não está pagoO status mudou desde o carregamento da página. Recarregue a fatura.
Falha ao acessar o callback localO servidor não consegue acessar a própria URL do WHMCS (DNS, firewall ou SSL). Verifique a System URL.
Callback local recusou a requisição (token inválido)O campo Token de Autenticação do gateway está vazio ou incorreto.
Callback executado, mas a fatura continua pendenteConsulte o relatório de logs para o motivo detalhado.
A sincronização manual resolve a fatura, mas não o webhook. Se isso acontecer com frequência, revise URL, token e fila de sincronização do webhook no Asaas.

6. O que acontece em cada ação da fatura

Ação no WHMCSEfeito no Asaas
Fatura criadaCobrança PIX gerada automaticamente.
Valor ou itens da fatura alteradosCobrança atualizada com o novo valor.
Fatura voltou para Não PagaCobrança recriada/atualizada no Asaas.
Fatura canceladaCobrança pendente removida do Asaas.
Fatura marcada como paga manualmente (ex.: pagamento em dinheiro)Cobrança pendente é confirmada como recebida em dinheiro no Asaas, evitando cobrança em duplicidade.
Dados/CPF do cliente alterados no adminCadastro do cliente atualizado no Asaas.

7. Rotinas automáticas diárias

Executadas pelo cron diário do WHMCS:

8. Relatório de logs

Com uma sessão de administrador ativa, acesse:

https://seudominio.com.br/modules/gateways/asaaspixmpay/logs_relatorio.php

É possível filtrar por tipo, período e quantidade de registros (50 a 500).

TipoUso
INFOOperações normais: cobranças criadas, eventos recebidos, sincronizações.
WARNINGEventos ignorados: payload vazio, JSON inválido, campos ausentes, forma de pagamento não tratada.
ERRORFalhas ao registrar pagamento ou comunicar com o Asaas.
SECURITYLicença inválida e requisições de webhook recusadas por token.
Novo na 3.0: os logs do callback indicam exatamente quais campos faltaram no webhook, qual evento e qual pagamento foram ignorados, e quando o token foi recusado (ausente ou inválido). Cobranças criadas fora do módulo (sem referência externa) são ignoradas sem gerar log.

9. Boas práticas

10. Perguntas frequentes

O cliente pagou e a fatura não baixou. O que faço?

Abra a fatura no admin e clique em Processar pagamento do Asaas. Depois, verifique no log se há registros de token recusado e corrija o webhook.

Posso usar a chave de API de sandbox?

Use sempre a chave de produção em ambiente real. Cobranças de teste não geram pagamentos reais.

O cliente pode pagar uma fatura vencida?

Sim. Multa e juros configurados são aplicados pelo Asaas no momento do pagamento. Se a cobrança foi removida pela rotina de limpeza, ela é gerada novamente quando a fatura é atualizada.

Por que algumas faturas não mostram o botão PIX?

O valor está abaixo do mínimo configurado ou o cliente não tem CPF/CNPJ válido.