Package Information
Documentation
n8n-nodes-asaas-billing
O nome
n8n-nodes-asaasjá existe no npm (de outro autor); este pacote é publicado comon8n-nodes-asaas-billing.
Community nodes do n8n para a API v3 do Asaas: clientes, cobranças (Pix, boleto e cartão), tokenização de cartão, assinaturas (recorrência), webhooks e um trigger de eventos.
Criado para o Parenzo (cobrança dos planos), mas genérico: serve para qualquer conta Asaas.
Funcionalidades
Fonte da verdade do que o pacote faz. Toda operação nova, alterada ou removida atualiza esta lista no mesmo commit.
Credencial Asaas API
| Campo | Uso |
|---|---|
| Environment | Sandbox → https://api-sandbox.asaas.com/v3 · Production → https://api.asaas.com/v3 |
| API Key | $aact_hmlg_... (sandbox) ou $aact_prod_... (produção), enviada no header access_token |
| User-Agent | Obrigatório para contas criadas a partir de 13/06/2024 (padrão n8n-nodes-asaas) |
O botão Test da credencial lista 1 cliente para validar a chave.
Node Asaas
| Recurso | Operações | Endpoint |
|---|---|---|
| Customer | Create, Get, Get Many (filtros: nome, e-mail, CPF/CNPJ, externalReference, grupo), Update, Delete, Restore | /customers |
| Payment | Create (Pix, boleto, cartão, parcelado, pré-autorização, desconto/multa/juros/split), Get, Get Many (filtros: cliente, assinatura, parcelamento, forma, status, externalReference, datas de vencimento e pagamento), Update, Delete, Restore, Refund (total ou parcial), Get Pix QR Code, Get Status, Get Boleto Line, Pay With Credit Card, Receive in Cash | /payments |
| Credit Card | Tokenize: devolve creditCardToken + bandeira + final para cobranças e assinaturas sem guardar número/CVV |
/creditCard/tokenizeCreditCard |
| Subscription | Create (ciclos semanal a anual, token do cartão, data final, máximo de cobranças, desconto/multa/juros/split), Get, Get Many, Update (inclusive status e "atualizar cobranças pendentes"), Delete, Get Payments, Update Credit Card | /subscriptions |
| Webhook | Create, Get, Get Many, Update, Delete | /webhooks |
- Get Many pagina sozinho (offset/limit de 100) com Return All ou Limit.
- Datas aceitam
AAAA-MM-DDou ISO completo (o node corta paraAAAA-MM-DD). - Cobrança/assinatura no cartão sem Remote IP é recusada antes de chamar o Asaas (o Asaas exige o IP do comprador).
- Erros do Asaas (
{ errors: [{ code, description }] }) viram a mensagem do erro do node, com o HTTP status. O corpo da requisição nunca é anexado ao erro. - Pode ser usado como tool de agentes de IA (
usableAsTool).
Node Asaas Trigger
- Recebe os eventos escolhidos (
PAYMENT_*,SUBSCRIPTION_*). - Registra o webhook no Asaas ao ativar o workflow e remove ao desativar (pode desligar e configurar manualmente no painel).
- Exige Auth Token (32 a 255 caracteres): o Asaas envia no header
asaas-access-token; chamada sem o token certo recebe 401 (comparação em tempo constante). - Eventos não escolhidos recebem 200 e são ignorados (o Asaas não pausa a fila).
Recorrência com cartão (fluxo típico)
- Customer › Create (com
externalReference= id do seu sistema). - Credit Card › Tokenize → guarde
creditCardToken,creditCardBrand,creditCardNumber(final). - Escolha:
- Subscription › Create com
billingType = CREDIT_CARD,cyclee o token: o Asaas gera e cobra cada ciclo sozinho; ou - Payment › Create com o token a cada ciclo, se a recorrência é controlada pelo seu sistema (é o caso do Parenzo).
- Subscription › Create com
- Asaas Trigger com
PAYMENT_CONFIRMED/PAYMENT_RECEIVED/PAYMENT_OVERDUE/PAYMENT_CREDIT_CARD_CAPTURE_REFUSEDpara atualizar o seu sistema. - Trocar cartão de uma assinatura: Subscription › Update Credit Card.
Tokenização em produção precisa ser liberada pelo gerente da conta Asaas.
Segurança (PCI)
- Número e CVV passam pela execução em Credit Card › Tokenize e nos campos Credit Card (JSON). Em todo workflow que usa essas operações, desligue Settings › Save successful/failed production executions (e não use Save manual executions com dados reais).
- Os campos de número, CVV, token e auth token são do tipo senha (não aparecem na tela).
- Guarde só o token e o final do cartão.
Instalação
Pela interface (instância self-hosted)
Settings › Community Nodes › Install → n8n-nodes-asaas-billing (depois de publicado no npm).
Manual (sem publicar)
cd ~/workspace/parenzo/n8n/n8n-nodes-asaas && npm install && npm run build && npm pack
# copie o .tgz para o servidor do n8n e, dentro de ~/.n8n/nodes:
npm install /caminho/n8n-nodes-asaas-billing-0.1.0.tgz
# reinicie o n8n
Publicar no npm
cd ~/workspace/parenzo/n8n/n8n-nodes-asaas && npm version patch && npm run release
Build
cd ~/workspace/parenzo/n8n/n8n-nodes-asaas && npm install && npm test && npm run build && npm run copy-assets
O pacote usa prepack e prepare (mesmo padrão dos pacotes do Léo Delivery), então npm install, npm pack e npm publish geram o dist/ com os ícones. O dist/ é versionado. Publicação: NODE_AUTH_TOKEN=... npm run release (o .npmrc lê o token da variável).
credentials/AsaasApi.credentials.ts: credencial e teste.nodes/Asaas/Asaas.node.ts: execução das operações.nodes/Asaas/descriptions/*: campos de cada recurso.nodes/Asaas/AsaasTrigger.node.ts: trigger (registro e validação do webhook).nodes/Asaas/GenericFunctions.ts: requisição autenticada, paginação, tratamento de erro.index.ts: exportanodesecredentials;index.test.tsenodes/Asaas/Asaas.node.test.ts: testes (vitest).
Referência da API: https://docs.asaas.com

