Pular para o conteúdo principal

Aprovar um Lote de Pagamento

PUT 

/v2/payment/batches/:uid/approve

Processamento Assíncrono: Este endpoint é processado assincronamente e cria um comando de aprovação para o Lote de Pagamento. A resposta traz em data o comando de aprovação do lote. Esse comando é a autorização do lote: cada pagamento apto (aguardando aprovação e com registro confirmado) é liberado separadamente na instituição financeira sob essa autorização, inclusive os que ficarem aptos depois desta chamada. Você pode consultar o comando a qualquer momento pelo data.uid.

Idempotência​

Repetir a chamada enquanto a autorização estiver em pé (comando pending ou confirmed) e o lote ainda estiver aguardando aprovação responde 200 com o mesmo data.uid e libera apenas os pagamentos que ficaram aptos desde a chamada anterior. Um data.uid diferente só aparece quando a autorização anterior deixou de valer:

  • o lote foi reprovado antes da primeira liberação (o comando anterior fica interrupted);
  • a instituição financeira recusou a liberação de todos os pagamentos (o comando anterior fica failed).

A resposta 422 com Nenhum pagamento do lote está apto a ser aprovado. ocorre quando não há autorização em pé e nenhum pagamento do lote pôde ser enviado (nenhum pagamento do lote está apto ou o provedor financeiro não oferece a operação via API).

Aprovação não atômica​

Cada pagamento é liberado separadamente. O comando vai a confirmed na primeira liberação; o status do lote só vai a approved quando todos os pagamentos forem liberados. Acompanhe cada pagamento pelo status dele.

Controle por item​

Para liberar um pagamento por vez, use a aprovação do próprio pagamento: PUT /api/v2/payments/{uid}/approve. Cada chamada cria um comando só para aquele pagamento, que precisa estar apto. Uma aprovação do lote feita depois não duplica a liberação: pagamentos com aprovação já em andamento são ignorados.

Eventos de Webhook​

  • payment.payment_batch.approve.requested: quando a requisição é realizada.
  • payment.payment_batch.approve.confirmed: na primeira liberação, com os demais pagamentos ainda em processamento.
  • payment.payment_batch.approve.failed: quando a instituição financeira recusa a liberação de todos os pagamentos.

Request​

Responses​

Comando de aprovação do lote