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.