While I don't have automated billing on my account, so I wasn't impacted, a lot of people were.
I recommend reading through some of the comments as well as the post itself.
A great lesson in why
1) You should try to avoid coding involving money if you can.
2) If you can't avoid it, you should be utterly paranoid while writing said code.
3) If the code then breaks, you should treat the situation extremely seriously.