Authorize.net – User authentication failed due to invalid authentication values

So you've worked hard to integrate your website with authorize.net and now you're ready to turn it on and make the big bucks. You run your first real transaction and get:

User authentication failed due to invalid authentication values. code="E00007"

or

This account has not been given the permission(s) required for this request.

or

E00007 User authentication failed due to invalid authentication values

You pull your hair out. You swear a lot. Then you calm down. Log into your Authorize.net account and get click on "API Login ID and Transaction Key". You probably used your login and password to access the gateway. Use the api login and key and you are good to go.

UPDATE: As Kerry pointed out you might also want to make sure you aren't pointed at the test gateway. Your production credentials won't do you any good there.