How to debug and fix a timeout issue when redirecting to the shop after transaction is processed?

Issue

After placing an order in the shop and processing the transaction on the payment page, you do not get redirected to the order confirmation page of the shop. Instead you see a page or an error which indicates that the payment was not processed within the provided time.

This occurs when the transaction notification from the payment service provider failed to be received by your shop. There are multiple causes:

  • The web server is blocking the HTTP request send by the payment service provider.
  • The shop throws an error during the processing of the HTTP request.
  • The firewall is blocking the HTTP request.
  • The web server is configured to allow only certain IP addresses.
  • The web shop contains a anti-spam feature which blocks the request.

The above list is not conclusive. There may be other reasons which prevents the processing of the notification request.

Resolution

The following measures may help to resolve the issue:

  1. Upgrade to the latest version of the plugin.
  2. Check that the URL configured for the notification in the backend of the payment service provider is still the correct one.
  3. Ensure that all files provided by us are uploaded.
  4. Ensure that all files have the right permissions. Typcially they require the unix file permissions 0644. The directories require typically 0755.
  5. Ensure that the maintenance mode of the shop is disabled.
  6. Ensure that there is no rule configured in the web server which prevents delivery of the notification. For example some rules within your .htaccess file or within the virtual host configuration.
  7. If your are using mod_security make sure you do allow the user agent Mozilla/3.0 (compatible; Indy Library) or disable mod_security.
  8. Try to deactivate other plugins which may interfere with the order processing.

You may also check the transaction in the payment service provider backend. Within the details page you can see the error which was returned by the shop. This may indicate what the cause is.