logo
Welcome to our new AbleCommerce forums. As a guest, you may view the information here. To post to this forum, you must have a registered account with us, either as a new user evaluating AbleCommerce or an existing user of the application. For all questions related to the older version of Gold and earlier, please go to AbleCommerce Gold forum. Please use your AbleCommerce username and password to Login. New Registrations are disabled.

Notification

Icon
Error

Options
Go to last post Go to first unread
charles25686713  
#1 Posted : Thursday, March 2, 2023 4:02:14 PM(UTC)
charles25686713

Rank: Advanced Member

Groups: Authorized User, Developers
Joined: 7/1/2022(UTC)
Posts: 64

Thanks: 5 times
Was thanked: 1 time(s) in 1 post(s)
In AC Gold, you could click a refund button on a transaction, it would reach out to the authorize.net (AN) gateway, and initiate a refund or partial refund for a transaction.

That same button exists in AC9 (.0.7), but doesn't appear to work.

We recently had to do a refund, and it failed. The status on the refund says:

Gateway instance is null or could not be loaded.

The error log for this time stamp says:

---
Could not create provider instance: CommerceBuilder.Payments.Providers.AuthorizeNet.AuthorizeNet, CommerceBuilder.AuthorizeNet
Exception: Value cannot be null. Parameter name: type Stack Trace: at System.Activator.CreateInstance(Type type, Boolean nonPublic) at System.Activator.CreateInstance(Type type) at CommerceBuilder.Payments.PaymentGateway.GetInstance()
---

There's another error entry 15 seconds later with the exact same data:

---
Could not create provider instance: CommerceBuilder.Payments.Providers.AuthorizeNet.AuthorizeNet, CommerceBuilder.AuthorizeNet
Exception: Value cannot be null. Parameter name: type Stack Trace: at System.Activator.CreateInstance(Type type, Boolean nonPublic) at System.Activator.CreateInstance(Type type) at CommerceBuilder.Payments.PaymentGateway.GetInstance()
---

Payments work fine, so we know the gateway is setup correctly.

Please advise.

Thanks,
Charles

Edited by user Thursday, March 2, 2023 5:34:38 PM(UTC)  | Reason: Not specified

Wanna join the discussion?! Login to your AbleCommerce Forums forum account. New Registrations are disabled.

ray22901031  
#2 Posted : Thursday, March 2, 2023 4:47:10 PM(UTC)
ray22901031

Rank: Advanced Member

Groups: Authorized User, Developers
Joined: 2/17/2019(UTC)
Posts: 833

Thanks: 3 times
Was thanked: 15 time(s) in 15 post(s)
I'm also using 9.0.7, with some custom programming and Authorize.net, I can assure you that it is working for us, the only thing that I would think of is either custom programming getting in the way or a setup issue.

I know that you can turn on debugging mode in Configure Authorize.NET CIM plug in, but I'm not sure where the log files would be located.

Obviously, you're entering the proper currency amount without spaces?

Just a thought,
-Ray


charles25686713  
#3 Posted : Thursday, March 2, 2023 5:36:46 PM(UTC)
charles25686713

Rank: Advanced Member

Groups: Authorized User, Developers
Joined: 7/1/2022(UTC)
Posts: 64

Thanks: 5 times
Was thanked: 1 time(s) in 1 post(s)
Odd, my reply didn't show up. Maybe I didn't click Post.

Anyhow, thanks for the reply. There is no custom coding in here.

Looking at the config for the authorize.net plugin, there's a "Debug Mode", but I'm hesitant to turn it on without someone telling me exactly what it does. I don't see anything there for logging.
charles25686713  
#4 Posted : Thursday, March 2, 2023 5:39:17 PM(UTC)
charles25686713

Rank: Advanced Member

Groups: Authorized User, Developers
Joined: 7/1/2022(UTC)
Posts: 64

Thanks: 5 times
Was thanked: 1 time(s) in 1 post(s)
I found the docs (thanks AC!) for the plugin.

http://help.ablecommerce...ays/AuthorizeNet_CIM.htm

