cancel
Showing results for 
Search instead for 
Did you mean: 

User authentication failed due to invalid authentication values.

Hello:

 

I created an Accept hosted integartion. This integration works fine in sandbox mode, but fails in LIVE mode with the following error:

 

User authentication failed due to invalid authentication values.

 

I verified that my transactionKey and api_login_id are correct and that I am using the correct URL.

The settings on the auth.net account are set to LIVE.

 

What else could be the issue? I see banter about requiring a signature key also, but nothing in the docs.

 

Below is the code for the request:

 

<getHostedPaymentPageRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
        <name>{hidden api_login_id}</name>
        <transactionKey>{hidden transaction key}</transactionKey>
</merchantAuthentication>
<transactionRequest>
        <transactionType>authCaptureTransaction</transactionType>
        <amount>7.94</amount>
<order>
<invoiceNumber>138437174</invoiceNumber>
</order>
        <billTo>
         <firstName>MARK</firstName>
         <lastName>WEXLER</lastName>
         <company>WHIRLWIND INC</company>
         <address>9811 ASHBURTON LANE</address>
         <city>BETHESDA</city>
         <state>MD</state>
         <zip>20817</zip>
         <country>US</country>
      </billTo>
      <shipTo>
         <firstName>MARK</firstName>
         <lastName>WEXLER</lastName>
         <company>WHIRLWIND INC</company>
         <address>9811 ASHBURTON LANE</address>
         <city>BETHESDA</city>
         <state>MD</state>
         <zip>20817</zip>
         <country>US</country>
      </shipTo>

</transactionRequest>
<hostedPaymentSettings>
        <setting>
                <settingName>hostedPaymentBillingAddressOptions</settingName>
                <settingValue>{"show": true, "required":true}</settingValue>
        </setting>
        <setting>
                <settingName>hostedPaymentButtonOptions</settingName>
                <settingValue>{"text": "Pay"}</settingValue>
        </setting>
        <setting>
                <settingName>hostedPaymentReturnOptions</settingName>
                <settingValue>{"showReceipt" : false, "url":"https://www.breyerhorses.com/plugins/authnet_iframe_communicator.html","urlText":"Continue","cancelUrl":"https://www.breyerhorses.com/plugins/authnet_response.php?action=cancel","cancelUrlText":"Cancel"}</settingValue>
        </setting>
        <setting>
         <settingName>hostedPaymentShippingAddressOptions</settingName>
         <settingValue>{"show": false, "required":false}</settingValue>
</setting>
        <setting>
                <settingName>hostedPaymentStyleOptions</settingName>
                <settingValue>{"bgColor":"#B00"}</settingValue>
        </setting>
        <setting>
                <settingName>hostedPaymentIFrameCommunicatorUrl</settingName>
                <settingValue>{"url": "https://www.breyerhorses.com/plugins/authnet_iframe_communicator.html"}</settingValue>
        </setting>
</hostedPaymentSettings>
</getHostedPaymentPageRequest>

 

mwex501
Member
10 REPLIES 10

This is crazy. The lack of support from this company is seriously amazing. What could go wrong when you only have to change the login ID, transaction Key, and post URL? Apparently everything...

daskjeeves
Member

Hi @daskjeeves

 

 

Can you provide more details on the issue faced by you ?

 

please do note to use the correct url for sandbox and prod env as 

 

https://developer.authorize.net/api/reference/index.html#authentication 

 

 

Thanks

 

 





Send feedback at developer_feedback@authorize.net

Anurag, I took your course a few weeks ago and learning more about PCI compliance was the reason we decided to switch over to Accept Hosted and your form so our backend code doesn't have to touch the data.

 

The test version works perfectly, everytime. The only thing I do to switch to live is switch the login ID, transaction key, and POST url. Where is the endpoint supposed to go, in a script tag at the bottom of the page? Because I have certainly tried that, and also tried it as the form POST, to no avail.

 

The documentation just seems to be lacking, and based on a lot of the stuff I am reading even on this forum, it has been for years. 

 

Could you please list every step that needs to be taken to switch from the test version to the live version?

