Répondez 2xx dès réception et traitez en asynchrone. Un traitement synchrone lent finit par dépasser le délai d'attente et déclenche des relances, donc des doublons de votre côté.
Chaque envoi porte un identifiant stable : utilisez-le comme clé d'idempotence pour ignorer un doublon.