I'll ask the staff to let me know next time they have a refund, and I'll turn that on and see what is captured.
nadeem  
#5 Posted : Friday, March 3, 2023 6:46:07 AM(UTC)
nadeem

Rank: Advanced Member

Groups: Administrators, Developers, Registered, HelpDesk, Authorized User, Admin, System
Joined: 10/11/2018(UTC)
Posts: 110

Thanks: 19 times
Was thanked: 18 time(s) in 18 post(s)
There are two different AuthNet gateways in Gold i.e. AuthNet and AuthNetCIM but in AC9, we have ONLY AuthNetCIM gateway that provides the whole functionality.
So we need to check few things here:

- Do you have the only AuthNet gateway configured in Gold or both?
- If it was only AuthNet, then have you installed and configured the AuthNetCIM gateway after upgrade in AC9? This should have been updated automatically on upgrade by the way.
- Check the payment gateways page in admin /Admin/Payments/Gateways to see if the configured gateways are listed.

Actually the difference in AuthNet and AuthNetCIM is the ClassId (i.e. ac_PaymentGateways.ClassId). For AuthNet it is CommerceBuilder.Payments.Providers.AuthorizeNet.AuthorizeNet, CommerceBuilder.AuthorizeNet and for AuthNetCIM it is CommerceBuilder.Payments.Providers.AuthorizeNetCIM.AuthNetCIMProvider, CommerceBuilder.AuthorizeNetCIM

From the error, it appears to me that the AuthNetCIM is not configured and the old AuthNet class id is in database which is causing mismatch. On upgrade, we do fix the ClassId's being updated in AC9 but it seems that this case wasn't handled.

If that is the case, you have two options:

1. Just update the AuthNet Name and ClassId in database. Name from Authorize.Net to Authorize.NET CIM (name change is optional) and ClassId from CommerceBuilder.Payments.Providers.AuthorizeNet.AuthorizeNet, CommerceBuilder.AuthorizeNet to CommerceBuilder.Payments.Providers.AuthorizeNetCIM.AuthNetCIMProvider, CommerceBuilder.AuthorizeNetCIM
2. Install/configure the AuthNetCIM plugin in AC9.

Option #1 is best moving forward.

Edited by user Friday, March 3, 2023 7:34:55 AM(UTC)  | Reason: Not specified

charles25686713  
#6 Posted : Friday, March 3, 2023 8:36:54 AM(UTC)
charles25686713

Rank: Advanced Member

Groups: Authorized User, Developers
Joined: 7/1/2022(UTC)
Posts: 64

Thanks: 5 times
Was thanked: 1 time(s) in 1 post(s)
Hi Nadeem, thanks for the reply.

I don't know what was used in AC Gold.

I do know that the upgrade to AC9 carried over the Post Office settings, PayPal settings, but did NOT carry over Authorize.NET settings. I had to manually add that plugin and then configure it.

It works just fine for payments. It appears to be mis-configured somewhere because refunds do not.

In the ac_PaymentGateways table, there are entries for BOTH Authorize.NET CIM and Authorize.Net. Both appear to be configured with data.

Please advise how to proceed.

Thanks.
nadeem  
#7 Posted : Friday, March 3, 2023 10:15:08 AM(UTC)
nadeem

Rank: Advanced Member

Groups: Administrators, Developers, Registered, HelpDesk, Authorized User, Admin, System
Joined: 10/11/2018(UTC)
Posts: 110

Thanks: 19 times
Was thanked: 18 time(s) in 18 post(s)
Is the order you are trying refund is placed using previous AuthNet gateway it is AuthNet CIM? You can check this from Order Payments tab in admin.
charles25686713  
#8 Posted : Friday, March 3, 2023 10:31:08 AM(UTC)
charles25686713

Rank: Advanced Member

Groups: Authorized User, Developers
Joined: 7/1/2022(UTC)
Posts: 64

Thanks: 5 times
Was thanked: 1 time(s) in 1 post(s)
Originally Posted by: nadeem Go to Quoted Post
Is the order you are trying refund is placed using previous AuthNet gateway it is AuthNet CIM? You can check this from Order Payments tab in admin.


It's the prior AuthNet gateway.
nadeem  
#9 Posted : Friday, March 3, 2023 10:37:33 AM(UTC)
nadeem

