Pular para o conteúdo principal
Use o SDK em código TypeScript do lado do servidor. Mantenha fluxos do navegador no Payment Element.

Instalação

bun add @pagouai/api-sdk

Crie um cliente

import { Client } from "@pagouai/api-sdk";

const client = new Client({
  apiKey: process.env.PAGOU_API_KEY!,
  environment: "sandbox",
  timeoutMs: 30_000,
  maxRetries: 2,
});

Exemplo de requisição subjacente à API

{
  "external_ref": "order_1001",
  "amount": 1500,
  "currency": "BRL",
  "method": "pix"
}

Exemplo de resposta subjacente da API

{
  "success": true,
  "requestId": "req_3001",
  "data": {
    "id": "tr_1001",
    "status": "pending"
  }
}

Primeiro pagamento Pix

const created = await client.transactions.create(
  {
    external_ref: "order_1001",
    amount: 1500,
    currency: "BRL",
    method: "pix",
    buyer: {
      name: "Ada Lovelace",
      email: "ada@example.com",
      document: { type: "CPF", number: "12345678901" },
    },
    products: [{ name: "Starter order", price: 1500, quantity: 1 }],
  },
  {
    idempotencyKey: "tx_order_1001",
    requestId: "req_order_1001",
  },
);

Variações de auth

new Client({ apiKey: process.env.PAGOU_API_KEY!, auth: { scheme: "bearer" } });
new Client({ apiKey: process.env.PAGOU_API_KEY!, auth: { scheme: "basic" } });
new Client({ apiKey: process.env.PAGOU_API_KEY!, auth: { scheme: "api_key_header", headerName: "apiKey" } });

Comportamento de retry

  • Retries cobrem falhas de rede e 429, 500, 502, 503, 504.
  • GET e HEAD repetem automaticamente.
  • POST e PUT só repetem quando você define chave de idempotência.

Leia a seguir