Agent skill
int-asaas
Asaas payment platform integration via API v3. Manage payments (Pix, boleto, credit card), customers, subscriptions, transfers, balance, and marketplace subaccounts. Use when users ask about payment collection, billing automation, Pix, boleto, subscriptions, or financial transfers via Asaas. Integração Asaas: cobranças, clientes, assinaturas, Pix, boleto.
Install this agent skill to your Project
npx add-skill https://github.com/EvolutionAPI/evo-nexus/tree/main/.claude/skills/int-asaas
SKILL.md
Asaas Payment Skill
Integration with Asaas billing platform via REST API v3.
When to use
- Create or query payment charges (Pix, boleto, credit card)
- Manage customers in Asaas
- Create or cancel recurring subscriptions
- Check account balance or initiate Pix transfers
- Generate Pix QR codes or boleto digitable lines
- Create marketplace subaccounts for split payments
- List webhook events for payment confirmations
Setup
Requires environment variables:
export ASAAS_API_KEY="your_api_key_here"
export ASAAS_SANDBOX="true" # set to "false" for production
How to obtain the API key
- Log in to https://www.asaas.com (or https://sandbox.asaas.com for testing)
- Go to Account Settings → Integrations → API Key
- Copy the key — it starts with
$aact_in production
Auth header used in all requests:
access_token: ${ASAAS_API_KEY}
Base URL
| Environment | URL |
|---|---|
| Production | https://api.asaas.com/v3 |
| Sandbox | https://sandbox.asaas.com/api/v3 |
Select based on ASAAS_SANDBOX env var. Default is sandbox (safe).
Enums
billingType
| Value | Description |
|---|---|
BOLETO |
Bank slip |
CREDIT_CARD |
Credit card |
PIX |
Pix instant payment |
UNDEFINED |
Any method (customer chooses) |
Payment status
| Value | Description |
|---|---|
PENDING |
Awaiting payment |
RECEIVED |
Payment received |
CONFIRMED |
Payment confirmed |
OVERDUE |
Past due date |
REFUNDED |
Refunded |
RECEIVED_IN_CASH |
Received in cash |
REFUND_REQUESTED |
Refund requested |
CHARGEBACK_REQUESTED |
Chargeback requested |
AWAITING_CHARGEBACK_REVERSAL |
Awaiting chargeback reversal |
DUNNING_REQUESTED |
Dunning in progress |
DUNNING_RECEIVED |
Dunning received |
AWAITING_RISK_ANALYSIS |
Under risk analysis |
Subscription cycle
WEEKLY | BIWEEKLY | MONTHLY | QUARTERLY | SEMIANNUALLY | YEARLY
Subscription status
ACTIVE | INACTIVE | EXPIRED
Pix key type
CPF | CNPJ | EMAIL | PHONE | EVP
Company type (subaccounts)
MEI | LIMITED | INDIVIDUAL | ASSOCIATION
Format Rules
| Field | Format | Example |
|---|---|---|
| CPF | 11 digits, no dashes | 12345678901 |
| CNPJ | 14 digits, no dashes | 12345678000199 |
| CEP | 8 digits, no dashes | 30140071 |
| Dates | ISO YYYY-MM-DD |
2026-04-10 |
| Amounts | BRL float | 99.90 |
| IDs | Prefixed strings | cus_xxx, pay_xxx, sub_xxx |
Payments
Create payment
curl -s -X POST \
"${BASE_URL}/payments" \
-H "access_token: ${ASAAS_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"customer": "cus_000000000001",
"billingType": "PIX",
"value": 150.00,
"dueDate": "2026-04-20",
"description": "Monthly service fee"
}'
Body fields:
| Field | Type | Required | Description |
|---|---|---|---|
customer |
string | yes | Customer ID (cus_xxx) |
billingType |
string | yes | BOLETO, CREDIT_CARD, PIX, UNDEFINED |
value |
number | yes | Amount in BRL (must be > 0) |
dueDate |
string | yes | Due date YYYY-MM-DD |
description |
string | no | Payment description |
Get payment
curl -s -X GET \
"${BASE_URL}/payments/pay_000000000001" \
-H "access_token: ${ASAAS_API_KEY}"
List payments
curl -s -X GET \
"${BASE_URL}/payments?customer=cus_000000000001&status=PENDING&limit=10&offset=0" \
-H "access_token: ${ASAAS_API_KEY}"
Query params:
| Param | Type | Description |
|---|---|---|
customer |
string | Filter by customer ID |
status |
string | Filter by payment status |
limit |
number | Results per page (default 10) |
offset |
number | Pagination offset |
Get Pix QR code
curl -s -X GET \
"${BASE_URL}/payments/pay_000000000001/pixQrCode" \
-H "access_token: ${ASAAS_API_KEY}"
Returns payload (copy-paste Pix string) and encodedImage (base64 PNG).
Get boleto
curl -s -X GET \
"${BASE_URL}/payments/pay_000000000001/identificationField" \
-H "access_token: ${ASAAS_API_KEY}"
Returns identificationField (digitable line) and barcode.
Get installments
curl -s -X GET \
"${BASE_URL}/payments/pay_000000000001/installments" \
-H "access_token: ${ASAAS_API_KEY}"
Customers
Create customer
curl -s -X POST \
"${BASE_URL}/customers" \
-H "access_token: ${ASAAS_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"name": "João da Silva",
"cpfCnpj": "12345678901",
"email": "joao@email.com",
"phone": "31999990000"
}'
Body fields:
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | yes | Customer name |
cpfCnpj |
string | yes | CPF (11 digits) or CNPJ (14 digits), numbers only |
email |
string | no | Valid email address |
phone |
string | no | Phone number |
List customers
curl -s -X GET \
"${BASE_URL}/customers?name=João&limit=20" \
-H "access_token: ${ASAAS_API_KEY}"
Query params: name, cpfCnpj, limit
Subscriptions
Create subscription
curl -s -X POST \
"${BASE_URL}/subscriptions" \
-H "access_token: ${ASAAS_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"customer": "cus_000000000001",
"billingType": "BOLETO",
"value": 99.90,
"cycle": "MONTHLY",
"nextDueDate": "2026-05-01",
"description": "Pro plan"
}'
Body fields:
| Field | Type | Required | Description |
|---|---|---|---|
customer |
string | yes | Customer ID |
billingType |
string | yes | BOLETO, CREDIT_CARD, PIX |
value |
number | yes | Amount per cycle (must be > 0) |
cycle |
string | yes | Billing cycle |
nextDueDate |
string | yes | First due date YYYY-MM-DD |
description |
string | no | Subscription description |
List subscriptions
curl -s -X GET \
"${BASE_URL}/subscriptions?customer=cus_000000000001&status=ACTIVE&limit=10" \
-H "access_token: ${ASAAS_API_KEY}"
Cancel subscription
curl -s -X DELETE \
"${BASE_URL}/subscriptions/sub_000000000001" \
-H "access_token: ${ASAAS_API_KEY}"
Financial
Get balance
curl -s -X GET \
"${BASE_URL}/finance/balance" \
-H "access_token: ${ASAAS_API_KEY}"
Create transfer (Pix out / TED)
curl -s -X POST \
"${BASE_URL}/transfers" \
-H "access_token: ${ASAAS_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"value": 250.00,
"pixAddressKey": "joao@email.com",
"pixAddressKeyType": "EMAIL",
"description": "Supplier payment"
}'
Body fields:
| Field | Type | Required | Description |
|---|---|---|---|
value |
number | yes | Amount in BRL (must be > 0) |
pixAddressKey |
string | no | Pix key value |
pixAddressKeyType |
string | no | CPF, CNPJ, EMAIL, PHONE, EVP |
description |
string | no | Transfer description |
Marketplace (Split Payments)
Create subaccount
curl -s -X POST \
"${BASE_URL}/accounts" \
-H "access_token: ${ASAAS_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"name": "Parceiro Comercial LTDA",
"email": "parceiro@empresa.com",
"cpfCnpj": "12345678000199",
"companyType": "LIMITED",
"phone": "31999990000",
"postalCode": "30140071",
"address": "Rua das Flores",
"addressNumber": "100",
"province": "Centro"
}'
Required fields: name, email, cpfCnpj
Utilities
Get webhook events
curl -s -X GET \
"${BASE_URL}/webhook/events?event=PAYMENT_CONFIRMED&limit=10&offset=0" \
-H "access_token: ${ASAAS_API_KEY}"
Common event types: PAYMENT_CONFIRMED, PAYMENT_RECEIVED, PAYMENT_OVERDUE, TRANSFER_CREATED, SUBSCRIPTION_CREATED
Auth Model
- Type: API Key
- Header name:
access_token(note: lowercase, notAuthorization) - Header value: raw API key, no
Bearerprefix - Key format:
$aact_YTU5YTE0M...(production) or similar pattern in sandbox
Rate Limits
- Asaas enforces rate limits per API key
- Default limit: ~120 requests/minute (see official docs for current values)
- Back off on HTTP 429; retry after the
Retry-Afterheader value - Full rate limit details: https://docs.asaas.com
Notes
- This skill is based on the MCP implementation at
workspace/projects/mcp-dev-brasil/packages/payments/asaas/src/index.ts(mcp-dev-brasil project), which includes Zod validation for CPF/CNPJ, email, CEP, and date formats - Always start with
ASAAS_SANDBOX=true— sandbox is isolated from production funds - For credit card payments, tokenization requires additional fields not covered here — see https://docs.asaas.com
- Webhook configuration (registering your endpoint URL) must be done in the Asaas dashboard, not via API
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
data-create-viz
Cria visualizações de dados de qualidade profissional com Python no tema Evolution (fundo escuro, acento
cs-customer-escalation
Empacota uma escalação para Devs, Produto ou Davidson com contexto completo. Use quando um bug precisa de atenção além do suporte normal, vários clientes reportam o mesmo problema, um cliente está ameaçando cancelar, ou um problema ficou sem resolução além do SLA. / Package an escalation for engineering, product, or leadership with full context. Use when a bug needs engineering attention beyond normal support, multiple customers report the same issue, a customer is threatening to churn, or an issue has sat unresolved past its SLA.
mkt-draft-content
Draft blog posts, social media, email newsletters, landing pages, press releases, and case studies with channel-specific formatting and SEO recommendations. Use when writing any marketing content, when you need headline or subject line options, or when adapting a message for a specific platform, audience, and brand voice.
gog-tasks
Create, manage, and prioritize tasks and todo items. Convert emails to tasks, set priorities (P0-P3) and categories (Work/Personal/Errands/Admin), review daily priorities, track blocked and overdue tasks. Use when user mentions tasks, todos, action items, or wants to convert emails to tasks. Requires confirmation before creating or deleting tasks.
discord-get-messages
Retrieve messages from Discord channels via the Discord API. Use this skill when the user wants to read, search, or analyze messages from a Discord channel.
cs-customer-research
Pesquisa multi-fonte sobre pergunta ou tópico de cliente com atribuição de fontes. Use quando um cliente pergunta algo que precisa ser verificado, investigando se um bug foi reportado antes, verificando o que foi dito anteriormente a uma conta específica, ou coletando contexto antes de redigir uma resposta. / Multi-source research on a customer question or topic with source attribution. Use when a customer asks something you need to look up, investigating whether a bug has been reported before, checking what was previously told to a specific account, or gathering background before drafting a response.
Didn't find tool you were looking for?