Captura e reembolso simultâneos
Entenda como as solicitações de captura e reembolso sobrepostas são validadas e serializadas nos fluxos de pagamento suportados da DEUNA.
Nesta página
A DEUNA pode serializar solicitações de captura ou reembolso sobrepostas para a mesma transação nos fluxos suportados. A serialização protege o cálculo do saldo acumulado: após uma solicitação atualizar a transação, a próxima solicitação é validada contra o novo saldo.
Quais garantias a serialização oferece#
Para um fluxo habilitado para concorrência, a DEUNA processa a seção de alteração do saldo de cada solicitação de forma sequencial para a mesma transação. Isso impede que duas solicitações sobrepostas sejam validadas contra o mesmo saldo desatualizado.
A serialização não garante que todas as solicitações sobrepostas sejam bem-sucedidas. Após a solicitação anterior ser aplicada, uma solicitação posterior pode ser rejeitada porque:
- O valor excede o saldo restante disponível para captura ou reembolso.
- O processamento de corte já finalizou a sequência MPC ou MPR.
- Uma solicitação anterior finalizou a sequência de captura ou reembolso.
- O status da transação não permite a operação.
- O processador ou a conexão não suportam a operação parcial solicitada.
Solicitações para diferentes transações ainda podem ser processadas de forma independente.
Orientações para integração do comerciante#
- Utilize os endpoints existentes de captura e reembolso; não existe um endpoint separado para concorrência.
- Atribua uma identidade única para cada operação pretendida. Uma tentativa de repetição do cliente e uma segunda operação financeira não são a mesma coisa.
- Não calcule o próximo valor a partir de um status armazenado em cache ou de uma única resposta. Obtenha o pagamento mais recente e reconcilie seu histórico de operações.
- Trate
partial_capturing,capturing,partial_refundingerefundingem estados não resolvidos. - Processar webhooks de forma idempotente e armazenar identificadores e valores das operações, não apenas o status do pagamento.
- Se houver uma disputa, trate o cancelamento de saldo, o limite de corte, o status final ou o status inválido como um resultado de validação autoritativo. Não tente reexecutá-lo como uma nova operação financeira sem primeiro obter o pagamento.
Escopo e limitações#
Este comportamento se aplica aos fluxos de captura e reembolso suportados. Não faz com que as solicitações de autorização ou cancelamento façam parte da mesma sequência serializada de operações parciais.
As chamadas ao processador ainda podem ser assíncronas. A serialização protege a atualização do saldo da DEUNA, mas não pode transformar um tempo limite do processador ou uma resposta pendente em um resultado final imediato. Aguarde um status confirmado antes de realizar a entrega ou comunicar ao cliente.
Para agregação e limites de captura, consulte MPC — Múltiplas Capturas Parciais. Para agregação e limites de reembolso, consulte MPR – Reembolsos Parciais Múltiplos.