I'm having a little trouble interpreting an error message i'm recieving while trying to implement Accept.js to replace our current Direct Post functionality on a Magento store.
E_WC_17:User authentication failed due to invalid authentication values.
Looking up this error on https://developer.authorize.net/api/reference/features/acceptjs.html
E_WC_17 | Please provide valid card holder name. |
I've tried implementing the optional fields according to:
Property Type Description
cardNumber | String | Must be a valid 13-16 digit card number. Required. |
month | String | 2-digit month. Required. |
year | String | 2-digit year. Required. |
cardCode | String | 3 or 4-digit card validation value (CVV). Optional. |
zip | String | 20-character alphanumeric postal code. Optional. |
fullName | String | 64-character alphanumeric cardholder name. Optional. |
Still no luck, i've verified the Client Key, generated a new one as well. The API Login is correct as well. I'm also using the testing JS "https://jstest.authorize.net/v1/Accept.js"
Any idea what this error really means?
Thanks!
12-23-2016 08:30 AM
Hi @amazedchili,
In my experience, the E_WC_17 error is always because of a problem with the authorization credentials (the API Login ID or the Public Client Key). I don't know why the error codes in that documentation would steer you so wrong, but I'll look into that ASAP.
For further troubleshooting, re-verify the Public Client Key and the API Login ID. I know you said you've already reissued the client key, but double or triple-check everything to be sure.
The other common gotcha is to make sure that you're using your test credentials if you're calling the test script. Since you're calling the test script that runs in the sandbox environment, you have to have a sandbox account with it's own credentials. Live credentials won't work on sandbox or vice versa. When you're managing or reissuing the public client key, make sure you're logged in to https://sandbox.authorize.net.
Let us know how that goes!
12-27-2016 11:27 AM
I'm having the same exact problem. The error message I'm seeing is
E_WC_17:User authentication failed due to invalid authentication values.
The code, E_WC_17, as the documentation claims, is for "Please provide valid card holder name." but the message that accompanies it is related to authentication.
I've also tried regenerating my sandbox transaction key, with no change in response.
I wonder, do we need to be setting some client-side equivilent of x_test_request to test in order to use the sandbox accounts?
02-14-2017 08:27 PM
Hi @jenlampton,
There are some known issues with getting the right code at the right time for some of the error reporting in Accept.js, but those should be fixed soon. In the meantime, if the text you're receiving states an authentication error, it's likely that your issue is indeed related to authentication.
There's no test transaction flag that needs to be sent to use Accept.js in the sandbox. The only thing you need to do is load the script from the test location (https://jstest.authorize.net/v1/Accept.js).
The important thing to remember, though, is that you're not using your regular sandbox transaction key to use Accept.js. If that's what you're trying with Accept.js, that would explain the error.
Any credentials you use for Accept.js will be exposed in the browser, so we have you use a special client key that's only for Accept. That way, someone taking your credentials out of the browser would only be able to use them to generate card tokens, not for any transaction processing or anything like that.
We call his special client key the "public client key". If you haven't already, go back to the documentation and read through the section "Obtaining a Public Client Key". That will walk you through the steps of generating a public client key to use with Accept.js.
Hope that helps!
02-15-2017 08:42 AM
Thanks Aaron, I think that was it! For some reason I had assumed the public client key and the transaction key were the same thing, but the documentation is very clear. I've generated a new public client key for the sandbox account and I'm not getting the error anymore. Thank you!
02-20-2017 03:21 PM
No problem @jenlampton. The documentation is clear, but only if you already know those are two different things. A few people are still getting caught by that, though, so I'm trying to find ways to make it even more clear.
Thanks for the feedback!
02-21-2017 09:03 AM
I came across this thread because I'm having this problem in production. Within the course of an hour, without making any changes to the client credentials, I'm getting successful transactions and transactions rejected for this reason.
Any pointers appreciated.
07-13-2017 10:58 AM
Hi @leehinde,
If that's happening in production, we'd need to have someone look into it, maybe analyzing logs and error reports on our side. Could you open up a ticket with our support team?
07-13-2017 11:01 AM
HI;
Is that the developer@ email, or do I have the client initiate from within their portal?
07-13-2017 12:49 PM
Hi @leehinde,
The developer@ email is for general developer questions (kind of like this forum). For an issue with a production system like this, you'll need an actual ticket that can be tracked and escalated and such.
Easiest way to open that might be to call our support department at (877) 447-3938 and provide the merchant info. There's also an ability to open an e-ticket from within the merchant interface.
07-13-2017 01:03 PM