Install any skill in seconds. Free to start, no credit card required.
Get Started Free →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.
.claude/skills/evolution-foundation-int-asaas/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 229% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 331% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 125% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 284% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 65% | 0% |
Integration with Asaas billing platform via REST API v3.
Requires environment variables:
bashexport ASAAS_API_KEY="your_api_key_here" export ASAAS_SANDBOX="true" # set to "false" for production
$aact_ in productionAuth header used in all requests:
access_token: ${ASAAS_API_KEY}| 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).
| Value | Description | |-------|-------------| | BOLETO | Bank slip | | CREDIT_CARD | Credit card | | PIX | Pix instant payment | | UNDEFINED | Any method (customer chooses) |
| 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 |
WEEKLY | BIWEEKLY | MONTHLY | QUARTERLY | SEMIANNUALLY | YEARLY
ACTIVE | INACTIVE | EXPIRED
CPF | CNPJ | EMAIL | PHONE | EVP
MEI | LIMITED | INDIVIDUAL | ASSOCIATION
| 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 |
bashcurl -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 |
bashcurl -s -X GET \ "${BASE_URL}/payments/pay_000000000001" \ -H "access_token: ${ASAAS_API_KEY}"
bashcurl -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 |
bashcurl -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).
bashcurl -s -X GET \ "${BASE_URL}/payments/pay_000000000001/identificationField" \ -H "access_token: ${ASAAS_API_KEY}"
Returns identificationField (digitable line) and barcode.
bashcurl -s -X GET \ "${BASE_URL}/payments/pay_000000000001/installments" \ -H "access_token: ${ASAAS_API_KEY}"
bashcurl -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 |
bashcurl -s -X GET \ "${BASE_URL}/customers?name=João&limit=20" \ -H "access_token: ${ASAAS_API_KEY}"
Query params: name, cpfCnpj, limit
bashcurl -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 |
bashcurl -s -X GET \ "${BASE_URL}/subscriptions?customer=cus_000000000001&status=ACTIVE&limit=10" \ -H "access_token: ${ASAAS_API_KEY}"
bashcurl -s -X DELETE \ "${BASE_URL}/subscriptions/sub_000000000001" \ -H "access_token: ${ASAAS_API_KEY}"
bashcurl -s -X GET \ "${BASE_URL}/finance/balance" \ -H "access_token: ${ASAAS_API_KEY}"
bashcurl -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 |
bashcurl -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
bashcurl -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
access_token (note: lowercase, not Authorization)Bearer prefix$aact_YTU5YTE0M... (production) or similar pattern in sandboxRetry-After header valueworkspace/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 formatsASAAS_SANDBOX=true — sandbox is isolated from production funds| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-09 | pass→pass | 9,309 | 3,529 | -62% | 1 | 1 | 0% | 1,825 | 3,812 | +109% | 0 | 0 | — |
case-10 | pass→pass | 4,145 | 2,899 | -30% | 1 | 1 | 0% | 726 | 3,617 | +398% | 0 | 0 | — |
case-01 | fail→pass | 5,891 | 4,502 | -24% | 1 | 1 | 0% | 1,232 | 4,058 | +229% | 0 | 0 | — |
case-02 | pass→pass | 6,611 | 5,117 | -23% | 1 | 1 | 0% | 1,314 | 4,111 | +213% | 0 | 0 | — |
case-03 | pass→pass | 6,897 | 3,528 | -49% | 1 | 1 | 0% | 1,281 | 3,820 | +198% | 0 | 0 | — |
case-04 | fail→fail | 8,007 | 9,349 | +17% | 1 | 1 | 0% | 1,619 | 4,865 | +200% | 0 | 0 | — |
case-05 | fail→fail | 10,077 | 8,321 | -17% | 1 | 1 | 0% | 1,901 | 4,755 | +150% | 0 | 0 | — |
case-06 | fail→fail | 9,149 | 8,623 | -6% | 1 | 1 | 0% | 1,758 | 4,699 | +167% | 0 | 0 | — |
case-07 | fail→pass | 5,043 | 4,819 | -4% | 1 | 1 | 0% | 926 | 3,991 | +331% | 0 | 0 | — |
case-08 | fail→pass | 9,162 | 3,755 | -59% | 1 | 1 | 0% | 1,689 | 3,806 | +125% | 0 | 0 | — |
case-11 | pass→pass | 5,024 | 3,369 | -33% | 1 | 1 | 0% | 935 | 3,766 | +303% | 0 | 0 | — |
case-12 | pass→pass | 4,196 | 2,837 | -32% | 1 | 1 | 0% | 729 | 3,627 | +398% | 0 | 0 | — |
case-13 | pass→pass | 2,889 | 2,540 | -12% | 1 | 1 | 0% | 536 | 3,614 | +574% | 0 | 0 | — |
case-14 | fail→pass | 5,482 | 2,752 | -50% | 1 | 1 | 0% | 935 | 3,590 | +284% | 0 | 0 | — |
case-15 | pass→pass | 5,578 | 2,536 | -55% | 1 | 1 | 0% | 887 | 3,580 | +304% | 0 | 0 | — |
case-16 | fail→pass | 12,518 | 4,130 | -67% | 1 | 1 | 0% | 2,367 | 3,903 | +65% | 0 | 0 | — |
case-17 | fail→pass | 7,263 | 3,103 | -57% | 1 | 1 | 0% | 1,280 | 3,634 | +184% | 0 | 0 | — |
case-18 | pass→pass | 7,138 | 3,085 | -57% | 1 | 1 | 0% | 1,345 | 3,738 | +178% | 0 | 0 | — |
case-19 | pass→pass | 5,246 | 1,837 | -65% | 1 | 1 | 0% | 920 | 3,416 | +271% | 0 | 0 | — |
case-20 | pass→pass | 7,592 | 2,778 | -63% | 1 | 1 | 0% | 1,406 | 3,654 | +160% | 0 | 0 | — |
case-21 | pass→pass | 3,359 | 1,641 | -51% | 1 | 1 | 0% | 620 | 3,391 | +447% | 0 | 0 | — |
case-22 | pass→pass | 4,492 | 2,223 | -51% | 1 | 1 | 0% | 747 | 3,502 | +369% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +27 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.