Skip to content

Common issues

David de Boer edited this page Aug 29, 2017 · 26 revisions

How are payments processed

There seems to be some confusion about how payments should be processed in WooCommerce. This FAQ describes how the Mollie plugin for WooCommerce does this.

First, you should note that the plugin tries to log as much information as possible in the WooCommerce order notes for the individual order (WooCommerce, Orders, Edit order) and in the WooCommerce logs at WooCommerce > System status > Logs > mollie-payments-for-woocommerce.

A failed or cancelled payment does not cancel the whole order immediately, because customers can try to place a new payment with another payment method (this is default WooCommerce functionality). The plugin will add a message about a cancelled payment to the WooCommerce order notes. An order will be cancelled automatically later if there is no new payment with a paid status.

Please note that failed, expired and cancelled payments are handled in the same way (as cancelled orders) by the plugin. So one of those payments translate to a cancelled order, as that's the right WooCommerce status for that situation. 

It is possible that on a cancelled payment, users see a message "Order complete - Thank you. Your order has been received". This might be confusing to some users, but it is correct the order was received, but not the payment. If you find the text "Order Complete - Thank you. Your order has been received. " confusing I suggest you change it.

Issues on staging/test sites

There have been multiple people with issues when they copy their site to a staging or test location.

  • WooCommerce Subscriptions: all payments are on Manual Renewal, see this FAQ
  • Statuses after payment not updated because production site is set to https, staging site is not, and https>http redirect "blocks" the Mollie Webhook communication. Solution: disable https on staging site.
  • Mollie payments don't work on a localhost installation because the Webhook URL is not accepted by the Mollie API

Status not updated on GoDaddy servers

If you are on a GoDaddy server and the payment status is not updated:

  • enable WP Debug
  • Place a new order
  • Wait 5 minutes and check the debug log

Search for errors like this in the debug log:

  • Fatal error: Call to undefined method APCu_Object_Cache::incr2()
  • Fatal error: Call to undefined method Redis_Object_Cache::incr2()

If you see those errors, you are experiencing a known issue n GoDaddy servers. To fix this (via FTP) go to /wp-content/object-cache.php and rename that to /wp-content/object-cache-old.php. Also let GoDaddy know you are experiencing this issue and refer to the below link.

Source

No status updates - extended testing

WIP: Work In Progress, for internal use

If the payment status is not updated and all regular tests have not provided the cause and solution, use this list:

  • Plugins: Akismet, WP Maintenance, WP Super Cache
  • Headway > Options > Disable Headway Caching
  • WP Debug log (wp-config.php) & PHP Notices of Warnings
  • Theme functions.php
  • Theme WooCommerce templates
Clone this wiki locally