Version Description
24-05-2019 =
Fix - Re-add "orderlines_process_items_afterprocessing_item" hook
Fix - Fix issue where renewal order status was not respecting settings
Fix - Fix PHP Notice: Undefined property: Mollie_WC_Payment_Payment::$id, closes #289
Fix - Switch version check from woocommerce_db_version to woocommerce_version as the latter is re-added to database a lot faster when it's missing then the former. Might solve issues where Mollie plugin is disabled when WooCommerce updates.
Download this release
Release Info
| Developer | davdebcom |
| Plugin | |
| Version | 5.1.8 |
| Comparing to | |
| See all releases | |
Code changes from version 5.1.7 to 5.1.8
includes/mollie/wc/gateway/abstract.php
CHANGED
|
@@ -507,8 +507,10 @@ abstract class Mollie_WC_Gateway_Abstract extends WC_Payment_Gateway
|
|
| 507 |
|
| 508 |
if ( $product == false ) {
|
| 509 |
$mollie_payment_type = 'payment';
|
|
|
|
| 510 |
break;
|
| 511 |
}
|
|
|
|
| 512 |
}
|
| 513 |
}
|
| 514 |
|
| 507 |
|
| 508 |
if ( $product == false ) {
|
| 509 |
$mollie_payment_type = 'payment';
|
| 510 |
+
do_action( Mollie_WC_Plugin::PLUGIN_ID . '_orderlines_process_items_after_processing_item', $cart_item );
|
| 511 |
break;
|
| 512 |
}
|
| 513 |
+
do_action( Mollie_WC_Plugin::PLUGIN_ID . '_orderlines_process_items_after_processing_item', $cart_item );
|
| 514 |
}
|
| 515 |
}
|
| 516 |
|
includes/mollie/wc/gateway/abstractseparecurring.php
CHANGED
|
@@ -57,7 +57,7 @@ abstract class Mollie_WC_Gateway_AbstractSepaRecurring extends Mollie_WC_Gateway
|
|
| 57 |
$this->updateOrderStatus(
|
| 58 |
$renewal_order,
|
| 59 |
$initial_order_status,
|
| 60 |
-
sprintf( __( "Awaiting payment confirmation.
|
| 61 |
self::WAITING_CONFIRMATION_PERIOD_DAYS )
|
| 62 |
);
|
| 63 |
|
|
@@ -73,6 +73,14 @@ abstract class Mollie_WC_Gateway_AbstractSepaRecurring extends Mollie_WC_Gateway
|
|
| 73 |
$this->addPendingPaymentOrder($renewal_order);
|
| 74 |
}
|
| 75 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 76 |
/**
|
| 77 |
* @param $renewal_order
|
| 78 |
*/
|
| 57 |
$this->updateOrderStatus(
|
| 58 |
$renewal_order,
|
| 59 |
$initial_order_status,
|
| 60 |
+
sprintf( __( "Awaiting payment confirmation.", 'mollie-payments-for-woocommerce' ) . "\n",
|
| 61 |
self::WAITING_CONFIRMATION_PERIOD_DAYS )
|
| 62 |
);
|
| 63 |
|
| 73 |
$this->addPendingPaymentOrder($renewal_order);
|
| 74 |
}
|
| 75 |
|
| 76 |
+
/**
|
| 77 |
+
* @return bool
|
| 78 |
+
*/
|
| 79 |
+
protected function paymentConfirmationAfterCoupleOfDays ()
|
| 80 |
+
{
|
| 81 |
+
return true;
|
| 82 |
+
}
|
| 83 |
+
|
| 84 |
/**
|
| 85 |
* @param $renewal_order
|
| 86 |
*/
|
includes/mollie/wc/payment/payment.php
CHANGED
|
@@ -285,6 +285,9 @@ class Mollie_WC_Payment_Payment extends Mollie_WC_Payment_Object {
|
|
| 285 |
// Add messages to log
|
| 286 |
Mollie_WC_Plugin::debug( __METHOD__ . ' called for payment ' . $order_id );
|
| 287 |
|
|
|
|
|
|
|
|
|
|
| 288 |
$this->unsetActiveMolliePayment( $order_id, $payment->id );
|
| 289 |
$this->setCancelledMolliePaymentId( $order_id, $payment->id );
|
| 290 |
|
|
@@ -303,13 +306,11 @@ class Mollie_WC_Payment_Payment extends Mollie_WC_Payment_Object {
|
|
| 303 |
$new_order_status = apply_filters( Mollie_WC_Plugin::PLUGIN_ID . '_order_status_cancelled', $new_order_status );
|
| 304 |
|
| 305 |
// Overwrite gateway-wide
|
| 306 |
-
$new_order_status = apply_filters( Mollie_WC_Plugin::PLUGIN_ID . '_order_status_cancelled_' . $
|
| 307 |
|
| 308 |
// Update order status, but only if there is no payment started by another gateway
|
| 309 |
if ( ! $this->isOrderPaymentStartedByOtherGateway( $order ) ) {
|
| 310 |
|
| 311 |
-
$gateway = Mollie_WC_Plugin::getDataHelper()->getWcPaymentGatewayByOrder( $order );
|
| 312 |
-
|
| 313 |
if ( $gateway || ( $gateway instanceof Mollie_WC_Gateway_Abstract ) ) {
|
| 314 |
$gateway->updateOrderStatus( $order, $new_order_status );
|
| 315 |
}
|
|
@@ -318,7 +319,7 @@ class Mollie_WC_Payment_Payment extends Mollie_WC_Payment_Object {
|
|
| 318 |
$order_payment_method_title = get_post_meta( $order_id, '_payment_method_title', $single = true );
|
| 319 |
|
| 320 |
// Add message to log
|
| 321 |
-
Mollie_WC_Plugin::debug( $
|
| 322 |
|
| 323 |
// Add order note
|
| 324 |
$order->add_order_note( sprintf(
|
|
@@ -368,6 +369,9 @@ class Mollie_WC_Payment_Payment extends Mollie_WC_Payment_Object {
|
|
| 368 |
// Add messages to log
|
| 369 |
Mollie_WC_Plugin::debug( __METHOD__ . ' called for order ' . $order_id );
|
| 370 |
|
|
|
|
|
|
|
|
|
|
| 371 |
// New order status
|
| 372 |
$new_order_status = Mollie_WC_Gateway_Abstract::STATUS_FAILED;
|
| 373 |
|
|
@@ -375,10 +379,7 @@ class Mollie_WC_Payment_Payment extends Mollie_WC_Payment_Object {
|
|
| 375 |
$new_order_status = apply_filters( Mollie_WC_Plugin::PLUGIN_ID . '_order_status_failed', $new_order_status );
|
| 376 |
|
| 377 |
// Overwrite gateway-wide
|
| 378 |
-
$new_order_status = apply_filters( Mollie_WC_Plugin::PLUGIN_ID . '_order_status_failed_' . $
|
| 379 |
-
|
| 380 |
-
$gateway = Mollie_WC_Plugin::getDataHelper()->getWcPaymentGatewayByOrder( $order );
|
| 381 |
-
|
| 382 |
|
| 383 |
// If WooCommerce Subscriptions is installed, process this failure as a subscription, otherwise as a regular order
|
| 384 |
// Update order status for order with failed payment, don't restore stock
|
|
@@ -444,6 +445,9 @@ class Mollie_WC_Payment_Payment extends Mollie_WC_Payment_Object {
|
|
| 444 |
// Add messages to log
|
| 445 |
Mollie_WC_Plugin::debug( __METHOD__ . ' called for order ' . $order_id );
|
| 446 |
|
|
|
|
|
|
|
|
|
|
| 447 |
// Check that this payment is the most recent, based on Mollie Payment ID from post meta, do not cancel the order if it isn't
|
| 448 |
if ( $mollie_payment_id != $payment->id ) {
|
| 449 |
Mollie_WC_Plugin::debug( __METHOD__ . ' called for order ' . $order_id . ' and payment ' . $payment->id . ', not processed because of a newer pending payment ' . $mollie_payment_id );
|
|
@@ -466,13 +470,11 @@ class Mollie_WC_Payment_Payment extends Mollie_WC_Payment_Object {
|
|
| 466 |
$new_order_status = apply_filters( Mollie_WC_Plugin::PLUGIN_ID . '_order_status_expired', $new_order_status );
|
| 467 |
|
| 468 |
// Overwrite gateway-wide
|
| 469 |
-
$new_order_status = apply_filters( Mollie_WC_Plugin::PLUGIN_ID . '_order_status_expired_' . $
|
| 470 |
|
| 471 |
// Update order status, but only if there is no payment started by another gateway
|
| 472 |
if ( ! $this->isOrderPaymentStartedByOtherGateway( $order ) ) {
|
| 473 |
|
| 474 |
-
$gateway = Mollie_WC_Plugin::getDataHelper()->getWcPaymentGatewayByOrder( $order );
|
| 475 |
-
|
| 476 |
if ( $gateway || ( $gateway instanceof Mollie_WC_Gateway_Abstract ) ) {
|
| 477 |
$gateway->updateOrderStatus( $order, $new_order_status );
|
| 478 |
}
|
|
@@ -481,7 +483,7 @@ class Mollie_WC_Payment_Payment extends Mollie_WC_Payment_Object {
|
|
| 481 |
$order_payment_method_title = get_post_meta( $order_id, '_payment_method_title', $single = true );
|
| 482 |
|
| 483 |
// Add message to log
|
| 484 |
-
Mollie_WC_Plugin::debug( $
|
| 485 |
|
| 486 |
// Add order note
|
| 487 |
$order->add_order_note( sprintf(
|
| 285 |
// Add messages to log
|
| 286 |
Mollie_WC_Plugin::debug( __METHOD__ . ' called for payment ' . $order_id );
|
| 287 |
|
| 288 |
+
// Get current gateway
|
| 289 |
+
$gateway = Mollie_WC_Plugin::getDataHelper()->getWcPaymentGatewayByOrder( $order );
|
| 290 |
+
|
| 291 |
$this->unsetActiveMolliePayment( $order_id, $payment->id );
|
| 292 |
$this->setCancelledMolliePaymentId( $order_id, $payment->id );
|
| 293 |
|
| 306 |
$new_order_status = apply_filters( Mollie_WC_Plugin::PLUGIN_ID . '_order_status_cancelled', $new_order_status );
|
| 307 |
|
| 308 |
// Overwrite gateway-wide
|
| 309 |
+
$new_order_status = apply_filters( Mollie_WC_Plugin::PLUGIN_ID . '_order_status_cancelled_' . $gateway->id, $new_order_status );
|
| 310 |
|
| 311 |
// Update order status, but only if there is no payment started by another gateway
|
| 312 |
if ( ! $this->isOrderPaymentStartedByOtherGateway( $order ) ) {
|
| 313 |
|
|
|
|
|
|
|
| 314 |
if ( $gateway || ( $gateway instanceof Mollie_WC_Gateway_Abstract ) ) {
|
| 315 |
$gateway->updateOrderStatus( $order, $new_order_status );
|
| 316 |
}
|
| 319 |
$order_payment_method_title = get_post_meta( $order_id, '_payment_method_title', $single = true );
|
| 320 |
|
| 321 |
// Add message to log
|
| 322 |
+
Mollie_WC_Plugin::debug( $gateway->id . ': Order ' . $order->get_id() . ' webhook called, but payment also started via ' . $order_payment_method_title . ', so order status not updated.', true );
|
| 323 |
|
| 324 |
// Add order note
|
| 325 |
$order->add_order_note( sprintf(
|
| 369 |
// Add messages to log
|
| 370 |
Mollie_WC_Plugin::debug( __METHOD__ . ' called for order ' . $order_id );
|
| 371 |
|
| 372 |
+
// Get current gateway
|
| 373 |
+
$gateway = Mollie_WC_Plugin::getDataHelper()->getWcPaymentGatewayByOrder( $order );
|
| 374 |
+
|
| 375 |
// New order status
|
| 376 |
$new_order_status = Mollie_WC_Gateway_Abstract::STATUS_FAILED;
|
| 377 |
|
| 379 |
$new_order_status = apply_filters( Mollie_WC_Plugin::PLUGIN_ID . '_order_status_failed', $new_order_status );
|
| 380 |
|
| 381 |
// Overwrite gateway-wide
|
| 382 |
+
$new_order_status = apply_filters( Mollie_WC_Plugin::PLUGIN_ID . '_order_status_failed_' . $gateway->id, $new_order_status );
|
|
|
|
|
|
|
|
|
|
| 383 |
|
| 384 |
// If WooCommerce Subscriptions is installed, process this failure as a subscription, otherwise as a regular order
|
| 385 |
// Update order status for order with failed payment, don't restore stock
|
| 445 |
// Add messages to log
|
| 446 |
Mollie_WC_Plugin::debug( __METHOD__ . ' called for order ' . $order_id );
|
| 447 |
|
| 448 |
+
// Get current gateway
|
| 449 |
+
$gateway = Mollie_WC_Plugin::getDataHelper()->getWcPaymentGatewayByOrder( $order );
|
| 450 |
+
|
| 451 |
// Check that this payment is the most recent, based on Mollie Payment ID from post meta, do not cancel the order if it isn't
|
| 452 |
if ( $mollie_payment_id != $payment->id ) {
|
| 453 |
Mollie_WC_Plugin::debug( __METHOD__ . ' called for order ' . $order_id . ' and payment ' . $payment->id . ', not processed because of a newer pending payment ' . $mollie_payment_id );
|
| 470 |
$new_order_status = apply_filters( Mollie_WC_Plugin::PLUGIN_ID . '_order_status_expired', $new_order_status );
|
| 471 |
|
| 472 |
// Overwrite gateway-wide
|
| 473 |
+
$new_order_status = apply_filters( Mollie_WC_Plugin::PLUGIN_ID . '_order_status_expired_' . $gateway->id, $new_order_status );
|
| 474 |
|
| 475 |
// Update order status, but only if there is no payment started by another gateway
|
| 476 |
if ( ! $this->isOrderPaymentStartedByOtherGateway( $order ) ) {
|
| 477 |
|
|
|
|
|
|
|
| 478 |
if ( $gateway || ( $gateway instanceof Mollie_WC_Gateway_Abstract ) ) {
|
| 479 |
$gateway->updateOrderStatus( $order, $new_order_status );
|
| 480 |
}
|
| 483 |
$order_payment_method_title = get_post_meta( $order_id, '_payment_method_title', $single = true );
|
| 484 |
|
| 485 |
// Add message to log
|
| 486 |
+
Mollie_WC_Plugin::debug( $gateway->id . ': Order ' . $order->get_id() . ' webhook called, but payment also started via ' . $order_payment_method_title . ', so order status not updated.', true );
|
| 487 |
|
| 488 |
// Add order note
|
| 489 |
$order->add_order_note( sprintf(
|
includes/mollie/wc/plugin.php
CHANGED
|
@@ -7,7 +7,7 @@ class Mollie_WC_Plugin
|
|
| 7 |
{
|
| 8 |
const PLUGIN_ID = 'mollie-payments-for-woocommerce';
|
| 9 |
const PLUGIN_TITLE = 'Mollie Payments for WooCommerce';
|
| 10 |
-
const PLUGIN_VERSION = '5.1.
|
| 11 |
|
| 12 |
const DB_VERSION = '1.0';
|
| 13 |
const DB_VERSION_PARAM_NAME = 'mollie-db-version';
|
| 7 |
{
|
| 8 |
const PLUGIN_ID = 'mollie-payments-for-woocommerce';
|
| 9 |
const PLUGIN_TITLE = 'Mollie Payments for WooCommerce';
|
| 10 |
+
const PLUGIN_VERSION = '5.1.8';
|
| 11 |
|
| 12 |
const DB_VERSION = '1.0';
|
| 13 |
const DB_VERSION_PARAM_NAME = 'mollie-db-version';
|
mollie-payments-for-woocommerce.php
CHANGED
|
@@ -3,7 +3,7 @@
|
|
| 3 |
* Plugin Name: Mollie Payments for WooCommerce
|
| 4 |
* Plugin URI: https://www.mollie.com
|
| 5 |
* Description: Accept payments in WooCommerce with the official Mollie plugin
|
| 6 |
-
* Version: 5.1.
|
| 7 |
* Author: Mollie
|
| 8 |
* Author URI: https://www.mollie.com
|
| 9 |
* Requires at least: 3.8
|
|
@@ -62,7 +62,7 @@ add_action( 'plugins_loaded', 'mollie_wc_check_php_version' );
|
|
| 62 |
* Check if WooCommerce is active and of a supported version
|
| 63 |
*/
|
| 64 |
function mollie_wc_check_woocommerce_status() {
|
| 65 |
-
if ( ! class_exists( 'WooCommerce' ) || version_compare( get_option( '
|
| 66 |
remove_action('init', 'mollie_wc_plugin_init');
|
| 67 |
add_action( 'admin_notices', 'mollie_wc_plugin_inactive' );
|
| 68 |
return;
|
|
@@ -88,7 +88,7 @@ function mollie_wc_plugin_init() {
|
|
| 88 |
function mollie_wc_plugin_activation_hook ()
|
| 89 |
{
|
| 90 |
|
| 91 |
-
if ( ! class_exists( 'WooCommerce' ) || version_compare( get_option( '
|
| 92 |
remove_action('init', 'mollie_wc_plugin_init');
|
| 93 |
add_action( 'admin_notices', 'mollie_wc_plugin_inactive' );
|
| 94 |
return;
|
|
@@ -169,7 +169,7 @@ function mollie_wc_plugin_inactive() {
|
|
| 169 |
return false;
|
| 170 |
}
|
| 171 |
|
| 172 |
-
if ( version_compare( get_option( '
|
| 173 |
|
| 174 |
echo '<div class="error"><p>';
|
| 175 |
echo sprintf( esc_html__( '%1$sMollie Payments for WooCommerce is inactive.%2$s This version requires WooCommerce 2.2 or newer. Please %3$supdate WooCommerce to version 2.2 or newer »%4$s', 'mollie-payments-for-woocommerce' ), '<strong>', '</strong>', '<a href="' . esc_url( admin_url( 'plugins.php' ) ) . '">', '</a>' );
|
| 3 |
* Plugin Name: Mollie Payments for WooCommerce
|
| 4 |
* Plugin URI: https://www.mollie.com
|
| 5 |
* Description: Accept payments in WooCommerce with the official Mollie plugin
|
| 6 |
+
* Version: 5.1.8
|
| 7 |
* Author: Mollie
|
| 8 |
* Author URI: https://www.mollie.com
|
| 9 |
* Requires at least: 3.8
|
| 62 |
* Check if WooCommerce is active and of a supported version
|
| 63 |
*/
|
| 64 |
function mollie_wc_check_woocommerce_status() {
|
| 65 |
+
if ( ! class_exists( 'WooCommerce' ) || version_compare( get_option( 'woocommerce_version' ), '2.2', '<' ) ) {
|
| 66 |
remove_action('init', 'mollie_wc_plugin_init');
|
| 67 |
add_action( 'admin_notices', 'mollie_wc_plugin_inactive' );
|
| 68 |
return;
|
| 88 |
function mollie_wc_plugin_activation_hook ()
|
| 89 |
{
|
| 90 |
|
| 91 |
+
if ( ! class_exists( 'WooCommerce' ) || version_compare( get_option( 'woocommerce_version' ), '2.2', '<' ) ) {
|
| 92 |
remove_action('init', 'mollie_wc_plugin_init');
|
| 93 |
add_action( 'admin_notices', 'mollie_wc_plugin_inactive' );
|
| 94 |
return;
|
| 169 |
return false;
|
| 170 |
}
|
| 171 |
|
| 172 |
+
if ( version_compare( get_option( 'woocommerce_version' ), '2.2', '<' ) ) {
|
| 173 |
|
| 174 |
echo '<div class="error"><p>';
|
| 175 |
echo sprintf( esc_html__( '%1$sMollie Payments for WooCommerce is inactive.%2$s This version requires WooCommerce 2.2 or newer. Please %3$supdate WooCommerce to version 2.2 or newer »%4$s', 'mollie-payments-for-woocommerce' ), '<strong>', '</strong>', '<a href="' . esc_url( admin_url( 'plugins.php' ) ) . '">', '</a>' );
|
readme.txt
CHANGED
|
@@ -1,9 +1,9 @@
|
|
| 1 |
=== Mollie Payments for WooCommerce ===
|
| 2 |
-
Contributors: daanvm, davdebcom, l.vangunst, ndijkstra, robin-mollie
|
| 3 |
-
Tags: mollie, payments, payment gateway, woocommerce, credit card
|
| 4 |
Requires at least: 3.8
|
| 5 |
Tested up to: 5.2
|
| 6 |
-
Stable tag: 5.1.
|
| 7 |
Requires PHP: 5.6
|
| 8 |
License: GPLv2 or later
|
| 9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
|
@@ -40,7 +40,8 @@ European and local payment methods:
|
|
| 40 |
* ING Home'Pay (Belgium)
|
| 41 |
* Giropay (Germany)
|
| 42 |
* EPS (Austria)
|
| 43 |
-
*
|
|
|
|
| 44 |
* Belfius (Belgium)
|
| 45 |
* KBC/CBC payment button (Belgium)
|
| 46 |
* SEPA - Credit Transfer (EU)
|
|
@@ -180,6 +181,13 @@ Automatic updates should work like a charm; as always though, ensure you backup
|
|
| 180 |
|
| 181 |
== Changelog ==
|
| 182 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 183 |
= 5.1.7 - 28-04-2019 =
|
| 184 |
|
| 185 |
* Fix - Remove Bitcoin as payment gateway, no longer supported by Mollie, contact info@mollie.com for details
|
| 1 |
=== Mollie Payments for WooCommerce ===
|
| 2 |
+
Contributors: daanvm, danielhuesken, davdebcom, dinamiko, inpsyde, l.vangunst, ndijkstra, robin-mollie, wido
|
| 3 |
+
Tags: mollie, payments, payment gateway, woocommerce, credit card, ideal, bancontact, klarna, sofort, giropay, woocommerce subscriptions
|
| 4 |
Requires at least: 3.8
|
| 5 |
Tested up to: 5.2
|
| 6 |
+
Stable tag: 5.1.8
|
| 7 |
Requires PHP: 5.6
|
| 8 |
License: GPLv2 or later
|
| 9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 40 |
* ING Home'Pay (Belgium)
|
| 41 |
* Giropay (Germany)
|
| 42 |
* EPS (Austria)
|
| 43 |
+
* Przelewy24 (Poland)
|
| 44 |
+
* SOFORT banking (EU)
|
| 45 |
* Belfius (Belgium)
|
| 46 |
* KBC/CBC payment button (Belgium)
|
| 47 |
* SEPA - Credit Transfer (EU)
|
| 181 |
|
| 182 |
== Changelog ==
|
| 183 |
|
| 184 |
+
= 5.1.8 - 24-05-2019 =
|
| 185 |
+
|
| 186 |
+
* Fix - Re-add "_orderlines_process_items_after_processing_item" hook
|
| 187 |
+
* Fix - Fix issue where renewal order status was not respecting settings
|
| 188 |
+
* Fix - Fix PHP Notice: Undefined property: Mollie_WC_Payment_Payment::$id, closes #289
|
| 189 |
+
* Fix - Switch version check from woocommerce_db_version to woocommerce_version as the latter is re-added to database a lot faster when it's missing then the former. Might solve issues where Mollie plugin is disabled when WooCommerce updates.
|
| 190 |
+
|
| 191 |
= 5.1.7 - 28-04-2019 =
|
| 192 |
|
| 193 |
* Fix - Remove Bitcoin as payment gateway, no longer supported by Mollie, contact info@mollie.com for details
|
