If (as seems likely) this was caused by duplicate billing, the fault is equally Amex’s as well as BA’s. Yes BA shouldn’t have sent the request twice, but Amex shouldn’t have allowed two payments to be made against the same ticket and should have blocked at source. It’s interesting in this context to see so much love for Amex but so much hate for BA.