Tuesday, March 4, 2014

Authorize.Net Error Message: (13) The merchant login ID or password is invalid or the account is inactive.

I was working with integrating Authorize.Net into my E-Commerce Application when I received the following error message from Authorize.Net:

(13) The merchant login ID or password is invalid or the account is inactive.

I only received this error message when using my Merchant Account, but when I used my Developer Sandbox account, my transactions processed successfully!

I could not understand why this error was occurring since it seemed that the Merchant Account was successfully set up.

Therefore, I decided to download the sample code and try posting some sample transactions myself with the Merchant Account Login ID and Transaction Key.

I followed the directions in the sample code and strangely enough, the transactions succeeded!

Therefore, there was definitely something else wrong with the system and I was determined to find out the root cause.

After looking through the sample code and the configuration of my E-Commerce Site, I came across this tidbit of information:

By default, this sample code is designed to post to our test server for
developer accounts: https://test.authorize.net/gateway/transact.dll
for real accounts (even in test mode), please make sure that you are
posting to: https://secure.authorize.net/gateway/transact.dll

Based on my E-Commerce configuration, it seemed as though it was submitting my Merchant ID to the wrong Url!!

Therefore, I decided to try this for myself in my sample code.  Instead, of submitting to https://secure.authorize.net/gateway/transact.dll, I submitted to https://test.authorize.net/gateway/transact.dll.  And, as you can probably guess, I received the EXACT same error message!

Therefore, when you are setting up and configuring your accounts for the Authorize.Net Payment Gateway, you must follow these rules:

  1. For the Developer Sandbox account, you must ALWAYS use https://test.authorize.net/gateway/transact.dll
  2. For a Merchant account, you must ALWAYS use (even in TEST MODE) https://secure.authorize.net/gateway/transact.dll.  
Hopefully this should clear up some confusion for developers who experience this error when submitting transactions to the Authorize.Net Payment Gateway.

1 comment: