Authorize.net fails with error message but no error code.

  • Posts: 141
  • Thank you received: 3
  • Hikashop Business
1 year 8 months ago #343950

-- HikaShop version -- : 4.6.1
-- Joomla version -- : 4.1.5
-- PHP version -- : 7.4.30

I'm working to set up an Authorize.net sandbox account, since we're still suffering some instability using the Stripe payment plugin on Chrome browsers. We're forcing SSL, communicating with their sandbox URL, using the AIM API, and we seem to be logging in to the sandbox properly - at least, we're not getting a login error since we discovered a typo in our initial settings. All seems stable except that every purchase attempt returns an Authorize.net error message:

"There was an error while processing your transaction:"

but it includes no error codes or additional information, so I have no information to guide me to the next step of troubleshooting. The order remains in Joomla's memory - no order is cancelled, created or confirmed. The Hikashop Payment Log File contains no information about each attempt, and Joomla's "Everything" log seems to be recording an uncaught throwable RouteNotFoundException with each attempt, but it has no impact on the browser redrawing the checkout page which includes the aforementioned Authorize.net error message.

I'm going to take a look inside the Authorize.net plugin to see if I can document the full interaction between the plugin and Authorize.net, but I would welcome and suggestions of where else I might check.

Thank you for your time.

Please Log in or Create an account to join the conversation.

  • Posts: 81515
  • Thank you received: 13068
  • MODERATOR
1 year 8 months ago #343959

Hi,

HikaShop payment log file will contain debug information if you try with the "debug" setting activated in the settings of the payment method.
However, checking the code of the plugin, I can see that the AIM mode is missing debug logging.
We'll add that. You can add it too by adding the code

if($this->payment_params->debug){
			hikashop_writeToLog($vars);
			hikashop_writeToLog($post_response);
		}
in the onBeforeOrderCreate function just before the line:
curl_close ($request);
Otherwise, you can switch temporarily to SIM mode so that you can get the debug since it should normally produce the same error as the AIM mode.

Please Log in or Create an account to join the conversation.

  • Posts: 141
  • Thank you received: 3
  • Hikashop Business
1 year 8 months ago #343989

Thanks! I will give it a try.

Please Log in or Create an account to join the conversation.

  • Posts: 141
  • Thank you received: 3
  • Hikashop Business
1 year 8 months ago #344014

The code sample you provided DID enable the Debug log when using AIM, however, what it is exposing is that the Credit Card information is not available when the $vars values are collected.

The CC values which were submitted with the Checkout Cart are not within the application's Input values, or the User State values.

Of the three modes the Authorize.net plugin supports, AIM is the only one which displays input fields for the Credit Card values.

Apparently Authorize.net is deprecating all three protocols this plugin currently supports ( AIM, SIM and DMP ) in favor of either an XML or JSON based format. Are there any plans to update Hikashop's Authorize.net plugin?

The plugin documentation also does not mention the current plugin's Enable Validation Mode and Test Payments buttons. Do you have updated recommended settings for each mode?

Please Log in or Create an account to join the conversation.

  • Posts: 81515
  • Thank you received: 13068
  • MODERATOR
1 year 8 months ago #344027

Hi,

Obsidev actually already has developed an Authorize.net payment plugin for the JSON API several years ago :
www.hikashop.com/marketplace/product/150...e-js-by-obsidev.html
So that's why we don't have plans to replace the plugin. It still works for many merchants and if you want/need the new API, this plugin is already available.

The "Enable Validation Mode" setting will either do an authorize only payment or an authorize and capture payment. With the auhtorize only mode (when the setting is on) you need to manually confirm the payment on your Authorize.net merchant account interface to receive the funds.
The "test payments" setting is just to work in test mode, without real payments.

Please Log in or Create an account to join the conversation.

Time to create page: 0.062 seconds
Powered by Kunena Forum