Pagamentos
Criar pagamento
Envia um pagamento de saída a partir do saldo do Merchant. Escolha o trilho em method e o destino conforme o caso. O valor é reservado na hora; o resultado chega por webhook.
POST
/v1/payoutsHeaders
x-api-keystringobrigatórioSua chave de API com escopo payout:write.
Idempotency-KeystringobrigatórioChave única da operação (mín. 8 caracteres). Reenvios retornam o mesmo pagamento e nunca duplicam a transferência.
Corpo da requisição
methodenumopcionaldefault: pixTrilho:
pix (instantâneo) ou ted (SPB, outros bancos).amountintegeropcionalValor em centavos. Obrigatório, exceto em PIX
pix_code (o valor vem embutido no copia-e-cola).pix_keystringopcionalPIX por chave. Chave do recebedor (CPF, CNPJ, e-mail, telefone ou aleatória). Exige
end_to_end_id.end_to_end_idstringobrigatórioObrigatório com
pix_key. O end_to_end_id devolvido por POST /v1/pix/dict/lookup para essa mesma chave. Vale 12 horas e serve para um único pagamento.pix_codestringopcionalPIX copia-e-cola. EMV BR Code dinâmico (com valor). Dispensa
amount.recipientobjectopcionalConta bancária. Obrigatório em TED; em PIX, transfere manualmente para uma conta. Veja os campos abaixo.
finalitystringopcionaldefault: 10Apenas TED. Código de finalidade (purpose).
99999 (Outros) exige description.descriptionstringopcionalDescrição do pagamento (máx. 140 chars).
referencestringopcionalIdentificador livre do seu lado (máx. 140 chars). Ecoado na resposta.
webhook_urlstringopcionalURL que recebe os eventos deste pagamento (
pix.out.completed, pix.out.failed, ted.out.completed, ted.out.failed). Complementa os webhooks configurados no Merchant. Ecoada na resposta.webhook_secretstringopcionalSegredo (mín. 8 chars) usado para assinar a entrega deste webhook (HMAC-SHA256 no header
x-onnix-signature). Nunca é retornado.O objeto recipient
namestringobrigatórioNome do titular da conta.
documentstringobrigatórioCPF (11 dígitos) ou CNPJ (14 dígitos), só números.
bank_ispbstringobrigatórioISPB do banco do recebedor (8 dígitos).
branchstringobrigatórioAgência, sem dígito.
accountstringobrigatórioNúmero da conta, sem o dígito verificador.
account_digitstringopcionalDígito verificador da conta.
account_typeenumopcionaldefault: checkingchecking (corrente) ou savings (poupança).Acompanhe o resultado por webhook
O payout nasceprocessing. Quando a rede confirma, enviamos pix.out.completed ou ted.out.completed; se falhar, pix.out.failed / ted.out.failed e a reserva volta ao saldo. Configure os eventos em Webhooks.Pagar por chave exige consultar antes
Um payout compix_key só é aceito com o end_to_end_id devolvido por POST /v1/pix/dict/lookup para aquela mesma chave. São sempre duas chamadas: consulta a chave, confirma o recebedor com o pagador, e paga reenviando o id. Sem o campo a resposta é 422 PAYOUT_END_TO_END_ID_REQUIRED.O motivo é o DICT: cada consulta gasta uma unidade do saldo de consultas da conta, e o pagamento só a devolve se reenviar o id daquela consulta. Se a API consultasse por conta própria dentro do payout, o saldo se esgotaria e os saques passariam a falhar com
429 para todo mundo.O id expira em 12 horas e vale um pagamento. Se você receber
422 PIX_DICT_LOOKUP_EXPIRED, consulte a chave de novo e refaça o payout com o id novo. Pagamentos por pix_code ou recipient não usam esse campo.TED é para outros bancos
TED entre contas do mesmo banco é recusada pela rede. Para destinos na própria instituição, usemethod: "pix".Requisição
curl https://apiv2.onnixpay.com/v1/payouts \
-X POST \
-H "x-api-key: sk_live_sua_chave_aqui" \
-H "Idempotency-Key: saque-7781" \
-H "Content-Type: application/json" \
-d '{
"method": "pix",
"amount": 5000,
"pix_key": "maria@exemplo.com",
"end_to_end_id": "E1393589320260828143000s0a1b2c3d4",
"description": "Repasse de comissão",
"reference": "saque-7781",
"webhook_url": "https://seu-app.com/webhooks/onnix"
}'Resposta
{
"id": "019e9045-8a9b-7f76-9017-297fcf4fd5cf",
"object": "payout",
"method": "pix",
"status": "processing",
"amount": 5000,
"currency": "BRL",
"end_to_end_id": null,
"recipient": {
"name": "Maria Souza",
"document": "12345678909",
"bank_ispb": "60701190",
"branch": "0001",
"account": "123456",
"pix_key": "maria@exemplo.com"
},
"description": "Repasse de comissão",
"reference": "saque-7781",
"webhook_url": "https://seu-app.com/webhooks/onnix",
"failure_reason": null,
"created_at": "2026-06-04T01:35:37.115Z",
"completed_at": null,
"failed_at": null
}