I'm running Magento 2.3.1 with both the old authorize.net hash method and the new signature key method. I keep getting an error message stating "invalid gateway credentials" whenever I place a transaction. It will work with old hash method but not with new method. Here is a screen shot of the error I'm receiving:

enter image description here

I also noticed the the POST message for my payment information is returning a 400: I blocked out my URL below with X's:

VM16:1 POST https://www.XXXXXXXXXXXXXXXXX.com/rest/lbc_retail_en/V1/guest-carts/iWpMSWFKqJEakmAOAKFXreAPjfWNrT1O/payment-information 400 (anonymous) @ VM16:1 send @ jquery.min.js:652 ajax @ jquery.min.js:621 post @ storage.min.js:1 (anonymous) @ place-order.min.js:1 (anonymous) @ place-order.min.js:2 _super @ wrapper.min.js:2 (anonymous) @ place-order-mixin.min.js:1 (anonymous) @ wrapper.min.js:2 _super @ wrapper.min.js:2 (anonymous) @ place-order-mixins.min.js:1 (anonymous) @ wrapper.min.js:2 getPlaceOrderDeferredObject @ default.min.js:5 placeOrder @ default.min.js:4 (anonymous) @ authorizenet-accept.min.js:3 fire @ jquery.min.js:212 fireWith @ jquery.min.js:218 deferred. @ jquery.min.js:220 (anonymous) @ acceptjs-client.min.js:2 (anonymous) @ validator-handler.min.js:2 fire @ jquery.min.js:212 add @ jquery.min.js:215 validate @ validator-handler.min.js:2 (anonymous) @ acceptjs-client.min.js:2 u @ AcceptCore.js:1 s @ AcceptCore.js:1 (anonymous) @ AcceptCore.js:1 setTimeout (async)
c.onload @ AcceptCore.js:1 load (async) t @ AcceptCore.js:1 a.dispatchData.a.dispatchData @ AcceptCore.js:1 _createTokens @ acceptjs-client.min.js:2 (anonymous) @ acceptjs-client.min.js:1 fire @ jquery.min.js:212 fireWith @ jquery.min.js:218 deferred. @ jquery.min.js:220 (anonymous) @ acceptjs-factory.min.js:2 dispatch @ jquery.min.js:338 elemData.handle @ jquery.min.js:311 v @ AcceptCore.js:1 w @ AcceptCore.js:1 (anonymous) @ AcceptCore.js:1 (anonymous) @ AcceptCore.js:1

Any ideas?


  • Have you got any solution, I am facing the same issue.
    – Yogita
    Jun 15 '19 at 4:57
  • No solution. Been hunting everywhere online for an answer. :-(
    – atinmich
    Jun 26 '19 at 20:48

The magento2.3.0 and M2.3.1 having issues with orders placed by Authorized.net, this will be fixed by them in the next release https://github.com/magento/magento2/issues/22373

So if your credentials will working the issues will orders still in the system, You have to install fresh Magento2.3.1 and check with the sandbox first. You will find the issue of cancel orders there.

  • Thanks for offering an answer. However, in this case no orders are being processed or appear in the backend or in authorize.net portal. There are no records of any orders when attempting to use the new signature key.
    – atinmich
    Jun 26 '19 at 20:47

So it turns out the issue is setting based and not an error with the code. Apparently, there is only a single global setting for the authorize.net credentials. In the payment methods for auth.net you have to select the option (Use Default) for each credential you enter (public client key, signature key, etc...). If you are hosting multiple sites from a common back-end, the settings do not carry over to each site. As soon as I checked the box for Use Default next to each Auth.net config setting, it worked.

Thanks to simonlandry0 who posted this solution on github. He was struggling through the same issue.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.