O pix foi concluído e confirmado
Mesma assinatura (X-IDSAAS-Signature), mesmos headers e mesma escada de retentativas dos eventos de verificação; deduplique pelo id do evento. Chega no webhook do flow do pagamento. Libere o pedido só por este evento, com a assinatura conferida: a volta do navegador de quem paga nunca prova pagamento. paid_at e end_to_end_id vêm preenchidos.
Cabeçalhos
Assinatura HMAC (pode trazer mais de um v1 durante rotação de segredo).
Tipo do evento.
"pix_payment.succeeded"Corpo
Envelope dos eventos pix_payment.*. Mesma assinatura, headers e escada de retentativas dos eventos de verificação. O data é o objeto pix_payment com payer_url null, e o status é o do fato que o evento anuncia (um pix_payment.expired nunca diz succeeded; o fato seguinte tem o seu evento).
Id estável do evento (deduplique por ele): evt_<pix_payment_id>_, um por pagamento e evento.
pix_payment.succeeded, pix_payment.failed, pix_payment.expired, pix_payment.refunded Um pagamento por biometria. Nada de quem paga sai neste objeto. Campo novo pode surgir sem subir a versão: ignore chave desconhecida.
Resposta
Confirmação de recebimento. Qualquer 2xx conta; processar depois, responder já.