Hi @daskjeeves

 

Thanks for joining the Webinar . We are going to do updates to Accept Hosted Documentation  soon to make it clearer . 

 

 

The urls to be used for step 1 for calling  getHostedPaymentPageRequest

 

Sandbox API Endpoint: https://apitest.authorize.net/xml/v1/request.api

Production API Endpoint: https://api.authorize.net/xml/v1/request.api

 

 

For Step 2 where you need to post the hosted token , the urls are as below 

 

FORM POST URLS:

Sandbox: https://test.authorize.net/payment/payment

Production: https://accept.authorize.net/payment/payment

 

 

if you still having issues please reach out to me on developer_feedback@authorize.net and we will look into it further . 

 

Thanks

Anurag

 





Send feedback at developer_feedback@authorize.net

I have been trying for nearly a week and had live chats/phone calls with at least 8 authorize.net employees, and still no resolution. It shouldn't be this difficult, especially for the company providing the tool

I am having this same problem. Why does this thread end with no solution?

Has there still been no resolution? If anyone has found one pleas let me know.

I can't even use the sample merchant verification (PHP) script properly. It also throws a...

 

ERROR : Invalid response Response : E00007 User authentication failed due to invalid authentication values.

 

SOMEONE please respond? @administrator ?

@mrFreelancer201 @lasertoast 

 

An E00007 is only caused when the API Login, Transaction Key or corresponding endpoint are incorrect.

 

This may be simple, but let's walk through and confirm everything:

 

Sandbox:

 

<authenticateTestRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
	<merchantAuthentication>
		<name>78BZ5Xprry</name>
		<transactionKey>8s2F95Q7brhHd7Tn</transactionKey>
	</merchantAuthentication>
</authenticateTestRequest>

 

If that is successful, then try production

 

 

<authenticateTestRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
	<merchantAuthentication>
		<name>*</name>
		<transactionKey>**</transactionKey>
	</merchantAuthentication>
</authenticateTestRequest>

 

Richard

So then what about a "E_WS_21" error? I'm honestly not concerned about the Merchant Verification Script but rather, the biggest issue I'm having is that error when attempting to fetch a token via Accept.js.

 

I'm using the hosted form and I'm 1000% sure I'm using proper API Login ID and Public Client Key. Infact, re-generated the client key just to be sure. I essentially lifted the sample codes as described here: https://developer.authorize.net/api/reference/features/acceptjs.html#Using_the_Hosted_Payment_Inform...

 

However, it works perfectly fine in sandbox and I'm able to fetch a token, thus continue with Nonce.

 

Here's my exact code for obtaining a token...

 

<!-- START: Authnet Accept Hosted Form -->
<div class=\"authnetAcceptHostedWrapper\" data-open=\"0\">
<input type=\"hidden\" name=\"dataValue\" id=\"dataValue\" />
<input type=\"hidden\" name=\"dataDescriptor\" id=\"dataDescriptor\" />
<div type=\"button\" class=\"AcceptUI payByAcceptHostedSubmit\" data-progress=\"0\" data-default=\"Click Here to Pay by Credit Card\"
data-billingAddressOptions='{\"show\":true, \"required\":false}'
data-apiLoginID=\"{$apiLoginID}\"
data-clientKey=\"{$apiClientKey}\"
data-acceptUIFormBtnTxt=\"Continue\"
data-acceptUIFormHeaderTxt=\"Secured Payment Information\"
data-responseHandler=\"AuthnetAcceptHostedResponseHandler\">
Click Here to Enter Credit Card Details
</div>
<img class=\"authnetAcceptHostedCCEnteredIcon\" src=\"images/icon_checkmark_1.png\">
<!-- Load this php module's related JS Lib -->
<script src=\"js/module_authorizenet_accept_hosted.js\"></script>
</div>
{$authnet[$this->mode]}
<!-- END: Authnet Accept Hosted Form -->

 

$authnet[$this->mode]  points to "https://js.authorize.net/v3/AcceptUI.js"

 

That's as strait forward as it gets. Please tell me what I'm doing wrong for Live mode?