Conceito de Idempotência
Nossa plataforma usa o conceito de idempotência (para mais detalhes, ver este link) . Assim, ao executar uma transação, um transactionID será gerado e essa operação é refletida no extrato da conta.
Envio e tratamento de callbacks
A fins de facilitar a comunicação e garantir melhor experiência, enviamos callbacks referente a eventos de transações. Para garantir que a comunicação seja realizada, eventualmente uma callback pode ser enviada mais de uma vez. Esse é um comportamento desejável, por exemplo, em situações onde a rede falhou. Nestes casos, ao identificar que a callback não chegou, envia-se novamente.
Porém, independente do número de vezes que uma callback é enviada, ela terá sempre o mesmo transactionID (conforme o conceito de idempotência, que é um conceito já antigo em se tratando de REST APIs).
É dever do receptor da callback identificar se aquele transactionID já foi tratado e lidar com eventuais repetições.