Just thought I'd throw this out there.
If you make a new Amazon.com account, register your credit/debit card, and expect to buy an Online Game Code for Microsoft Points, you're sorely mistaken.
Amazon.com will charge your credit card and then withhold the code for "up to four hours".
They are also experiencing a glitch where you can't add a new credit card with a different billing address (e.g. your friend can't buy stuff with their card on your account) but this shouldn't affect many people, and they're probably/hopefully working on fixing it.
For those willing to read a bit, here's the full story:
My brother-in-law wanted Microsoft Points, and his girlfriend and I came up with this brilliant idea: She'd put her credit card on my Amazon.com account, and we'd buy the points code with her credit card. Well, the glitch in their system prevented that -- it wouldn't accept her card with her billing address, it required her card to use my billing address, which caused it to be declined -- so she made a new account.
With her new account, she tried to buy the points code, but was told since her account is new and the credit card hadn't been used (successfully) there before, they would hold the points for four hours. For some reason she tried again, and ended up making a second transaction, which was also held, but that's on her.
You never experience this feature if they mail something to you, because the four hours, at worst, causes a one-day delay in shipping. They always estimate a day late anyway, so you don't see it.
So anyway, since he had the Xbox at my place, he wanted his code Right Away. Well, turns out his girlfriend had the cash, but she left it at home for whatever reason. So I followed them home, he got his money, we went to GameStop, he got his code the old-fashioned way, and we started loading his Xbox up with songs and Geometry Wars.
Come to find out Amazon still charged their card for $40. His girlfriend's called and tried to get it reversed, but they're actually fighting her on it. They can see that the code wasn't revealed (you have to solve a CAPTCHA to see it) and it definitely wasn't redeemed with Microsoft. Best case scenario, Amazon does the right thing, worst case scenario, he's got another 3200MSP (that they really can't afford) to play with.
Don't get me wrong -- Amazon.com is still the best way to get Microsoft points. What you do is, only spend cash (paper) money. Keep the coins in a jar. When you get enough, take the jar to a Coinstar and redeem for an Amazon.com gift code -- this also means the 8.9% coin counting fee gets waived. Depending on how long you saved, the coins could cover the entire code, or at least a good part of it. Nice way to gradually save up for points. Even if it is your first transaction, just be aware that you will have to wait four hours to get your code. (Or if you don't mind waiting, spend $25 or more in one transaction for free shipping, and have them send you a physical points card.)