From dcbb17a99d6b951d2689e6b740a0bcb1d7a64aa4 Mon Sep 17 00:00:00 2001 From: "Dev49.net" Date: Fri, 5 Feb 2016 01:44:19 +0100 Subject: [PATCH 1/2] added actions before and after payment Issue #10276 --- includes/class-wc-form-handler.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/includes/class-wc-form-handler.php b/includes/class-wc-form-handler.php index 4335d0c7486..dd130f69da4 100644 --- a/includes/class-wc-form-handler.php +++ b/includes/class-wc-form-handler.php @@ -273,6 +273,8 @@ class WC_Form_Handler { $order_id = absint( $wp->query_vars['order-pay'] ); $order = wc_get_order( $order_id ); + do_action( 'woocommerce_before_pay_action', $order, $order_key ); + if ( $order->id == $order_id && $order->order_key == $order_key && $order->needs_payment() ) { // Set customer location to order location @@ -339,6 +341,8 @@ class WC_Form_Handler { } } + do_action( 'woocommerce_after_pay_action', $order, $order_key ); + } } From c3202298c0bb978504ee36657835525fb643e6f2 Mon Sep 17 00:00:00 2001 From: "Dev49.net" Date: Fri, 5 Feb 2016 19:44:55 +0100 Subject: [PATCH 2/2] moved actions after order key verification Use case described in Issue #10276 --- includes/class-wc-form-handler.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/includes/class-wc-form-handler.php b/includes/class-wc-form-handler.php index dd130f69da4..9a4e02804c4 100644 --- a/includes/class-wc-form-handler.php +++ b/includes/class-wc-form-handler.php @@ -273,10 +273,10 @@ class WC_Form_Handler { $order_id = absint( $wp->query_vars['order-pay'] ); $order = wc_get_order( $order_id ); - do_action( 'woocommerce_before_pay_action', $order, $order_key ); - if ( $order->id == $order_id && $order->order_key == $order_key && $order->needs_payment() ) { + do_action( 'woocommerce_before_pay_action', $order ); + // Set customer location to order location if ( $order->billing_country ) { WC()->customer->set_country( $order->billing_country ); @@ -339,9 +339,10 @@ class WC_Form_Handler { wp_safe_redirect( $order->get_checkout_order_received_url() ); exit; } - } - do_action( 'woocommerce_after_pay_action', $order, $order_key ); + do_action( 'woocommerce_after_pay_action', $order ); + + } } }