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
datao 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 pelodata.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
- 200
- 404
- 422
Comando de aprovação do lote
Lote de Pagamento não encontrado
Não foi possível gerar o comando