AMEX transaction IDs are subject to change. Read more about it here. Because of this, you may end up with duplicated transactions.
Solution
Make sure to overwrite previously cached transactions instead of merging them to avoid duplicates.
More
Read more about how we can generate transaction IDs and possible workarounds here.