Rank: Advanced Member

Groups: Administrators, Developers, Registered, HelpDesk, Authorized User, Admin, System
Joined: 10/11/2018(UTC)
Posts: 110

Thanks: 19 times
Was thanked: 18 time(s) in 18 post(s)
Quote:
It's the prior AuthNet gateway.


That's what I suspected. Since the old AuthNet gateway is no more available (in codes) that is why the Class ID is irrelevant now. The previous gateway will not work. You must have updated the ClassID to the one AuthNetCIM is using but I suspect it will give you the duplicate instance id error. Can you temporarily update the ClassId to CommerceBuilder.Payments.Providers.AuthorizeNetCIM.AuthNetCIMProvider, CommerceBuilder.AuthorizeNetCIM in database and do the refund?

Edited by user Friday, March 3, 2023 10:38:38 AM(UTC)  | Reason: Not specified

charles25686713  
#10 Posted : Friday, March 3, 2023 10:51:26 AM(UTC)
charles25686713

Rank: Advanced Member

Groups: Authorized User, Developers
Joined: 7/1/2022(UTC)
Posts: 64

Thanks: 5 times
Was thanked: 1 time(s) in 1 post(s)
Originally Posted by: nadeem Go to Quoted Post
Quote:
It's the prior AuthNet gateway.


That's what I suspected. Since the old AuthNet gateway is no more available (in codes) that is why the Class ID is irrelevant now. The previous gateway will not work. You must have updated the ClassID to the one AuthNetCIM is using but I suspect it will give you the duplicate instance id error. Can you temporarily update the ClassId to CommerceBuilder.Payments.Providers.AuthorizeNetCIM.AuthNetCIMProvider, CommerceBuilder.AuthorizeNetCIM in database and do the refund?



We managed the refund outside of AC.

I'm going to leave the DB alone and see if the next refund on a transaction post upgrade to AC9 works.

Thanks,
Charles
nadeem  
#11 Posted : Friday, March 3, 2023 10:54:37 AM(UTC)
nadeem

Rank: Advanced Member

Groups: Administrators, Developers, Registered, HelpDesk, Authorized User, Admin, System
Joined: 10/11/2018(UTC)
Posts: 110

Thanks: 19 times
Was thanked: 18 time(s) in 18 post(s)
Quote:
We managed the refund outside of AC.

I'm going to leave the DB alone and see if the next refund on a transaction post upgrade to AC9 works.


Great. I am sure any post order operations will work without any issue going forward using the new AuthNetCIM configured. So you should be all good.
charles25686713  
#12 Posted : Friday, March 3, 2023 4:57:11 PM(UTC)
charles25686713

Rank: Advanced Member

Groups: Authorized User, Developers
Joined: 7/1/2022(UTC)
Posts: 64

Thanks: 5 times
Was thanked: 1 time(s) in 1 post(s)
Originally Posted by: nadeem Go to Quoted Post
Quote:
We managed the refund outside of AC.

I'm going to leave the DB alone and see if the next refund on a transaction post upgrade to AC9 works.


Great. I am sure any post order operations will work without any issue going forward using the new AuthNetCIM configured. So you should be all good.


Should I remove the old authornize.net entry from the table? I noticed in the payment configuration that it's selectable as a gateway for payments, and it clearly won't work if it's selected in error.
nadeem  
#13 Posted : Monday, March 6, 2023 9:32:25 AM(UTC)
nadeem

Rank: Advanced Member

Groups: Administrators, Developers, Registered, HelpDesk, Authorized User, Admin, System
Joined: 10/11/2018(UTC)
Posts: 110

Thanks: 19 times
Was thanked: 18 time(s) in 18 post(s)
Quote:
Should I remove the old authornize.net entry from the table? I noticed in the payment configuration that it's selectable as a gateway for payments, and it clearly won't work if it's selected in error.


Yes, you can remove it if the new installed plugin is working fine and you are doing post order processing for old orders outside the AbleCommerce. If you leave the entry in the DB, it won't hurt because there shouldn't be any payment method assigned to the old gateway.
Users browsing this topic
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.