Pular para o conteúdo principal
Copie este prompt em qualquer agente de IA:
Contexto Pagou para IA
Você é um engenheiro sênior construindo uma integração Pagou em produção.

Fontes de verdade:
- Docs rápidas: https://developer.pagou.ai/llms.txt
- Docs completas: https://developer.pagou.ai/llms-full.txt
- OpenAPI v2: https://developer.pagou.ai/api-reference/openapi-v2.json
- Base URLs: https://api.pagou.ai e https://api.sandbox.pagou.ai

Regras:
- Mantenha chaves secretas da Pagou apenas no servidor. Use env vars.
- Valide endpoints, campos, status e formatos de webhook no OpenAPI antes de codar.
- Não invente endpoints, campos ou fluxos não documentados.
- Valores na API v2 são em centavos.
- Sempre inclua external_ref e idempotência em escritas.
- Use Payment Element / SDK v3 para cartões. Envie ao back-end apenas tokens pgct_.
- Implemente webhooks reais, deduplique pelo id do evento no topo e processe de forma assíncrona.
- Roteie pagamentos por event=transaction + data.event_type.
- Roteie assinaturas por event=subscription + data.event_type.
- Roteie transferências pelo type no topo.
- Libere pedidos, acesso e estado de saque apenas por webhook confirmado ou estado reconciliado no servidor.
- Use polling/GET apenas para reconciliação, suporte ou recuperação. Nunca use polling como fluxo principal.

Referência da documentação

Roteamento rápido

llms.txt — encontre a página certa rapidamente

Contexto completo

llms-full.txt — docs completa offline

Fonte de schema

OpenAPI — endpoints, campos, webhooks

Configurar por agente

Adicione ao CLAUDE.md na raiz do projeto:
## Integração Pagou
- Fontes de verdade: https://developer.pagou.ai/llms-full.txt e https://developer.pagou.ai/api-reference/openapi-v2.json
- Mantenha chaves secretas da Pagou apenas no servidor e use env vars
- Valide endpoints, campos, status e webhooks no OpenAPI; não invente campos não documentados
- Valores na API v2 são em centavos
- Sempre inclua external_ref e idempotência em escritas
- Use Payment Element / SDK v3 para cartões e envie ao back-end apenas tokens pgct_
- Implemente webhooks reais, deduplique pelo id no topo, processe de forma assíncrona e evite polling como fluxo principal
- Libere pedidos, assinaturas e transferências apenas por webhook confirmado ou estado reconciliado no servidor
Template CLAUDE.md completo

Prompts completos

Copie qualquer um destes direto no seu agente de IA:
Leia https://developer.pagou.ai/llms-full.txt e https://developer.pagou.ai/api-reference/openapi-v2.json

Construa um fluxo de checkout Pix:
1. Back-end/server function apenas: POST /v2/transactions com method=pix, valor em centavos e external_ref
2. Front-end: exiba apenas os campos Pix voltados ao comprador retornados pelo back-end
3. Webhook: implemente POST /webhooks/pagou, deduplique pelo id de topo e roteie event=transaction por data.event_type
4. Liberação: atualize o pedido apenas depois de transaction.paid ou estado pago reconciliado
5. Reconciliação: use GET /v2/transactions/{id} apenas para recuperação/suporte, não como fluxo principal

Use env vars para API keys. Nunca exponha credenciais Pagou no front-end. Valide todos os campos no OpenAPI.
Leia https://developer.pagou.ai/llms-full.txt e https://developer.pagou.ai/api-reference/openapi-v2.json

Construa um fluxo de checkout de cartão:
1. Front-end: carregue Payment Element de https://js.pagou.ai/payments/v3.js e monte campos hospedados de cartão
2. No submit: chame elements.submit() e envie ao back-end apenas o token pgct_
3. Back-end/server function apenas: POST /v2/transactions com method=credit_card, valor em centavos, token, installments e external_ref
4. 3DS: se a resposta do back-end tiver next_action, continue o challenge pelo fluxo do SDK
5. Webhook: roteie event=transaction por data.event_type e atualize o pedido apenas depois de webhook ou reconciliação no servidor
6. Reconciliação: use GET /v2/transactions/{id} apenas depois de estado incerto no browser/rede

Use env vars para API keys. Nunca exponha segredos nem manipule número de cartão diretamente. Valide todos os campos no OpenAPI.
Leia https://developer.pagou.ai/llms-full.txt e https://developer.pagou.ai/api-reference/openapi-v2.json

Construa um fluxo de assinatura:
1. Back-end/server function apenas: crie ou consulte o cliente com /v2/customers
2. Front-end: use Payment Element em modo subscription e envie ao back-end apenas o token pgct_
3. Back-end: POST /v2/subscriptions com customer_id, token, valor em centavos, interval, interval_count, external_ref/metadata se necessário
4. Webhook: implemente POST /webhooks/pagou, deduplique pelo id de topo e roteie event=subscription por data.event_type
5. Estado: libere ou remova acesso pelo status da assinatura e webhooks de assinatura, não pelo estado do browser
6. Reconciliação: use GET /v2/subscriptions/{id} apenas para recuperação/suporte ou estado incerto

Trate subscription.created, subscription.started, subscription.renewed, subscription.updated, subscription.canceled, subscription.payment_failed, subscription.past_due, subscription.trial_will_end e subscription.chargeback_received.

Use env vars para API keys. Nunca exponha credenciais Pagou no front-end. Valide todos os campos no OpenAPI.
Leia https://developer.pagou.ai/llms-full.txt e https://developer.pagou.ai/api-reference/openapi-v2.json

Construa um endpoint de webhook:
1. POST /webhooks/pagou - aceite body JSON e retorne 200 com {"received": true} rapidamente
2. Persista ou enfileire o payload bruto antes do processamento assíncrono
3. Deduplique pelo campo "id" no topo (mesmo evento pode ser enviado múltiplas vezes)
4. Roteie eventos de pagamento por event=transaction e data.event_type
5. Roteie eventos de assinatura por event=subscription e data.event_type
6. Roteie eventos de transferência pelo type no topo, como payout.transferred, payout.failed, payout.rejected, payout.canceled
7. Execute lógica pesada em background, não antes da resposta HTTP

Armazene IDs de eventos processados para prevenir duplicação. Não use polling como caminho principal de atualização de estado.
Leia https://developer.pagou.ai/llms-full.txt e https://developer.pagou.ai/api-reference/openapi-v2.json

Construa um fluxo de transferência Pix Out:
1. Back-end/server function apenas: POST /v2/transfers com dados Pix do recebedor, valor em centavos e external_ref
2. Webhook: roteie eventos de transferência pelo type no topo, incluindo payout.transferred, payout.failed, payout.rejected e payout.canceled
3. Estado: atualize o status do payout pelo webhook/status do recurso, não por polling no front-end
4. Reconciliação: use GET /v2/transfers/{id} apenas se o webhook atrasar ou ficar incerto
5. Cancelamento: POST /v2/transfers/{id}/cancel apenas quando o status atual do recurso permitir

Use env vars para API keys. Nunca exponha credenciais Pagou no front-end. Valide todos os campos no OpenAPI.

Dicas para agentes

Segurança

  • Mantenha API keys apenas no servidor, use env vars
  • Nunca logue tokens de cartão ou chaves Pix
  • Valide origem do webhook antes de processar
  • Use HTTPS em todo lugar

Construção

  • Teste em sandbox primeiro, mesmo código funciona em prod
  • Use ngrok para receber webhooks localmente
  • Sempre envie external_ref para idempotência
  • Reconcilie com GET se webhook falhar

Leia a seguir