- como o repasse entra nele e como sai;
- quem provoca a mudança: a Delfinance, o gestor do marketplace pela API ou a instituição do beneficiário;
- onde está o dinheiro;
- se o status é final.
status do repasse, como enum (name, description e value). Use sempre o name na sua integração. Veja Formato dos enums.
Visão geral
Ciclo de vida
O ciclo está dividido em dois diagramas, para evitar setas cruzadas. Nos diagramas, os status finais têm borda arredondada e a marca (final).Agendamento, execução e reprocessamento
Pausa, cancelamento e devolução
Status e significados
Transições permitidas
Qualquer transição que não está nesta tabela não acontece. Se você pedir uma ação num status que não a aceita, a API recusa o pedido.
Algumas ações não mudam o status:
Regras de negócio
Agendamento
- A data do repasse é definida na instrução de split do QR Code, por
daysUntilPayment(dias corridos após o pagamento) ou porpaymentDate(data fixa). Veja Agendar um repasse. - A data calculada por
daysUntilPaymentaparece empaymentDatenas consultas. - Os repasses agendados saem na rodada diária, às 6h (horário de Brasília), na data do repasse.
- O split padrão da conta não tem agendamento: os repasses nascem em
PENDING.
Pausa e liberação
- Só um repasse em
SCHEDULEDpode ser pausado (HOLD). - Em
HOLDING, o repasse não é executado, nem na data prevista. Você ainda pode mudar a data, devolver parte do valor ou cancelar. RELEASEdevolve o repasse paraSCHEDULED. Para liberar com uma nova data, enviepaymentDatejunto.
Execução
O valor só sai da conta de recebimento na execução. Mantenha saldo para os repasses agendados.
Erros e reprocessamento
- Em
ERROR, o motivo vem emerrorMessage, e o valor fica na conta de recebimento. - Depois de corrigir a causa, por exemplo, recompondo o saldo, reprocesse o repasse. Ele volta para
PROCESSING. - Se a causa não puder ser corrigida, como uma conta do beneficiário encerrada, cancele o repasse. Os dados do beneficiário não podem ser alterados.
- A falha de um repasse não afeta os outros repasses da mesma ordem de recebimento com split.
Cancelamento
- É aceito em
SCHEDULED,PENDING,HOLDINGeERROR, e é irreversível. - O valor fica na conta de recebimento. Nenhum dinheiro é movimentado.
PENDINGcostuma durar poucos segundos. Para ter tempo de cancelar, agende o repasse.
Devolução integral
- A devolução envia um Pix de devolução do pagamento original ao cliente final, com o valor saindo da conta de recebimento, e desconta esse valor do repasse.
- Só é aceita em
HOLDING. Para devolver, pause o repasse antes comHOLD, o que exige que ele esteja agendado (SCHEDULED). Depois deSUCCESS, o dinheiro já está com o beneficiário. - O repasse vai para
REFUNDEDsó quando o total devolvido chega ao valor original. Com devoluções parciais, ele continua emHOLDINGe, depois de liberado comRELEASE, é executado com o valor restante.
Campos relacionados ao status
Veja a estrutura completa do repasse em Listar repasses.
Exemplo de um repasse em
ERROR, com os campos de status:
Exemplos de jornada
Repasse imediato para conta Delfinance
Repasse imediato para conta Delfinance
PENDING → PROCESSING → SUCCESS, em segundos, logo após o pagamento.Repasse por Pix agendado para 30 dias
Repasse por Pix agendado para 30 dias
Instrução com
daysUntilPayment: 30 e transferType: PIX_KEY. O repasse nasce em SCHEDULED, com paymentDate igual ao dia do pagamento mais 30 dias. Na data, às 6h, vai para PENDING e depois para PROCESSING. Termina em SUCCESS quando o Pix é confirmado.Disputa resolvida com devolução parcial
Disputa resolvida com devolução parcial
SCHEDULED → HOLD → HOLDING. Uma devolução de parte do valor diminui o amount, e o status continua HOLDING. Depois, RELEASE → SCHEDULED. Na data, o repasse é executado com o valor restante.Venda desfeita por inteiro
Venda desfeita por inteiro
Com o repasse em
HOLDING, você pode cancelar (CANCEL → CANCELED, e o valor fica na conta de recebimento) ou devolver todo o valor ao cliente final (devolução total → REFUNDED).Falha por saldo insuficiente
Falha por saldo insuficiente
Na data,
PENDING → PROCESSING → ERROR, com o motivo em errorMessage. Depois de recompor o saldo, reprocesse: ERROR → PROCESSING → SUCCESS.
