Skip to main content

1. Gere suas credenciais

No painel Paysure, vá em API Keys e clique Gerar Nova Chave. Você recebe:
  • client_id (público, header ci)
  • client_secret (privado, header cs)
Nunca exponha o client_secret em código de frontend ou aplicativo mobile. Mantenha sempre no seu backend.

2. Crie sua primeira cobrança PIX

curl -X POST https://api.paysurebr.com/v1/pix/qrcode \
  -H "ci: SEU_CLIENT_ID" \
  -H "cs: SEU_CLIENT_SECRET" \
  -H "Content-Type: application/json" \
  -d '{
    "external_id": "pedido-001",
    "value_cents": 5000,
    "postbackUrl": "https://seusite.com/webhooks/paysure",
    "generator_name": "Cliente Teste",
    "generator_document": "12345678900"
  }'

Resposta (HTTP 201)

{
  "qrcode": {
    "reference_code": "PSR-9c8f7a1e-4d2b-4e6a-8c9f-1a2b3c4d5e6f",
    "external_reference": "pedido-001",
    "content": "00020126580014br.gov.bcb.pix..."
  }
}
  • reference_code: ID interno Paysure. Guarde — você usa nas consultas e recebe nos webhooks.
  • content: o BR Code copia-e-cola. Gere um QR Code visual a partir dele (qualquer lib client-side: qrcodejs, qrcode, etc).

3. Receba o webhook quando o cliente pagar

Quando o pagamento for confirmado, enviamos um POST para o postbackUrl:
{
  "cashin": {
    "reference_code": "PSR-9c8f7a1e-...",
    "external_reference": "pedido-001",
    "value_cents": 5000,
    "status": "paid",
    "payer_name": "João da Silva",
    "payer_document": "12345678900",
    "payment_date": "2026-05-13T10:13:01-03:00",
    "end_to_end": "E18236120202605131013..."
  }
}
Responda com HTTP 200 para confirmar recebimento. Se devolver erro ou timeout, retentamos.

Saiba mais sobre Webhooks

Idempotência, retries, segurança.