data.id é sempre o código da cobrança (BKY-). Valores em centavos.
payment.created e payment.expired
payment.paid
Os mesmos campos, mais a tarifa e os dados do pagamento:
No cartão, o evento chega assim:
payer: nome, CPF mascarado e banco) está em GET /v1/payments/{id}.
payment.refunded
amount é o valor devolvido neste estorno (pode ser parcial); um evento por estorno concluído. Some os estornos do mesmo BKY- para saber o total devolvido, ou leia refundedAmount em GET /v1/payments/{id}.
O jeito certo de tratar
- Libere o pedido só em
payment.paid.payment.createdserve para registrar; não entregue nada por ele. - Confira o valor. Compare
data.amountcom o valor do seu pedido antes de liberar. - Cartão aprovado já é venda. Libere o pedido no
payment.paiddo cartão;availableAtdiz só quando o dinheiro fica disponível para saque. - Pago depois de expirar acontece. Se o seu sistema já marcou o pedido como expirado,
payment.paiddo mesmoBKY-reabre e libera. - Ordem não é garantida.
payment.paidpode chegar antes depayment.created. Trate pelotypee pelodata.id. - Dedupe pelo
iddo evento. O mesmoevt_chega em todas as URLs e em todo reenvio. - Estorno parcial é comum. Não cancele o pedido inteiro em
payment.refundedsem olhar oamount.