Realizando um saque PIX via QR Code

Este endpoint permite realizar saques PIX a partir de um código de QR Code lido (código Copia e Cola / EMV dinâmico). O saque é processado de forma assíncrona, e o status da liquidação é atualizado via webhook.

📍 Endpoint

POST https://api.etherglobalassets.com/pix/withdraw/pix-qrcode

🧾 Cabeçalhos obrigatórios (Headers)

Cabeçalho

Valor

Descrição

Authorization

Bearer <token>

Token JWT de autenticação.

Content-Type

application/json

Formato do corpo da requisição.

🧰 Corpo da Requisição (JSON)

{
  "amount": 100,
  "pixKeyType": "QRCODE",
  "qrCodeId": "00020126580014BR.GOV.BCB.PIX000000000000-3c8a-4b83-9d92-50616d8aea2152040000530398654041.005802BR5924Carlos Jocktan6009SAOPAULO622605224v4QL8Hnb5ffjsC208MLRL63048623"
}

Explicação dos campos:

Campo

Tipo

Obrigatório

Descrição

amount

number

Valor da transação em centavos. Exemplo: para R$ 1,00, envie 100.

pixKeyType

enum

Deve ser obrigatoriamente QRCODE.

qrCodeId

string

Código PIX Copia e Cola / EMV gerado pelo sistema PIX do destinatário.

📌 Exemplo com curl

curl https://api.etherglobalassets.com/pix/withdraw/pix-qrcode \
  --request POST \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "amount": 100,
    "pixKeyType": "QRCODE",
    "qrCodeId": "00020126580014BR.GOV.BCB.PIX000000000000-3c8a-4b83-9d92-50616d8aea2152040000530398654041.005802BR5924Carlos Jocktan6009SAOPAULO622605224v4QL8Hnb5ffjsC208MLRL63048623"
  }'

✅ Resposta esperada (HTTP 200 - OK)

{
  "uuid": "2d2728e6-3403-4386-9863-000000000000",
  "pixKeyType": "QRCODE",
  "amount": 100,
  "userId": "3b90ef44-36cb-41d8-a0e4-000000000000",
  "tenantId": "9a43ae9c-d7f2-43c6-a7d4-000000000000",
  "status": "PENDING",
  "expireAt": "2025-04-03T01:31:13.978Z",
  "type": "WITHDRAW",
  "qrCodeId": "00020126580014BR.GOV.BCB.PIX000000000000-3c8a-4b83-9d92-50616d8aea2152040000530398654041.005802BR5924Carlos Jocktan6009SAOPAULO622605224v4QL8Hnb5ffjsC208MLRL63048623",
  "e2e": "",
  "providerReferenceId": null,
  "executedAt": null,
  "senderInfo": null,
  "receiverInfo": null,
  "id": "ff44e538-39eb-4bf3-89bd-000000000000",
  "createdAt": "2025-04-03T01:31:13.979Z",
  "updatedAt": "2025-04-03T01:31:13.979Z"
}

Entendendo a Resposta:

  • uuid: Identificador único da transação gerado pelo sistema.

  • status: Situação inicial do saque (geralmente PENDING ou PROCESSING).

  • e2e: Código End-to-End da transação do Banco Central (será preenchido após a liquidação).

  • amount: Valor bruto solicitado para o saque em centavos.

📊 Status da Transação

Status

Descrição

PENDING

⏳ Criada e aguardando processamento.

PROCESSING

⚙️ Sendo enviada ao Banco Central.

CONFIRMED

✅ Sucesso! Valor enviado ao destino.

FAILED

❌ Falha (ex: QR Code inválido, expirado ou erro no banco destino).

REFUNDED

🔄 Valor devolvido ao seu saldo original.

⚠️ Possíveis erros

Código

Erro

Causa comum

400

Bad Request

QR Code expirado ou inválido, ou saldo insuficiente.

401

Unauthorized

Token inválido ou expirado.

500

Internal Server Error

Falha de comunicação com o provedor bancário.

🛡️ Limitações e Boas Práticas

✅ FAÇA:

  • Verifique se o saldo da conta cobre o valor total que será sacado.

  • Monitore o webhook de status de saque para receber a confirmação final da liquidação.

❌ NÃO FAÇA:

  • Tentar ler QR Codes inválidos ou com valores que superem o saldo total do usuário.

  • ⚠️ Enviar saques de titularidade diferente para contas com a modalidade Cripto (causará estorno automático).

Suporte Técnico

Para problemas de atraso no processamento do QR Code ou falhas no recebimento da liquidação, entre em contato através de suporte@etherglobalassets.com.br enviando o uuid da transação.