Skip to content

Common issues

David de Boer edited this page Apr 17, 2018 · 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. So, always view those if you aren't sure what's happening for a certain order or payment.

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 all payments with those statuses translate to a cancelled payment in WooCommerce, as that's the right WooCommerce status for that situation. 

It is possible that on returning to the shop from 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.

In the case of open payments, the Mollie plugin already changes the title of the order received page to "Bestelling ontvangen, in afwachting van betaling.".

This video shows how payments can be cancelled, but the order remains "pending" so a new payment can be started immediately after the user returns to the store or from the WooCommerce Account page.

Also, for cancelled payments, review your settings at WooCommerce > Settings > Checkout > Mollie > Order status after cancelled payment.

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

Cancelling payments with WooCommerce Germanized

The plugin "WooCommerce Germanized" has a setting "Avoid changing the payment method after ordering by the customer" in WooCommerce > Settings > Germanized > General. This makes it impossible for users to select a new payment method after cancelling the payment. Disable that if you do want customers to be able to select another payment method. https://monosnap.com/file/peCQDhm9Fz4bFBGg5nbKFomS9ppwf1.png

No status updates - WP-SpamShield

According to the developer of WP-SpamShield, the plugin should not block communications from Mollie. Unfortunately we have seen that this happens anyway. There are two ways in which you can "fix" this. The first solution will keep the WP-SpamShield anti-spam protection in place on your site except for communication from Mollie, the second will disable WP-SpamShield for all forms except WP-SpamShield, CF7 and GravityForms.

  • Add the Mollie's IPs to the WP-SpamShield Whitelist (Settings > WP-SpamShield > General settings).
  • Uncheck "Disable anti-spam for miscellaneous forms" in Settings > WP-SpamShield > General settings. This is what WP-SpamShield advices themselves (step 6 in Next Steps After Installation).

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
  • Check Scheduled actions
  • WIP: Explain how to read and understand logs (If "Mollie payment tr_xxxxxxx (live) webhook call for order xxxxx" is called, webhook called correctly, other issue like "Order xxxxx does not need a payment (payment webhook tr_xxxxxxx)." Might be because of "WooCommerce - Autocomplete Orders".
Clone this wiki locally