Pular para o conteúdo principal

Pix Out (Cash Out)

Solicita o envio de um pagamento Pix (cash-out) para uma chave Pix informada.

MétodoPOST
Path/api/pix/out
AutenticaçãoAuthorization (Bearer token) + Channel-Id

Autenticação

Exige o header Authorization com um token válido e não expirado, emitido previamente para o integrador. Se ausente, mal formatado, ou o token for inválido/expirado, a API retorna 401 Unauthorized:

{ "error": "Token ausente ou inválido" }

ou

{ "error": "Token inválido" }

Também exige o header Channel-Id: <id_do_canal>. Se ausente, retorna 400 Bad Request:

{ "error": "Channel-Id header is required" }

Corpo da requisição

{
"value": 1500,
"receiver_name": "Fulano de Tal",
"receiver_cpf": "12345678900",
"receiver_email": "fulano@example.com",
"pix_key": "fulano@example.com",
"pix_key_type": "EMAIL",
"description": "Pagamento de serviço",
"additional_data": [
{ "name": "order_id", "value": "12345" }
]
}
CampoTipoObrigatórioDescrição
valueintegerSimValor do pagamento em centavos (ex.: 1500 = R$ 15,00). Deve ser maior que zero
receiver_namestringSimNome do destinatário
receiver_cpfstringSimCPF do destinatário
receiver_emailstringSimE-mail do destinatário
pix_keystringSimChave Pix de destino
pix_key_typestringSimTipo da chave Pix (ex.: CPF, CNPJ, EMAIL, PHONE, EVP/aleatória)
descriptionstringSimDescrição/memo do pagamento
additional_dataarrayNãoLista de pares name/value (metadados livres). Ver regras abaixo

Regras de additional_data

  • Cada item deve ter name e value não vazios (após trim).
  • O JSON serializado de todo o array não pode exceder 2048 bytes.

Respostas

201 Created — pagamento aceito para processamento:

{ "id": "b3f1c2d4-..." }

400 Bad Request — validação falhou (campo obrigatório ausente, additional_data inválido, Channel-Id ausente, ou a solicitação foi rejeitada):

{ "message": "Todos os campos são obrigatórios" }

ou, quando a rejeição está associada a uma transação já registrada:

{ "id": "b3f1c2d4-...", "message": "<motivo da rejeição>" }

Observações

  • Todos os campos do corpo (exceto additional_data) são obrigatórios.