Skip to main content
Catorze operações cobrem o dinheiro da empresa: quanto tem, de onde veio, quanto a Ephra cobra, para onde vai e o que está retido. Este guia percorre um dia típico: conferir saldo, olhar o extrato, entender as taxas e sacar.
Tudo em centavos. 83470 é R$ 834,70.

1. Confira o saldo

available entra num saque. receivable é o que a antecipação pode adiantar.

2. Leia o extrato

Cada linha é um lançamento, com o saldo resultante já calculado:
sourceId aponta para a venda ou o saque que originou a linha, e sourceType diz qual dos dois. É por esse par que você reconcilia o extrato da Ephra com o seu ERP. direction só aceita credit ou debit. Mandar in ou out responde 422 com a lista de valores válidos. Para fechar o mês sem somar linha por linha, peça os totais agrupados:

3. Entenda o que a Ephra cobra

feePercentage é base 100: 299 significa 2,99%, não 299%. feeFixed é centavos: 99 é R0,99.UmavendadeR 0,99. Uma venda de R 499 no Pix custa 49900 * 0.0299 + 99 = 1591 centavos.
receiveDays é a carência em dias até o valor sair de receivable e virar available. reserve.percentage é quanto de cada venda fica retido, e por reserve.days dias.

4. Cadastre para onde o dinheiro vai

Para cadastrar ou trocar, POST /v1/bank-account grava por cima:
A chave Pix efetiva do saque fica em GET /v1/pix-key:
A conta de recebimento precisa estar no mesmo CPF/CNPJ da empresa. Chave de terceiro é recusada.

5. Peça o saque

O saque exige uma idempotencyKey. Sem ela, 422:
A resposta é uma lista: um pedido pode ser quebrado em mais de uma transferência conforme a origem do dinheiro. Some netAmount para saber o que cai na conta — 50000 menos a taxa de 350.

A idempotência funciona de verdade

Repita a mesma chamada, com a mesma idempotencyKey, e a resposta traz o mesmo id. O saldo cai uma vez só:
83470 − 50000 − 350 = 33120. Dois POST idênticos, um único débito.
Gere a idempotencyKey a partir de algo estável do seu lado — o id do lote de pagamento, a data mais um contador — e não de um UUID aleatório por tentativa. Um UUID novo a cada retentativa transforma a proteção em duplicidade.
Acompanhe pelo status, lendo o saque de volta:
pending_analysis significa que o saque entrou na fila de conferência. endToEndId só é preenchido quando o Pix sai de fato — é o comprovante que o banco do destinatário reconhece. O evento em tempo real é transfer_completed.

6. Antecipe o que ainda não liberou

Antes de pedir, simule:
Sem volume em carência, a resposta é um 400 que explica o limite:
O teto é 60% do volume já liberado. Com folga, a simulação devolve o custo e o líquido — e aí sim vale efetivar:
A idempotencyKey é obrigatória nesta rota. Sem ela a chamada nem chega à regra de negócio:
Ela existe porque antecipar é irreversível e tem taxa: repetir o POST com a mesma chave devolve a antecipação já criada, em vez de antecipar duas vezes e cobrar duas taxas. É o que protege você ao repetir a chamada depois de um 429, de um 5xx ou de um timeout de rede. Reenviar a mesma chave com um amount diferente responde 400.
Derive a chave de algo estável do seu lado — o id do lote, a data mais um contador —, nunca de um UUID novo por tentativa: aí a proteção vira duplicidade. automaticTransfer: true (o padrão) credita o líquido no saldo assim que a adquirente liquidar.

7. Veja o que está preso

Quando infractionId vem preenchido, o bloqueio tem uma contestação por trás — acompanhe em Reembolsos.

Todas as operações do domínio

Saldo e extrato

Saldo em três partes, lançamentos e totais por tipo.

Saques

Pedir, listar e consultar, com idempotência.

Antecipações

Simular o custo e efetivar.

Taxas e conta

Taxas por meio de pagamento, conta bancária e chave Pix.