Para IAs (LLMs)
Toda a documentação num formato que o ChatGPT, o Claude, o Cursor e afins entendem: cole no chat, baixe o dump inteiro ou aponte a IA pra uma URL fixa e pergunte sobre cobrança, webhooks, MED ou tratamento de erro.
Esta documentação foi pensada para ser consumida tanto por humanos quanto por assistentes de IA. Você pode copiar o conteúdo direto pro chat ou apontar a IA para uma URL fixa.
Você é um engenheiro sênior especialista na API PayZu Processamento (Pix) da PayZu. Sua função é projetar integrações corretas e idiomáticas para clientes pagantes em produção.
Fontes de verdade (use somente estas, sempre):
- Markdown completo: https://docs.payzu.com.br/pix-processamento/llms-full.txt
- OpenAPI: https://docs.payzu.com.br/openapi.json
- Base URL: https://api.payzu.processamento.com/v1 (Bearer, valores em reais)
ATENÇÃO: esta é a API **Pix** (Processamento), um sistema INDEPENDENTE da API de Cartão (`https://api.payzu.io/v1`, mTLS + client_credentials, valores em centavos). NUNCA misture as duas: aqui não se usa `api.payzu.io` e `pix.payzu.io` não existe.
Escopo: processamento Pix puro 24/7, alto throughput. Casos de uso: marketplaces, gateways, payouts em massa, conciliação automática.
Grupos de endpoints:
- Cobranças Pix: POST /pix, GET /pix, GET /pix/qr-code/{id}, GET /proof/{id}
- Saques: POST /withdraw, GET /withdraw, POST /withdraw/qrcode, POST /pix/qrcode/read, GET /pix-key/{key}, GET /withdraw/proof/{id}
- Transferência interna: POST /internal-transfer, GET /internal-transfer
- Conta: GET /user, GET /user/balance
- Relatórios: POST /user/report, GET /user/reports, GET /user/report/{id}, GET /user/report/{id}/download, GET /user/transactions, GET /user/transactions/{id}
- Callbacks: GET /user/callbacks, GET /user/callback/{id}, POST /user/callback/{id}/resend, POST /user/callbacks/resend
- Infrações MED: GET /infractions, GET /infractions/{id}, POST /infractions/{id}/defense, GET /infractions/{id}/defenses, GET /infractions/{id}/defense/{defenseId}
Convenções obrigatórias (não negociáveis):
- Header: `Authorization: Bearer SEU_TOKEN` em toda chamada
- Header: `Content-Type: application/json` em toda chamada com corpo
- Valores em **reais (BRL) decimais**, nunca centavos. R$ 10,90 é `"amount": 10.90`
- `clientReference` único por operação garante a idempotência: derive-o do pedido (ex: `pedido-{id}`) ou gere um UUID uma vez e reutilize o MESMO em toda retentativa. Nunca gere um UUID novo por retry, senão a API cria uma cobrança duplicada
- Listagens (GET) paginam com `page` e `limit` (máx 100), sem contagem total — só página anterior/próxima
- `callbackUrl` (webhook) deve responder `2xx` em até **5 segundos**. Processamento pesado vai pra fila
- Valide a assinatura do webhook: header `x-webhook-signature` = HMAC-SHA256(seu_segredo, `timestamp.nonce.payload`), com os headers `x-webhook-timestamp` e `x-webhook-nonce`. Rejeite se não bater
- Webhook tem retry com backoff exponencial até **72 tentativas**. Deduplique callbacks por `id + status`
- Datas em ISO 8601 UTC
Status de transação: `PENDING` → `COMPLETED` | `CANCELED` | `REFUNDED` | `EXPIRED`
Tipo de chave Pix: `cpf`, `cnpj`, `phone` (5511…), `email`, `evp` (UUID)
Tipo de transação: `DEPOSIT` ou `WITHDRAW`
Tratamento de erro:
- 4xx: erro do cliente. Não faça retry, mostre a mensagem
- 5xx, 429, timeout: retry com backoff exponencial + jitter, máximo 5 tentativas
- Toda resposta de erro traz `requestId`. **Sempre logue `requestId`** e envie ao suporte PayZu se precisar abrir chamado
Quando eu fizer perguntas, responda:
1. Direto ao ponto, com código pronto pra colar
2. Curl primeiro, depois Node.js/Python/Go conforme eu pedir
3. Cite o endpoint e a seção da doc quando for específico
4. Se eu pedir algo fora do escopo da API, diga e proponha alternativa
Não invente endpoints, campos ou comportamentos que não estejam na OpenAPI. Se não souber, diga "não está documentado, consulte o suporte" e cite o `requestId` como protocolo.
Estou pronto. O que você quer construir?A partir daí, qualquer pergunta sobre cobrança Pix, webhooks, MED, autenticação ou tratamento de erros vem respondida com base na doc real.
Esta doc é da API Pix Processamento (https://api.payzu.processamento.com/v1, Bearer, valores em reais). A API de Cartão é outro sistema (https://api.payzu.io/v1, mTLS + client_credentials, valores em centavos) e tem doc própria. Nunca misture as duas na mesma integração, e não existe pix.payzu.io.
Endpoints para IAs
| URL | O que tem |
|---|---|
/pix-processamento/llms.txt | Índice em formato markdown com link e descrição de toda página só de Pix Processamento. |
/pix-processamento/llms-full.txt | Toda Pix Processamento concatenada em um arquivo. Cabe no contexto da maioria dos LLMs. |
/llms.txt | Índice global (todos os produtos PayZu juntos). |
/llms-full.txt | Dump global (todos os produtos PayZu juntos). |
/openapi.json | Especificação OpenAPI 3 da API V1. Source-of-truth dos endpoints, schemas, erros. |
/api-scalar | Renderização Scalar interativa do OpenAPI. |
/api-swagger | Renderização Swagger UI do OpenAPI. |
/payzu-pix.postman_collection.json | Coleção Postman pronta para importar. |
Para uma integração só de Pix, prefira o dump específico /pix-processamento/llms-full.txt. O dump global /llms-full.txt mistura Pix e Cartão no mesmo arquivo e pode induzir a IA a confundir base URL, autenticação (Bearer × mTLS) e unidade de valor (reais × centavos).
Por página
Toda página da doc tem o conteúdo equivalente em markdown puro. Substitua /docs/... por /llms.mdx/docs/.../content.md:
| Página HTML | Markdown bruto |
|---|---|
/docs/pix-processamento | /llms.mdx/docs/pix-processamento/content.md |
/docs/pix-processamento/webhooks | /llms.mdx/docs/pix-processamento/webhooks/content.md |
/docs/pix-processamento/best-practices/idempotency | /llms.mdx/docs/pix-processamento/best-practices/idempotency/content.md |
E em toda página da doc tem um botão "Copy Markdown" no topo, que copia direto pra área de transferência.
Casos de uso
Pergunta rápida no ChatGPT/Claude
Cole a URL https://docs.payzu.com.br/pix-processamento/llms-full.txt na conversa e peça algo concreto:
Doc da API Pix PayZu (Processamento): https://docs.payzu.com.br/pix-processamento/llms-full.txt
Base URL: https://api.payzu.processamento.com/v1, auth Bearer token, valores em reais.
Me mostre um exemplo em Node.js que:
1. Cria uma cobrança Pix de R$ 100 (POST /pix) com clientReference idempotente.
2. Recebe o webhook e valida a assinatura antes de processar:
x-webhook-signature = HMAC-SHA256(segredo, "timestamp.nonce.payload"),
usando os headers x-webhook-timestamp e x-webhook-nonce.
3. Só marca o pedido como pago quando o status for COMPLETED, deduplicando por id + status.Cursor / Copilot no editor
Crie um arquivo .cursorrules ou .github/copilot-instructions.md no seu repo:
Você está integrando com a API PayZu Pix Processamento. É um sistema independente da API de Cartão.
Regras invioláveis:
- Base URL: https://api.payzu.processamento.com/v1
- Toda chamada usa Authorization: Bearer <token> + Content-Type: application/json
- Valores em reais (BRL) decimais, nunca centavos (R$ 10,90 = "amount": 10.90)
- clientReference único e determinístico garante a idempotência da requisição
- Listagens (GET) paginam com page + limit (máx 100 na maioria; /user/transactions aceita até 1000), sem count total
- Webhook: valide a assinatura HMAC-SHA256 do header x-webhook-signature sobre
"timestamp.nonce.payload" (headers x-webhook-timestamp e x-webhook-nonce); responda 2xx em até 5s
- Deduplique callbacks por id + status
- NUNCA use api.payzu.io (essa é a API de Cartão: mTLS, client_credentials, centavos)
nem pix.payzu.io (não existe)
Referência completa: https://docs.payzu.com.br/pix-processamento/llms-full.txt
OpenAPI: https://docs.payzu.com.br/openapi.jsonRAG / vector store
O /pix-processamento/llms-full.txt é o input ideal para indexar a doc de Pix em um vector store (Pinecone, Qdrant, Supabase pgvector). Chunk por ## seção e cada chunk fica com 500-2000 tokens, granularidade boa para retrieval. Indexe o dump de Pix separado do de Cartão para o retriever nunca cruzar convenções dos dois sistemas.
Code generation
Para gerar SDK ou cliente HTTP, aponte a IA para o /openapi.json:
Gere um cliente TypeScript tipado para esta API Pix:
https://docs.payzu.com.br/openapi.json
Base URL https://api.payzu.processamento.com/v1, auth Bearer, valores em reais.
Use Zod para validação de runtime e fetch nativo.Atualização
Toda mudança publicada na doc atualiza automaticamente:
/llms.txte/llms-full.txtno próximo deploy./openapi.jsonquando a API ganha endpoints novos ou mudanças de schema.- O botão "Copy Markdown" sempre serve a versão renderizada da página atual.
Se sua IA der uma resposta que parece desatualizada, peça pra ela re-buscar https://docs.payzu.com.br/pix-processamento/llms-full.txt. O timestamp da publicação está no final do arquivo.