All of my code is working correctly with my sandbox credentials but as soon as I switch to the live version I start getting an error. The error is E00007 "User authentication failed due to invalid authentication values".
I have checked and rechecked my authentication values and they are correct. I submitted a ticket to Authorize and they just keep parroting back that error E00007 is because my authentication values are wrong.
11-28-2017 09:13 AM
Here's a quick helpful reference for authentication issues:
Be sure your form is posting the nonce token to the correct URL. This is the most common issue I've seen, where developers left the Sandbox url in the form action.
Production:
https://accept.authorize.net/payment/payment
Sandbox:
https://test.authorize.net/payment/payment
Be sure you are posting to the correct API Endpoint. This is less common, but I've seen developers leave the Sandbox endpoint in the code.
Production:
https://api.authorize.net/xml/v1/request.api
Sandbox:
https://apitest.authorize.net/xml/v1/request.api
Least common, but still an issue (especially with JAVA): Verify your server can connect to TLS 1.0 and TLS 1.2.
Production currently uses TLS 1.0 and Sandbox uses TLS 1.2.
Hope this helps and good luck sir.
Edit: Please take care when writing your nodes (for xml) or keys (for json), they are case sensitive AND they must be written in order of the API documentation. If you have them out of order, it will give errors that do not make sense (like authentication errors even when everything is correct).
12-01-2017 11:21 AM - edited 12-01-2017 11:28 AM
I have reset the authentication codes and can now generate a token in the live enviroment.
When I try to submit payment information however I get the user authentication error.
@NickL- I have double checked all of these things and they are all set correctly.
12-04-2017 08:56 AM
Switched everything back to sandbox mode and it worked fine, still totally stumped..
12-06-2017 08:18 AM
Can you trying something to find where the actual issue is, in sandbox mode change the API credentials to something random, and see if it fails.
I'm suspecting that wherever you are setting up the credentials, the code is not picking from there.
If the request fails than I will be wrong.
If you can post some logs or the code block it will help us to understand better.
Regards
12-07-2017 09:31 AM