Skip to content

Transferências (Pix Out)

Gerenciamento de transferências e saques via Pix.


Endpoint

[POST] /recipients

Inicia uma solicitação de saque/transferência via Pix. Envia um código de confirmação para o e-mail do usuário.

Headers

NomeTipoObrigatórioDescrição
AuthorizationBearer TokenSimToken JWT

Request Body

json
{
  "keypix": "usuario@pix.com.br",
  "value": 100.00,
  "message": "Transferência de teste"
}

Response (201 Created)

json
{
  "txid": "abc123456789pixout",
  "value": 100.00,
  "name": "Nome do Destinatário",
  "bank": "Banco Exemplo S.A.",
  "document": "12345678901",
  "message": "Recebedor Criado"
}

Response (400 Bad Request - Saldo insuficiente)

json
{
  "message": "Saldo indisponível"
}

Endpoint

[POST] /pix/withdraw/data-bank

Confirma a transferência utilizando o código enviado por e-mail.

Request Body

json
{
  "txid": "abc123456789pixout",
  "code": "1234"
}

Response (201 Created)

json
{
  "response": true,
  "txid": "abc123456789pixout",
  "value": 100.00,
  "message": "Pix Saida confirmado."
}

Response (400 Bad Request - Código inválido)

json
{
  "message": "Código de validação inválido."
}

Response (404 Not Found - Pix expirado ou não encontrado)

json
{
  "message": "Pix Saída expirado."
}

Endpoint

[GET] /withdraws

Lista o histórico de solicitações de saque da conta.


Query Params

NomeTipoObrigatórioDescrição
statusintegerNão0 = Pendente, 1 = Concluído, 2 = Falha
per_pageintegerNãoItens por página
pageintegerNãoPágina atual

Response (200 OK)

json
{
  "data": [
    {
      "txid": "abc123456789pixout",
      "value": 100.00,
      "status": 1,
      "created_at": "2024-12-10T15:30:00Z"
    }
  ],
  "meta": {
    "current_page": 1,
    "last_page": 1,
    "total": 5
  }
}


Endpoint

[GET] /recipients/contacts

Lista todos os contatos (Clientes) que possuem pelo menos uma conta bancária ou chave Pix cadastrada. Útil para selecionar favorecidos para novas transferências.

Query Params

NomeTipoObrigatórioDescrição
searchstringNãoFiltro por nome, documento, chave Pix, banco, agência ou conta
per_pageintegerNãoItens por página (default: 15)
pageintegerNãoPágina para navegação

Response (200 OK)

Retorna um objeto de paginação do Laravel contendo a lista de clientes e suas respectivas contas bancárias associadas.

json
{
  "current_page": 1,
  "data": [
    {
      "id": 1,
      "name": "João da Silva",
      "document": "12345678901",
      "pix_recipients_count": 2,
      "pix_recipients": [
        {
          "id": 10,
          "pix_key": "joao@email.com",
          "bank_name": "Banco do Brasil",
          "account": "12345-6",
          "branch": "0001"
        },
        {
          "id": 11,
          "pix_key": null,
          "bank_name": "NuBank",
          "account": "98765-4",
          "branch": "0001"
        }
      ]
    }
  ],
  "total": 1
}

Endpoint

[POST] /pix/lookup

Consulta os dados de uma chave Pix antes de realizar a transferência.


Request Body

json
{
  "key": "usuario@pix.com.br"
}

Response (200 OK)

json
{
  "name": "Nome do Correntista",
  "document": "12345678901",
  "bank_name": "Banco Exemplo S.A.",
  "bank_ispb": "12345678"
}

Endpoint

[POST] /pixout/pix-key

Realiza uma transferência direta via chave Pix (sem necessidade de código, se habilitado).


Request Body

json
{
  "key": "usuario@pix.com.br",
  "value": 50.00
}

Response (201 Created)

json
{
  "txid": "directpixout123",
  "status": "success",
  "message": "Transferência realizada com sucesso."
}

Erros Globais

500 Internal Server Error

json
{
  "message": "Erro inesperado no servidor.",
  "exception": "..."
}

Documentação para Desenvolvedores