Skip to main content
POST
/
v1
/
pix
/
payment
Pagar PIX via chave (CPF/CNPJ/email/phone/EVP)
curl --request POST \
  --url https://api.paysurebr.com/v1/pix/payment \
  --header 'Content-Type: application/json' \
  --header 'ci: <api-key>' \
  --data '
{
  "external_id": "withdraw-001",
  "value_cents": 5000,
  "pix_key_type": "cpf",
  "pix_key": "12345678900",
  "receiver_name": "Maria Souza",
  "receiver_document": "12345678900",
  "postbackUrl": "https://seu-site.com/webhooks/paysure"
}
'
{
  "cashout": {
    "reference_code": "PSR-1234abcd-...",
    "external_reference": "withdraw-001",
    "status": "processing"
  }
}
Envia um pagamento PIX para uma chave DICT cadastrada (CPF, CNPJ, email, phone, EVP).

Fluxo

  1. Você envia a requisição → recebe HTTP 201 com status: "processing" e um reference_code.
  2. Mais tarde, enviamos um webhook em postbackUrl com o status final:
    • status: "paid" → pagamento concluído.
    • status: "refunded" → não foi possível concluir; nenhum ajuste é necessário do seu lado.
Cada external_id deve ser único por transação. Use-o como sua chave de idempotência.

Validação de chave PIX

Antes de processar, validamos o formato da pix_key:
  • CPF / CNPJ: dígitos verificadores (módulo 11)
  • Email: formato válido
  • Phone: padrão E.164 (+55...)
  • EVP: UUID v4
Se a chave estiver malformada, respondemos com HTTP 422 imediatamente.

Authorizations

ci
string
header
required

Autenticação por par client-credentials. Envie dois headers em toda requisição:

  • ci: client_id (público)
  • cs: client_secret (privado — nunca exponha no frontend)

Gere as credenciais no painel da Paysure em API Keys. Você pode ter múltiplas chaves ativas.

Body

application/json
external_id
string
required
Maximum string length: 191
value_cents
integer
required
Required range: x >= 100
pix_key_type
enum<string>
required
Available options:
cpf,
cnpj,
email,
phone,
evp
pix_key
string
required
Maximum string length: 255
receiver_name
string
required
Maximum string length: 191
receiver_document
string
required
Maximum string length: 32
postbackUrl
string<uri>
required
description
string | null
Maximum string length: 255
splits
object[]
Maximum array length: 20

Response

Pagamento aceito (processando)

cashout
object