Authorize.Net CIM: Payment gateway failed to connect, or "No message received from communicator"

Modified on Mon, 29 Jan 2024 at 10:54 AM

If you are using Hosted Forms in our Authorize.Net CIM module you may encounter this error. This message means we haven't gotten any communication from Authorize.Net within 30 seconds from the iframe being initialized.


If you need assistance with this error, please open a ticket, and include access to your checkout and steps to reproduce.


Possible Causes

  • Your site is forcing a 'X-Frame-Options' header on the communicator.
  • The payment iframe failed to load.
  • A JavaScript error on the page prevented script processing.
  • Your website does not have SSL on all pages.
  • The communicator has a different origin domain than your checkout page.


Determining the exact cause will require reviewing the browser console and network requests when it happens.



X-Frame-Options

The most likely explanation by far is the 'X-Frame-Options' header being set to 'SAMEORIGIN' or 'DENY' for the communicator page request.


If this is the cause, opening the browser dev tools console and reloading the payment form will show a console error like:

Refused to display 'https://yoursite.com/.../communicator/' in a frame because it set 'X-Frame-Options' to 'sameorigin'.


You have two options if so:

  1. Talk to your dev team or hosting provider to find and remove any service configurations that are overriding the X-Frame-Options header for your site. Magento also includes this header for Apache by default in pub/.htaccess. The proper configuration is to disable any overrides, and enable the header in Magento configuration so that Magento is outputting it directly. At that point, our extension code can disable it for the form communicator page only, and the Hosted payment form can work as intended.

    Any service that touches your web requests could be involved. Be sure to check
    1. Your server software: Apache, Nginx, Varnish, etc.
    2. Security and transparent CDN services: Cloudflare, Fastly, Sucuri, etc.

  2. If you are unable to find or disable the X-Frame-Options header, you will have to switch to the Accept.js payment form instead of Accept Hosted. Please do that in Magento configuration: Admin > Stores > Configuration > Sales > Payment Methods > Authorize.net CIM > Payment Form Type: "Accept.js"

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select atleast one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article