There is an audit trail for any electronic banking transaction, which is why it beats cheques in the post hands down. The trouble is, getting the banks to invoke it when necessary. It is time consuming and can be expensive for them. But it is their responsibility.
As BillyA says, contact your own bank and ask them to start the ball rolling. It's a good idea to contact Amazon first and ask them which bank they initiated the transaction with along with any relevant details they can offer, telling them of your intentions (it may spur them to get their fingers out). The more, and the more accurate, information you can give your bank, the easier it makes it for them to chase it through for you.
A month is a preposterously long time for an electronic money movement to get stuck. I'd have been way up the Amazon chain of command by now and demanding to speak directly to their bank. Two weeks, frankly, is a b****y joke. Two hours, more like.