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
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| Authorization | Bearer Token | Sim | Token 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
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| status | integer | Não | 0 = Pendente, 1 = Concluído, 2 = Falha |
| per_page | integer | Não | Itens por página |
| page | integer | Não | Pá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
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| search | string | Não | Filtro por nome, documento, chave Pix, banco, agência ou conta |
| per_page | integer | Não | Itens por página (default: 15) |
| page | integer | Não | Pá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": "..."
}