Is there a timeout implemented on your side to prevent duplicate transactions?

There is no timeout in duplicate transactions because each transaction is created as a new transaction.