Completed
Pull Request — master (#1125)
by Radoslav
01:56
created
includes/compat/class-wc-stripe-pre-orders-compat.php 1 patch
Spacing   +49 added lines, -49 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if ( ! defined( 'ABSPATH' ) ) {
2
+if ( ! defined('ABSPATH')) {
3 3
 	exit;
4 4
 }
5 5
 
@@ -11,7 +11,7 @@  discard block
 block discarded – undo
11 11
 	public $saved_cards;
12 12
 
13 13
 	public function __construct() {
14
-		$this->saved_cards = WC_Stripe_Helper::get_settings( 'stripe', 'saved_cards' );
14
+		$this->saved_cards = WC_Stripe_Helper::get_settings('stripe', 'saved_cards');
15 15
 	}
16 16
 
17 17
 	/**
@@ -19,22 +19,22 @@  discard block
 block discarded – undo
19 19
 	 * @param  int  $order_id
20 20
 	 * @return boolean
21 21
 	 */
22
-	public function is_pre_order( $order_id ) {
23
-		return WC_Pre_Orders_Order::order_contains_pre_order( $order_id );
22
+	public function is_pre_order($order_id) {
23
+		return WC_Pre_Orders_Order::order_contains_pre_order($order_id);
24 24
 	}
25 25
 
26 26
 	/**
27 27
 	 * Remove order meta
28 28
 	 * @param object $order
29 29
 	 */
30
-	public function remove_order_source_before_retry( $order ) {
31
-		if ( WC_Stripe_Helper::is_wc_lt( '3.0' ) ) {
32
-			delete_post_meta( $order->id, '_stripe_source_id' );
30
+	public function remove_order_source_before_retry($order) {
31
+		if (WC_Stripe_Helper::is_wc_lt('3.0')) {
32
+			delete_post_meta($order->id, '_stripe_source_id');
33 33
 			// For BW compat will remove in the future.
34
-			delete_post_meta( $order->id, '_stripe_card_id' );
34
+			delete_post_meta($order->id, '_stripe_card_id');
35 35
 		} else {
36
-			$order->delete_meta_data( '_stripe_source_id' );
37
-			$order->delete_meta_data( '_stripe_card_id' );
36
+			$order->delete_meta_data('_stripe_source_id');
37
+			$order->delete_meta_data('_stripe_card_id');
38 38
 			$order->save();
39 39
 		}
40 40
 	}
@@ -43,31 +43,31 @@  discard block
 block discarded – undo
43 43
 	 * Process the pre-order when pay upon release is used.
44 44
 	 * @param int $order_id
45 45
 	 */
46
-	public function process_pre_order( $order_id ) {
46
+	public function process_pre_order($order_id) {
47 47
 		try {
48
-			$order = wc_get_order( $order_id );
48
+			$order = wc_get_order($order_id);
49 49
 
50 50
 			// This will throw exception if not valid.
51
-			$this->validate_minimum_order_amount( $order );
51
+			$this->validate_minimum_order_amount($order);
52 52
 
53
-			$prepared_source = $this->prepare_source( get_current_user_id(), true );
53
+			$prepared_source = $this->prepare_source(get_current_user_id(), true);
54 54
 
55 55
 			// We need a source on file to continue.
56
-			if ( empty( $prepared_source->customer ) || empty( $prepared_source->source ) ) {
57
-				throw new WC_Stripe_Exception( __( 'Unable to store payment details. Please try again.', 'woocommerce-gateway-stripe' ) );
56
+			if (empty($prepared_source->customer) || empty($prepared_source->source)) {
57
+				throw new WC_Stripe_Exception(__('Unable to store payment details. Please try again.', 'woocommerce-gateway-stripe'));
58 58
 			}
59 59
 
60 60
 			// Setup the response early to allow later modifications.
61 61
 			$response = array(
62 62
 				'result'   => 'success',
63
-				'redirect' => $this->get_return_url( $order ),
63
+				'redirect' => $this->get_return_url($order),
64 64
 			);
65 65
 
66
-			$this->save_source_to_order( $order, $prepared_source );
66
+			$this->save_source_to_order($order, $prepared_source);
67 67
 
68 68
 			// Try setting up a payment intent.
69
-			$intent_secret = $this->setup_intent( $order, $prepared_source );
70
-			if ( ! empty( $intent_secret ) ) {
69
+			$intent_secret = $this->setup_intent($order, $prepared_source);
70
+			if ( ! empty($intent_secret)) {
71 71
 				$response['setup_intent_secret'] = $intent_secret;
72 72
 				return $response;
73 73
 			}
@@ -76,17 +76,17 @@  discard block
 block discarded – undo
76 76
 			WC()->cart->empty_cart();
77 77
 
78 78
 			// Is pre ordered!
79
-			WC_Pre_Orders_Order::mark_order_as_pre_ordered( $order );
79
+			WC_Pre_Orders_Order::mark_order_as_pre_ordered($order);
80 80
 
81 81
 			// Return thank you page redirect
82 82
 			return $response;
83
-		} catch ( WC_Stripe_Exception $e ) {
84
-			wc_add_notice( $e->getLocalizedMessage(), 'error' );
85
-			WC_Stripe_Logger::log( 'Pre Orders Error: ' . $e->getMessage() );
83
+		} catch (WC_Stripe_Exception $e) {
84
+			wc_add_notice($e->getLocalizedMessage(), 'error');
85
+			WC_Stripe_Logger::log('Pre Orders Error: ' . $e->getMessage());
86 86
 
87 87
 			return array(
88 88
 				'result'   => 'success',
89
-				'redirect' => $order->get_checkout_payment_url( true ),
89
+				'redirect' => $order->get_checkout_payment_url(true),
90 90
 			);
91 91
 		}
92 92
 	}
@@ -99,50 +99,50 @@  discard block
 block discarded – undo
99 99
 	 *
100 100
 	 * @return void
101 101
 	 */
102
-	public function process_pre_order_release_payment( $order, $retry = true ) {
102
+	public function process_pre_order_release_payment($order, $retry = true) {
103 103
 		try {
104
-			$source   = $this->prepare_order_source( $order );
105
-			$response = $this->create_and_confirm_intent_for_off_session( $order, $source );
104
+			$source   = $this->prepare_order_source($order);
105
+			$response = $this->create_and_confirm_intent_for_off_session($order, $source);
106 106
 
107
-			$is_authentication_required = $this->is_authentication_required_for_payment( $response );
107
+			$is_authentication_required = $this->is_authentication_required_for_payment($response);
108 108
 
109
-			if ( ! empty( $response->error ) && ! $is_authentication_required ) {
110
-				if ( ! $retry ) {
111
-					throw new Exception( $response->error->message );
109
+			if ( ! empty($response->error) && ! $is_authentication_required) {
110
+				if ( ! $retry) {
111
+					throw new Exception($response->error->message);
112 112
 				}
113
-				$this->remove_order_source_before_retry( $order );
114
-				$this->process_pre_order_release_payment( $order, false );
115
-			} else if ( $is_authentication_required ) {
116
-				$charge = end( $response->error->payment_intent->charges->data );
113
+				$this->remove_order_source_before_retry($order);
114
+				$this->process_pre_order_release_payment($order, false);
115
+			} else if ($is_authentication_required) {
116
+				$charge = end($response->error->payment_intent->charges->data);
117 117
 				$id = $charge->id;
118
-				$order_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->id : $order->get_id();
118
+				$order_id = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->id : $order->get_id();
119 119
 
120
-				WC_Stripe_Helper::is_wc_lt( '3.0' ) ? update_post_meta( $order_id, '_transaction_id', $id ) : $order->set_transaction_id( $id );
121
-				$order->update_status( 'failed', sprintf( __( 'Stripe charge awaiting authentication by user: %s.', 'woocommerce-gateway-stripe' ), $id ) );
122
-				if ( is_callable( array( $order, 'save' ) ) ) {
120
+				WC_Stripe_Helper::is_wc_lt('3.0') ? update_post_meta($order_id, '_transaction_id', $id) : $order->set_transaction_id($id);
121
+				$order->update_status('failed', sprintf(__('Stripe charge awaiting authentication by user: %s.', 'woocommerce-gateway-stripe'), $id));
122
+				if (is_callable(array($order, 'save'))) {
123 123
 					$order->save();
124 124
 				}
125 125
 
126 126
 				WC_Emails::instance();
127 127
 
128
-				do_action( 'wc_gateway_stripe_process_payment_authentication_required', $order );
128
+				do_action('wc_gateway_stripe_process_payment_authentication_required', $order);
129 129
 
130
-				throw new WC_Stripe_Exception( print_r( $response, true ), $response->error->message );
130
+				throw new WC_Stripe_Exception(print_r($response, true), $response->error->message);
131 131
 			} else {
132 132
 				// Successful
133
-				$this->process_response( end( $response->charges->data ), $order );
133
+				$this->process_response(end($response->charges->data), $order);
134 134
 			}
135
-		} catch ( Exception $e ) {
136
-			$error_message = is_callable( array( $e, 'getLocalizedMessage' ) ) ? $e->getLocalizedMessage() : $e->getMessage();
135
+		} catch (Exception $e) {
136
+			$error_message = is_callable(array($e, 'getLocalizedMessage')) ? $e->getLocalizedMessage() : $e->getMessage();
137 137
 			/* translators: error message */
138
-			$order_note = sprintf( __( 'Stripe Transaction Failed (%s)', 'woocommerce-gateway-stripe' ), $error_message );
138
+			$order_note = sprintf(__('Stripe Transaction Failed (%s)', 'woocommerce-gateway-stripe'), $error_message);
139 139
 
140 140
 			// Mark order as failed if not already set,
141 141
 			// otherwise, make sure we add the order note so we can detect when someone fails to check out multiple times
142
-			if ( ! $order->has_status( 'failed' ) ) {
143
-				$order->update_status( 'failed', $order_note );
142
+			if ( ! $order->has_status('failed')) {
143
+				$order->update_status('failed', $order_note);
144 144
 			} else {
145
-				$order->add_order_note( $order_note );
145
+				$order->add_order_note($order_note);
146 146
 			}
147 147
 		}
148 148
 	}
Please login to merge, or discard this patch.
templates/emails/failed-renewal-authentication-requested.php 1 patch
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -6,14 +6,14 @@  discard block
 block discarded – undo
6 6
  * @version 4.3.0
7 7
  */
8 8
 
9
-if ( ! defined( 'ABSPATH' ) ) {
9
+if ( ! defined('ABSPATH')) {
10 10
 	exit;
11 11
 }
12 12
 
13 13
 /**
14 14
  * Output the email header.
15 15
  */
16
-do_action( 'woocommerce_email_header', $email_heading, $email ); ?>
16
+do_action('woocommerce_email_header', $email_heading, $email); ?>
17 17
 
18 18
 <p>
19 19
 	<?php
@@ -27,31 +27,31 @@  discard block
 block discarded – undo
27 27
 			),
28 28
 			$order->get_order_number(),
29 29
 			$order->get_formatted_billing_full_name(),
30
-			wcs_get_human_time_diff( $retry->get_time() )
30
+			wcs_get_human_time_diff($retry->get_time())
31 31
 		)
32 32
 	);
33 33
 	?>
34 34
 </p>
35
-<p><?php esc_html_e( 'The renewal order is as follows:', 'woocommerce-gateway-stripe' ); ?></p>
35
+<p><?php esc_html_e('The renewal order is as follows:', 'woocommerce-gateway-stripe'); ?></p>
36 36
 
37 37
 <?php
38 38
 
39 39
 /**
40 40
  * Shows the order details table.
41 41
  */
42
-do_action( 'woocommerce_email_order_details', $order, $sent_to_admin, $plain_text, $email );
42
+do_action('woocommerce_email_order_details', $order, $sent_to_admin, $plain_text, $email);
43 43
 
44 44
 /**
45 45
 * Shows order meta data.
46 46
 */
47
-do_action( 'woocommerce_email_order_meta', $order, $sent_to_admin, $plain_text, $email );
47
+do_action('woocommerce_email_order_meta', $order, $sent_to_admin, $plain_text, $email);
48 48
 
49 49
 /**
50 50
 * Shows customer details, and email address.
51 51
 */
52
-do_action( 'woocommerce_email_customer_details', $order, $sent_to_admin, $plain_text, $email );
52
+do_action('woocommerce_email_customer_details', $order, $sent_to_admin, $plain_text, $email);
53 53
 
54 54
 /**
55 55
 * Output the email footer.
56 56
 */
57
-do_action( 'woocommerce_email_footer', $email );
57
+do_action('woocommerce_email_footer', $email);
Please login to merge, or discard this patch.
templates/emails/plain/failed-renewal-authentication-requested.php 1 patch
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -6,7 +6,7 @@  discard block
 block discarded – undo
6 6
  * @version 4.3.0
7 7
  */
8 8
 
9
-if ( ! defined( 'ABSPATH' ) ) {
9
+if ( ! defined('ABSPATH')) {
10 10
 	exit;
11 11
 }
12 12
 
@@ -21,29 +21,29 @@  discard block
 block discarded – undo
21 21
 	),
22 22
 	$order->get_order_number(),
23 23
 	$order->get_formatted_billing_full_name(),
24
-	wcs_get_human_time_diff( $retry->get_time() )
24
+	wcs_get_human_time_diff($retry->get_time())
25 25
 ) . "\n\n";
26
-printf( __( 'The renewal order is as follows:', 'woocommerce-gateway-stripe' ) ) . "\n\n";
26
+printf(__('The renewal order is as follows:', 'woocommerce-gateway-stripe')) . "\n\n";
27 27
 
28 28
 echo "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n\n";
29 29
 
30 30
 /**
31 31
  * Shows the order details table.
32 32
  */
33
-do_action( 'woocommerce_email_order_details', $order, $sent_to_admin, $plain_text, $email );
33
+do_action('woocommerce_email_order_details', $order, $sent_to_admin, $plain_text, $email);
34 34
 
35 35
 echo "\n=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n\n";
36 36
 
37 37
 /**
38 38
 * Shows order meta data.
39 39
 */
40
-do_action( 'woocommerce_email_order_meta', $order, $sent_to_admin, $plain_text, $email );
40
+do_action('woocommerce_email_order_meta', $order, $sent_to_admin, $plain_text, $email);
41 41
 
42 42
 /**
43 43
 * Shows customer details, and email address.
44 44
 */
45
-do_action( 'woocommerce_email_customer_details', $order, $sent_to_admin, $plain_text, $email );
45
+do_action('woocommerce_email_customer_details', $order, $sent_to_admin, $plain_text, $email);
46 46
 
47 47
 echo "\n=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n\n";
48 48
 
49
-echo apply_filters( 'woocommerce_email_footer_text', get_option( 'woocommerce_email_footer_text' ) );
49
+echo apply_filters('woocommerce_email_footer_text', get_option('woocommerce_email_footer_text'));
Please login to merge, or discard this patch.
includes/compat/class-wc-stripe-email-failed-authentication-retry.php 1 patch
Spacing   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -10,7 +10,7 @@  discard block
 block discarded – undo
10 10
  * @extends     WC_Email_Failed_Order
11 11
  */
12 12
 
13
-if ( ! defined( 'ABSPATH' ) ) {
13
+if ( ! defined('ABSPATH')) {
14 14
 	exit;
15 15
 }
16 16
 
@@ -26,17 +26,17 @@  discard block
 block discarded – undo
26 26
 	 */
27 27
 	public function __construct() {
28 28
 		$this->id          = 'failed_authentication_requested';
29
-		$this->title       = __( 'Payment Authentication Requested Email', 'woocommerce-gateway-stripe' );
30
-		$this->description = __( 'Payment authentication requested emails are sent to chosen recipient(s) when an attempt to automatically process a subscription renewal payment fails because the transaction requires an SCA verification, the customer is requested to authenticate the payment, and a retry rule has been applied to notify the customer again within a certain time period.', 'woocommerce-gateway-stripe' );
29
+		$this->title       = __('Payment Authentication Requested Email', 'woocommerce-gateway-stripe');
30
+		$this->description = __('Payment authentication requested emails are sent to chosen recipient(s) when an attempt to automatically process a subscription renewal payment fails because the transaction requires an SCA verification, the customer is requested to authenticate the payment, and a retry rule has been applied to notify the customer again within a certain time period.', 'woocommerce-gateway-stripe');
31 31
 
32
-		$this->heading = __( 'Automatic renewal payment failed due to authentication required', 'woocommerce-gateway-stripe' );
33
-		$this->subject = __( '[{site_title}] Automatic payment failed for {order_number}. Customer asked to authenticate payment and will be notified again {retry_time}', 'woocommerce-gateway-stripe' );
32
+		$this->heading = __('Automatic renewal payment failed due to authentication required', 'woocommerce-gateway-stripe');
33
+		$this->subject = __('[{site_title}] Automatic payment failed for {order_number}. Customer asked to authenticate payment and will be notified again {retry_time}', 'woocommerce-gateway-stripe');
34 34
 
35 35
 		$this->template_html  = 'emails/failed-renewal-authentication-requested.php';
36 36
 		$this->template_plain = 'emails/plain/failed-renewal-authentication-requested.php';
37
-		$this->template_base  = plugin_dir_path( WC_STRIPE_MAIN_FILE ) . 'templates/';
37
+		$this->template_base  = plugin_dir_path(WC_STRIPE_MAIN_FILE) . 'templates/';
38 38
 
39
-		$this->recipient = $this->get_option( 'recipient', get_option( 'admin_email' ) );
39
+		$this->recipient = $this->get_option('recipient', get_option('admin_email'));
40 40
 
41 41
 		// We want all the parent's methods, with none of its properties, so call its parent's constructor, rather than my parent constructor.
42 42
 		WC_Email::__construct();
@@ -66,26 +66,26 @@  discard block
 block discarded – undo
66 66
 	 * @param int           $order_id The order ID.
67 67
 	 * @param WC_Order|null $order Order object.
68 68
 	 */
69
-	public function trigger( $order_id, $order = null ) {
69
+	public function trigger($order_id, $order = null) {
70 70
 		$this->object = $order;
71 71
 
72 72
 		$this->find['retry-time'] = '{retry_time}';
73
-		if ( class_exists( 'WCS_Retry_Manager' ) && function_exists( 'wcs_get_human_time_diff' ) ) {
74
-			$this->retry = WCS_Retry_Manager::store()->get_last_retry_for_order( wcs_get_objects_property( $order, 'id' ) );
75
-			$this->replace['retry-time'] = wcs_get_human_time_diff( $this->retry->get_time() );
73
+		if (class_exists('WCS_Retry_Manager') && function_exists('wcs_get_human_time_diff')) {
74
+			$this->retry = WCS_Retry_Manager::store()->get_last_retry_for_order(wcs_get_objects_property($order, 'id'));
75
+			$this->replace['retry-time'] = wcs_get_human_time_diff($this->retry->get_time());
76 76
 		} else {
77
-			WC_Stripe_Logger::log( 'WCS_Retry_Manager class or does not exist. Not able to send admnin email about customer notification for authentication required for renewal payment.' );
77
+			WC_Stripe_Logger::log('WCS_Retry_Manager class or does not exist. Not able to send admnin email about customer notification for authentication required for renewal payment.');
78 78
 			return;
79 79
 		}
80 80
 
81 81
 		$this->find['order-number']    = '{order_number}';
82 82
 		$this->replace['order-number'] = $this->object->get_order_number();
83 83
 
84
-		if ( ! $this->is_enabled() || ! $this->get_recipient() ) {
84
+		if ( ! $this->is_enabled() || ! $this->get_recipient()) {
85 85
 			return;
86 86
 		}
87 87
 
88
-		$this->send( $this->get_recipient(), $this->get_subject(), $this->get_content(), $this->get_headers(), $this->get_attachments() );
88
+		$this->send($this->get_recipient(), $this->get_subject(), $this->get_content(), $this->get_headers(), $this->get_attachments());
89 89
 	}
90 90
 
91 91
 	/**
Please login to merge, or discard this patch.
includes/compat/class-wc-stripe-email-failed-renewal-authentication.php 1 patch
Spacing   +21 added lines, -21 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if ( ! defined( 'ABSPATH' ) ) {
2
+if ( ! defined('ABSPATH')) {
3 3
 	exit; // Exit if accessed directly.
4 4
 }
5 5
 
@@ -14,20 +14,20 @@  discard block
 block discarded – undo
14 14
 	 *
15 15
 	 * @param WC_Email[] $email_classes All existing instances of WooCommerce emails.
16 16
 	 */
17
-	public function __construct( $email_classes = array() ) {
17
+	public function __construct($email_classes = array()) {
18 18
 		$this->id             = 'failed_renewal_authentication';
19
-		$this->title          = __( 'Failed Subscription Renewal SCA Authentication', 'woocommerce-gateway-stripe' );
20
-		$this->description    = __( 'Sent to a customer when a renewal fails because the transaction requires an SCA verification. The email contains renewal order information and payment links.', 'woocommerce-gateway-stripe' );
19
+		$this->title          = __('Failed Subscription Renewal SCA Authentication', 'woocommerce-gateway-stripe');
20
+		$this->description    = __('Sent to a customer when a renewal fails because the transaction requires an SCA verification. The email contains renewal order information and payment links.', 'woocommerce-gateway-stripe');
21 21
 		$this->customer_email = true;
22 22
 
23 23
 		$this->template_html  = 'emails/failed-renewal-authentication.php';
24 24
 		$this->template_plain = 'emails/plain/failed-renewal-authentication.php';
25
-		$this->template_base  = plugin_dir_path( WC_STRIPE_MAIN_FILE ) . 'templates/';
25
+		$this->template_base  = plugin_dir_path(WC_STRIPE_MAIN_FILE) . 'templates/';
26 26
 
27 27
 		// Triggers the email at the correct hook.
28
-		add_action( 'wc_gateway_stripe_process_payment_authentication_required', array( $this, 'trigger' ) );
28
+		add_action('wc_gateway_stripe_process_payment_authentication_required', array($this, 'trigger'));
29 29
 
30
-		if ( isset( $email_classes['WCS_Email_Customer_Renewal_Invoice'] ) ) {
30
+		if (isset($email_classes['WCS_Email_Customer_Renewal_Invoice'])) {
31 31
 			$this->original_email = $email_classes['WCS_Email_Customer_Renewal_Invoice'];
32 32
 		}
33 33
 
@@ -40,21 +40,21 @@  discard block
 block discarded – undo
40 40
 	 *
41 41
 	 * @param WC_Order $order The order that is being paid.
42 42
 	 */
43
-	public function trigger( $order ) {
44
-		if ( function_exists( 'wcs_order_contains_subscription' ) && ( wcs_order_contains_subscription( $order->get_id() ) || wcs_is_subscription( $order->get_id() ) || wcs_order_contains_renewal( $order->get_id() ) ) ) {
45
-			parent::trigger( $order );
43
+	public function trigger($order) {
44
+		if (function_exists('wcs_order_contains_subscription') && (wcs_order_contains_subscription($order->get_id()) || wcs_is_subscription($order->get_id()) || wcs_order_contains_renewal($order->get_id()))) {
45
+			parent::trigger($order);
46 46
 
47 47
 			// Prevent the renewal email from WooCommerce Subscriptions from being sent.
48
-			if ( isset( $this->original_email ) ) {
49
-				remove_action( 'woocommerce_generated_manual_renewal_order_renewal_notification', array( $this->original_email, 'trigger' ) );
50
-				remove_action( 'woocommerce_order_status_failed_renewal_notification', array( $this->original_email, 'trigger' ) );
48
+			if (isset($this->original_email)) {
49
+				remove_action('woocommerce_generated_manual_renewal_order_renewal_notification', array($this->original_email, 'trigger'));
50
+				remove_action('woocommerce_order_status_failed_renewal_notification', array($this->original_email, 'trigger'));
51 51
 			}
52 52
 
53 53
 			// Prevent the retry email from WooCommerce Subscriptions from being sent.
54
-			add_filter( 'wcs_get_retry_rule_raw', array( $this, 'prevent_retry_notification_email' ), 100, 3 );
54
+			add_filter('wcs_get_retry_rule_raw', array($this, 'prevent_retry_notification_email'), 100, 3);
55 55
 
56 56
 			// Send email to store owner indicating communication is happening with the customer to request authentication.
57
-			add_filter( 'wcs_get_retry_rule_raw', array( $this, 'set_store_owner_custom_email' ), 100, 3 );
57
+			add_filter('wcs_get_retry_rule_raw', array($this, 'set_store_owner_custom_email'), 100, 3);
58 58
 		}
59 59
 	}
60 60
 
@@ -64,7 +64,7 @@  discard block
 block discarded – undo
64 64
 	 * @return string
65 65
 	 */
66 66
 	public function get_default_subject() {
67
-		return __( 'Payment authorization needed for renewal of {site_title} order {order_number}', 'woocommerce-gateway-stripe' );
67
+		return __('Payment authorization needed for renewal of {site_title} order {order_number}', 'woocommerce-gateway-stripe');
68 68
 	}
69 69
 
70 70
 	/**
@@ -73,7 +73,7 @@  discard block
 block discarded – undo
73 73
 	 * @return string
74 74
 	 */
75 75
 	public function get_default_heading() {
76
-		return __( 'Payment authorization needed for renewal of order {order_number}', 'woocommerce-gateway-stripe' );
76
+		return __('Payment authorization needed for renewal of order {order_number}', 'woocommerce-gateway-stripe');
77 77
 	}
78 78
 
79 79
 	/**
@@ -84,8 +84,8 @@  discard block
 block discarded – undo
84 84
 	 * @param int   $order_id     The ID of the order that needs payment.
85 85
 	 * @return array
86 86
 	 */
87
-	public function prevent_retry_notification_email( $rule_array, $retry_number, $order_id ) {
88
-		if ( wcs_get_objects_property( $this->object, 'id' ) === $order_id ) {
87
+	public function prevent_retry_notification_email($rule_array, $retry_number, $order_id) {
88
+		if (wcs_get_objects_property($this->object, 'id') === $order_id) {
89 89
 			$rule_array['email_template_customer'] = '';
90 90
 		}
91 91
 
@@ -100,9 +100,9 @@  discard block
 block discarded – undo
100 100
 	 * @param int   $order_id     The ID of the order that needs payment.
101 101
 	 * @return array
102 102
 	 */
103
-	public function set_store_owner_custom_email( $rule_array, $retry_number, $order_id ) {
103
+	public function set_store_owner_custom_email($rule_array, $retry_number, $order_id) {
104 104
 		if (
105
-			wcs_get_objects_property( $this->object, 'id' ) === $order_id &&
105
+			wcs_get_objects_property($this->object, 'id') === $order_id &&
106 106
 			'' !== $rule_array['email_template_admin'] // Only send our email if a retry admin email was already going to be sent.
107 107
 		) {
108 108
 			$rule_array['email_template_admin'] = 'WC_Stripe_Email_Failed_Authentication_Retry';
Please login to merge, or discard this patch.
includes/class-wc-stripe-apple-pay-registration.php 1 patch
Spacing   +51 added lines, -51 removed lines patch added patch discarded remove patch
@@ -5,7 +5,7 @@  discard block
 block discarded – undo
5 5
  * @since 4.0.6
6 6
  */
7 7
 
8
-if ( ! defined( 'ABSPATH' ) ) {
8
+if ( ! defined('ABSPATH')) {
9 9
 	exit;
10 10
 }
11 11
 
@@ -60,23 +60,23 @@  discard block
 block discarded – undo
60 60
 	public $apple_pay_verify_notice;
61 61
 
62 62
 	public function __construct() {
63
-		add_action( 'woocommerce_stripe_updated', array( $this, 'update_verification_file' ) );
63
+		add_action('woocommerce_stripe_updated', array($this, 'update_verification_file'));
64 64
 
65
-		$this->stripe_settings         = get_option( 'woocommerce_stripe_settings', array() );
66
-		$this->stripe_enabled          = $this->get_option( 'enabled' );
67
-		$this->payment_request         = 'yes' === $this->get_option( 'payment_request', 'yes' );
68
-		$this->apple_pay_domain_set    = 'yes' === $this->get_option( 'apple_pay_domain_set', 'no' );
65
+		$this->stripe_settings         = get_option('woocommerce_stripe_settings', array());
66
+		$this->stripe_enabled          = $this->get_option('enabled');
67
+		$this->payment_request         = 'yes' === $this->get_option('payment_request', 'yes');
68
+		$this->apple_pay_domain_set    = 'yes' === $this->get_option('apple_pay_domain_set', 'no');
69 69
 		$this->apple_pay_verify_notice = '';
70
-		$this->testmode                = 'yes' === $this->get_option( 'testmode', 'no' );
71
-		$this->secret_key              = $this->testmode ? $this->get_option( 'test_secret_key' ) : $this->get_option( 'secret_key' );
70
+		$this->testmode                = 'yes' === $this->get_option('testmode', 'no');
71
+		$this->secret_key              = $this->testmode ? $this->get_option('test_secret_key') : $this->get_option('secret_key');
72 72
 
73
-		if ( empty( $this->stripe_settings ) ) {
73
+		if (empty($this->stripe_settings)) {
74 74
 			return;
75 75
 		}
76 76
 
77 77
 		$this->init_apple_pay();
78 78
 
79
-		add_action( 'admin_notices', array( $this, 'admin_notices' ) );
79
+		add_action('admin_notices', array($this, 'admin_notices'));
80 80
 	}
81 81
 
82 82
 	/**
@@ -87,13 +87,13 @@  discard block
 block discarded – undo
87 87
 	 * @param string default
88 88
 	 * @return string $setting_value
89 89
 	 */
90
-	public function get_option( $setting = '', $default = '' ) {
91
-		if ( empty( $this->stripe_settings ) ) {
90
+	public function get_option($setting = '', $default = '') {
91
+		if (empty($this->stripe_settings)) {
92 92
 			return $default;
93 93
 		}
94 94
 
95
-		if ( ! empty( $this->stripe_settings[ $setting ] ) ) {
96
-			return $this->stripe_settings[ $setting ];
95
+		if ( ! empty($this->stripe_settings[$setting])) {
96
+			return $this->stripe_settings[$setting];
97 97
 		}
98 98
 
99 99
 		return $default;
@@ -108,9 +108,9 @@  discard block
 block discarded – undo
108 108
 	public function init_apple_pay() {
109 109
 		if (
110 110
 			is_admin() &&
111
-			isset( $_GET['page'] ) && 'wc-settings' === $_GET['page'] &&
112
-			isset( $_GET['tab'] ) && 'checkout' === $_GET['tab'] &&
113
-			isset( $_GET['section'] ) && 'stripe' === $_GET['section'] &&
111
+			isset($_GET['page']) && 'wc-settings' === $_GET['page'] &&
112
+			isset($_GET['tab']) && 'checkout' === $_GET['tab'] &&
113
+			isset($_GET['section']) && 'stripe' === $_GET['section'] &&
114 114
 			$this->payment_request
115 115
 		) {
116 116
 			$this->process_apple_pay_verification();
@@ -124,9 +124,9 @@  discard block
 block discarded – undo
124 124
 	 * @version 3.1.0
125 125
 	 * @param string $secret_key
126 126
 	 */
127
-	private function register_apple_pay_domain( $secret_key = '' ) {
128
-		if ( empty( $secret_key ) ) {
129
-			throw new Exception( __( 'Unable to verify domain - missing secret key.', 'woocommerce-gateway-stripe' ) );
127
+	private function register_apple_pay_domain($secret_key = '') {
128
+		if (empty($secret_key)) {
129
+			throw new Exception(__('Unable to verify domain - missing secret key.', 'woocommerce-gateway-stripe'));
130 130
 		}
131 131
 
132 132
 		$endpoint = 'https://api.stripe.com/v1/apple_pay/domains';
@@ -144,22 +144,22 @@  discard block
 block discarded – undo
144 144
 			$endpoint,
145 145
 			array(
146 146
 				'headers' => $headers,
147
-				'body'    => http_build_query( $data ),
147
+				'body'    => http_build_query($data),
148 148
 			)
149 149
 		);
150 150
 
151
-		if ( is_wp_error( $response ) ) {
151
+		if (is_wp_error($response)) {
152 152
 			/* translators: error message */
153
-			throw new Exception( sprintf( __( 'Unable to verify domain - %s', 'woocommerce-gateway-stripe' ), $response->get_error_message() ) );
153
+			throw new Exception(sprintf(__('Unable to verify domain - %s', 'woocommerce-gateway-stripe'), $response->get_error_message()));
154 154
 		}
155 155
 
156
-		if ( 200 !== $response['response']['code'] ) {
157
-			$parsed_response = json_decode( $response['body'] );
156
+		if (200 !== $response['response']['code']) {
157
+			$parsed_response = json_decode($response['body']);
158 158
 
159 159
 			$this->apple_pay_verify_notice = $parsed_response->error->message;
160 160
 
161 161
 			/* translators: error message */
162
-			throw new Exception( sprintf( __( 'Unable to verify domain - %s', 'woocommerce-gateway-stripe' ), $parsed_response->error->message ) );
162
+			throw new Exception(sprintf(__('Unable to verify domain - %s', 'woocommerce-gateway-stripe'), $parsed_response->error->message));
163 163
 		}
164 164
 	}
165 165
 
@@ -172,31 +172,31 @@  discard block
 block discarded – undo
172 172
 	 * @since 4.3.0
173 173
 	 * @return bool True on success, false on failure.
174 174
 	 */
175
-	public function update_verification_file( $force = false ) {
176
-			$path     = untrailingslashit( $_SERVER['DOCUMENT_ROOT'] );
175
+	public function update_verification_file($force = false) {
176
+			$path     = untrailingslashit($_SERVER['DOCUMENT_ROOT']);
177 177
 			$dir      = '.well-known';
178 178
 			$file     = 'apple-developer-merchantid-domain-association';
179 179
 			$fullpath = $path . '/' . $dir . '/' . $file;
180 180
 
181
-			$existing_contents = @file_get_contents( $fullpath );
182
-			$new_contents = @file_get_contents( WC_STRIPE_PLUGIN_PATH . '/' . $file );
183
-			if ( ( ! $existing_contents && ! $force ) || $existing_contents === $new_contents ) {
181
+			$existing_contents = @file_get_contents($fullpath);
182
+			$new_contents = @file_get_contents(WC_STRIPE_PLUGIN_PATH . '/' . $file);
183
+			if (( ! $existing_contents && ! $force) || $existing_contents === $new_contents) {
184 184
 				return true;
185 185
 			}
186 186
 
187
-			if ( ! file_exists( $path . '/' . $dir ) ) {
188
-				if ( ! @mkdir( $path . '/' . $dir, 0755 ) ) { // @codingStandardsIgnoreLine
189
-					WC_Stripe_Logger::log( 'Error: ' . __( 'Unable to create domain association folder to domain root.', 'woocommerce-gateway-stripe' ) );
187
+			if ( ! file_exists($path . '/' . $dir)) {
188
+				if ( ! @mkdir($path . '/' . $dir, 0755)) { // @codingStandardsIgnoreLine
189
+					WC_Stripe_Logger::log('Error: ' . __('Unable to create domain association folder to domain root.', 'woocommerce-gateway-stripe'));
190 190
 					return false;
191 191
 				}
192 192
 			}
193 193
 
194
-			if ( ! @copy( WC_STRIPE_PLUGIN_PATH . '/' . $file, $fullpath ) ) { // @codingStandardsIgnoreLine
195
-				WC_Stripe_Logger::log( 'Error: ' . __( 'Unable to copy domain association file to domain root.', 'woocommerce-gateway-stripe' ) );
194
+			if ( ! @copy(WC_STRIPE_PLUGIN_PATH . '/' . $file, $fullpath)) { // @codingStandardsIgnoreLine
195
+				WC_Stripe_Logger::log('Error: ' . __('Unable to copy domain association file to domain root.', 'woocommerce-gateway-stripe'));
196 196
 				return false;
197 197
 			}
198 198
 
199
-			WC_Stripe_Logger::log( 'Domain association file updated.' );
199
+			WC_Stripe_Logger::log('Domain association file updated.');
200 200
 			return true;
201 201
 	}
202 202
 
@@ -207,31 +207,31 @@  discard block
 block discarded – undo
207 207
 	 * @version 3.1.0
208 208
 	 */
209 209
 	public function process_apple_pay_verification() {
210
-		if ( ! $this->update_verification_file( true ) ) {
210
+		if ( ! $this->update_verification_file(true)) {
211 211
 			$this->stripe_settings['apple_pay_domain_set'] = 'no';
212
-			update_option( 'woocommerce_stripe_settings', $this->stripe_settings );
212
+			update_option('woocommerce_stripe_settings', $this->stripe_settings);
213 213
 			return;
214 214
 		}
215 215
 
216 216
 		try {
217 217
 			// At this point then the domain association folder and file should be available.
218 218
 			// Proceed to verify/and or verify again.
219
-			$this->register_apple_pay_domain( $this->secret_key );
219
+			$this->register_apple_pay_domain($this->secret_key);
220 220
 
221 221
 			// No errors to this point, verification success!
222 222
 			$this->stripe_settings['apple_pay_domain_set'] = 'yes';
223 223
 			$this->apple_pay_domain_set                    = true;
224 224
 
225
-			update_option( 'woocommerce_stripe_settings', $this->stripe_settings );
225
+			update_option('woocommerce_stripe_settings', $this->stripe_settings);
226 226
 
227
-			WC_Stripe_Logger::log( 'Your domain has been verified with Apple Pay!' );
227
+			WC_Stripe_Logger::log('Your domain has been verified with Apple Pay!');
228 228
 
229
-		} catch ( Exception $e ) {
229
+		} catch (Exception $e) {
230 230
 			$this->stripe_settings['apple_pay_domain_set'] = 'no';
231 231
 
232
-			update_option( 'woocommerce_stripe_settings', $this->stripe_settings );
232
+			update_option('woocommerce_stripe_settings', $this->stripe_settings);
233 233
 
234
-			WC_Stripe_Logger::log( 'Error: ' . $e->getMessage() );
234
+			WC_Stripe_Logger::log('Error: ' . $e->getMessage());
235 235
 		}
236 236
 	}
237 237
 
@@ -241,15 +241,15 @@  discard block
 block discarded – undo
241 241
 	 * @since 4.0.6
242 242
 	 */
243 243
 	public function admin_notices() {
244
-		if ( ! $this->stripe_enabled ) {
244
+		if ( ! $this->stripe_enabled) {
245 245
 			return;
246 246
 		}
247 247
 
248
-		if ( ! current_user_can( 'manage_woocommerce' ) ) {
248
+		if ( ! current_user_can('manage_woocommerce')) {
249 249
 			return;
250 250
 		}
251 251
 
252
-		if ( $this->payment_request && ! empty( $this->apple_pay_verify_notice ) ) {
252
+		if ($this->payment_request && ! empty($this->apple_pay_verify_notice)) {
253 253
 			$allowed_html = array(
254 254
 				'a' => array(
255 255
 					'href'  => array(),
@@ -257,7 +257,7 @@  discard block
 block discarded – undo
257 257
 				),
258 258
 			);
259 259
 
260
-			echo '<div class="error stripe-apple-pay-message"><p>' . wp_kses( make_clickable( $this->apple_pay_verify_notice ), $allowed_html ) . '</p></div>';
260
+			echo '<div class="error stripe-apple-pay-message"><p>' . wp_kses(make_clickable($this->apple_pay_verify_notice), $allowed_html) . '</p></div>';
261 261
 		}
262 262
 
263 263
 		/**
@@ -265,9 +265,9 @@  discard block
 block discarded – undo
265 265
 		 * when setting screen is displayed. So if domain verification is not set,
266 266
 		 * something went wrong so lets notify user.
267 267
 		 */
268
-		if ( ! empty( $this->secret_key ) && $this->payment_request && ! $this->apple_pay_domain_set ) {
268
+		if ( ! empty($this->secret_key) && $this->payment_request && ! $this->apple_pay_domain_set) {
269 269
 			/* translators: 1) HTML anchor open tag 2) HTML anchor closing tag */
270
-			echo '<div class="error stripe-apple-pay-message"><p>' . sprintf( __( 'Apple Pay domain verification failed. Please check the %1$slog%2$s to see the issue. (Logging must be enabled to see recorded logs)', 'woocommerce-gateway-stripe' ), '<a href="' . admin_url( 'admin.php?page=wc-status&tab=logs' ) . '">', '</a>' ) . '</p></div>';
270
+			echo '<div class="error stripe-apple-pay-message"><p>' . sprintf(__('Apple Pay domain verification failed. Please check the %1$slog%2$s to see the issue. (Logging must be enabled to see recorded logs)', 'woocommerce-gateway-stripe'), '<a href="' . admin_url('admin.php?page=wc-status&tab=logs') . '">', '</a>') . '</p></div>';
271 271
 		}
272 272
 	}
273 273
 }
Please login to merge, or discard this patch.
includes/class-wc-stripe-order-handler.php 1 patch
Spacing   +105 added lines, -105 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if ( ! defined( 'ABSPATH' ) ) {
2
+if ( ! defined('ABSPATH')) {
3 3
 	exit;
4 4
 }
5 5
 
@@ -23,11 +23,11 @@  discard block
 block discarded – undo
23 23
 
24 24
 		$this->retry_interval = 1;
25 25
 
26
-		add_action( 'wp', array( $this, 'maybe_process_redirect_order' ) );
27
-		add_action( 'woocommerce_order_status_processing', array( $this, 'capture_payment' ) );
28
-		add_action( 'woocommerce_order_status_completed', array( $this, 'capture_payment' ) );
29
-		add_action( 'woocommerce_order_status_cancelled', array( $this, 'cancel_payment' ) );
30
-		add_action( 'woocommerce_order_status_refunded', array( $this, 'cancel_payment' ) );
26
+		add_action('wp', array($this, 'maybe_process_redirect_order'));
27
+		add_action('woocommerce_order_status_processing', array($this, 'capture_payment'));
28
+		add_action('woocommerce_order_status_completed', array($this, 'capture_payment'));
29
+		add_action('woocommerce_order_status_cancelled', array($this, 'cancel_payment'));
30
+		add_action('woocommerce_order_status_refunded', array($this, 'cancel_payment'));
31 31
 	}
32 32
 
33 33
 	/**
@@ -51,25 +51,25 @@  discard block
 block discarded – undo
51 51
 	 * @param bool $retry
52 52
 	 * @param mix $previous_error Any error message from previous request.
53 53
 	 */
54
-	public function process_redirect_payment( $order_id, $retry = true, $previous_error = false ) {
54
+	public function process_redirect_payment($order_id, $retry = true, $previous_error = false) {
55 55
 		try {
56
-			$source = wc_clean( $_GET['source'] );
56
+			$source = wc_clean($_GET['source']);
57 57
 
58
-			if ( empty( $source ) ) {
58
+			if (empty($source)) {
59 59
 				return;
60 60
 			}
61 61
 
62
-			if ( empty( $order_id ) ) {
62
+			if (empty($order_id)) {
63 63
 				return;
64 64
 			}
65 65
 
66
-			$order = wc_get_order( $order_id );
66
+			$order = wc_get_order($order_id);
67 67
 
68
-			if ( ! is_object( $order ) ) {
68
+			if ( ! is_object($order)) {
69 69
 				return;
70 70
 			}
71 71
 
72
-			if ( $order->has_status( array( 'processing', 'completed', 'on-hold' ) ) ) {
72
+			if ($order->has_status(array('processing', 'completed', 'on-hold'))) {
73 73
 				return;
74 74
 			}
75 75
 
@@ -77,124 +77,124 @@  discard block
 block discarded – undo
77 77
 			$response = null;
78 78
 
79 79
 			// This will throw exception if not valid.
80
-			$this->validate_minimum_order_amount( $order );
80
+			$this->validate_minimum_order_amount($order);
81 81
 
82
-			WC_Stripe_Logger::log( "Info: (Redirect) Begin processing payment for order $order_id for the amount of {$order->get_total()}" );
82
+			WC_Stripe_Logger::log("Info: (Redirect) Begin processing payment for order $order_id for the amount of {$order->get_total()}");
83 83
 
84 84
 			/**
85 85
 			 * First check if the source is chargeable at this time. If not,
86 86
 			 * webhook will take care of it later.
87 87
 			 */
88
-			$source_info = WC_Stripe_API::retrieve( 'sources/' . $source );
88
+			$source_info = WC_Stripe_API::retrieve('sources/' . $source);
89 89
 
90
-			if ( ! empty( $source_info->error ) ) {
91
-				throw new WC_Stripe_Exception( print_r( $source_info, true ), $source_info->error->message );
90
+			if ( ! empty($source_info->error)) {
91
+				throw new WC_Stripe_Exception(print_r($source_info, true), $source_info->error->message);
92 92
 			}
93 93
 
94
-			if ( 'failed' === $source_info->status || 'canceled' === $source_info->status ) {
95
-				throw new WC_Stripe_Exception( print_r( $source_info, true ), __( 'Unable to process this payment, please try again or use alternative method.', 'woocommerce-gateway-stripe' ) );
94
+			if ('failed' === $source_info->status || 'canceled' === $source_info->status) {
95
+				throw new WC_Stripe_Exception(print_r($source_info, true), __('Unable to process this payment, please try again or use alternative method.', 'woocommerce-gateway-stripe'));
96 96
 			}
97 97
 
98 98
 			// If already consumed, then ignore request.
99
-			if ( 'consumed' === $source_info->status ) {
99
+			if ('consumed' === $source_info->status) {
100 100
 				return;
101 101
 			}
102 102
 
103 103
 			// If not chargeable, then ignore request.
104
-			if ( 'chargeable' !== $source_info->status ) {
104
+			if ('chargeable' !== $source_info->status) {
105 105
 				return;
106 106
 			}
107 107
 
108 108
 			// Prep source object.
109 109
 			$source_object           = new stdClass();
110 110
 			$source_object->token_id = '';
111
-			$source_object->customer = $this->get_stripe_customer_id( $order );
111
+			$source_object->customer = $this->get_stripe_customer_id($order);
112 112
 			$source_object->source   = $source_info->id;
113 113
 			$source_object->status   = 'chargeable';
114 114
 
115 115
 			/* If we're doing a retry and source is chargeable, we need to pass
116 116
 			 * a different idempotency key and retry for success.
117 117
 			 */
118
-			if ( $this->need_update_idempotency_key( $source_object, $previous_error ) ) {
119
-				add_filter( 'wc_stripe_idempotency_key', array( $this, 'change_idempotency_key' ), 10, 2 );
118
+			if ($this->need_update_idempotency_key($source_object, $previous_error)) {
119
+				add_filter('wc_stripe_idempotency_key', array($this, 'change_idempotency_key'), 10, 2);
120 120
 			}
121 121
 
122 122
 			// Make the request.
123
-			$response = WC_Stripe_API::request( $this->generate_payment_request( $order, $source_object ), 'charges', 'POST', true );
123
+			$response = WC_Stripe_API::request($this->generate_payment_request($order, $source_object), 'charges', 'POST', true);
124 124
 			$headers  = $response['headers'];
125 125
 			$response = $response['body'];
126 126
 
127
-			if ( ! empty( $response->error ) ) {
127
+			if ( ! empty($response->error)) {
128 128
 				// Customer param wrong? The user may have been deleted on stripe's end. Remove customer_id. Can be retried without.
129
-				if ( $this->is_no_such_customer_error( $response->error ) ) {
130
-					if ( WC_Stripe_Helper::is_wc_lt( '3.0' ) ) {
131
-						delete_user_meta( $order->customer_user, '_stripe_customer_id' );
132
-						delete_post_meta( $order_id, '_stripe_customer_id' );
129
+				if ($this->is_no_such_customer_error($response->error)) {
130
+					if (WC_Stripe_Helper::is_wc_lt('3.0')) {
131
+						delete_user_meta($order->customer_user, '_stripe_customer_id');
132
+						delete_post_meta($order_id, '_stripe_customer_id');
133 133
 					} else {
134
-						delete_user_meta( $order->get_customer_id(), '_stripe_customer_id' );
135
-						$order->delete_meta_data( '_stripe_customer_id' );
134
+						delete_user_meta($order->get_customer_id(), '_stripe_customer_id');
135
+						$order->delete_meta_data('_stripe_customer_id');
136 136
 						$order->save();
137 137
 					}
138 138
 				}
139 139
 
140
-				if ( $this->is_no_such_token_error( $response->error ) && $prepared_source->token_id ) {
140
+				if ($this->is_no_such_token_error($response->error) && $prepared_source->token_id) {
141 141
 					// Source param wrong? The CARD may have been deleted on stripe's end. Remove token and show message.
142
-					$wc_token = WC_Payment_Tokens::get( $prepared_source->token_id );
142
+					$wc_token = WC_Payment_Tokens::get($prepared_source->token_id);
143 143
 					$wc_token->delete();
144
-					$localized_message = __( 'This card is no longer available and has been removed.', 'woocommerce-gateway-stripe' );
145
-					$order->add_order_note( $localized_message );
146
-					throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message );
144
+					$localized_message = __('This card is no longer available and has been removed.', 'woocommerce-gateway-stripe');
145
+					$order->add_order_note($localized_message);
146
+					throw new WC_Stripe_Exception(print_r($response, true), $localized_message);
147 147
 				}
148 148
 
149 149
 				// We want to retry.
150
-				if ( $this->is_retryable_error( $response->error ) ) {
151
-					if ( $retry ) {
150
+				if ($this->is_retryable_error($response->error)) {
151
+					if ($retry) {
152 152
 						// Don't do anymore retries after this.
153
-						if ( 5 <= $this->retry_interval ) {
154
-							return $this->process_redirect_payment( $order_id, false, $response->error );
153
+						if (5 <= $this->retry_interval) {
154
+							return $this->process_redirect_payment($order_id, false, $response->error);
155 155
 						}
156 156
 
157
-						sleep( $this->retry_interval );
157
+						sleep($this->retry_interval);
158 158
 
159 159
 						$this->retry_interval++;
160
-						return $this->process_redirect_payment( $order_id, true, $response->error );
160
+						return $this->process_redirect_payment($order_id, true, $response->error);
161 161
 					} else {
162
-						$localized_message = __( 'Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe' );
163
-						$order->add_order_note( $localized_message );
164
-						throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message );
162
+						$localized_message = __('Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe');
163
+						$order->add_order_note($localized_message);
164
+						throw new WC_Stripe_Exception(print_r($response, true), $localized_message);
165 165
 					}
166 166
 				}
167 167
 
168 168
 				$localized_messages = WC_Stripe_Helper::get_localized_messages();
169 169
 
170
-				if ( 'card_error' === $response->error->type ) {
171
-					$message = isset( $localized_messages[ $response->error->code ] ) ? $localized_messages[ $response->error->code ] : $response->error->message;
170
+				if ('card_error' === $response->error->type) {
171
+					$message = isset($localized_messages[$response->error->code]) ? $localized_messages[$response->error->code] : $response->error->message;
172 172
 				} else {
173
-					$message = isset( $localized_messages[ $response->error->type ] ) ? $localized_messages[ $response->error->type ] : $response->error->message;
173
+					$message = isset($localized_messages[$response->error->type]) ? $localized_messages[$response->error->type] : $response->error->message;
174 174
 				}
175 175
 
176
-				throw new WC_Stripe_Exception( print_r( $response, true ), $message );
176
+				throw new WC_Stripe_Exception(print_r($response, true), $message);
177 177
 			}
178 178
 
179 179
 			// To prevent double processing the order on WC side.
180
-			if ( ! $this->is_original_request( $headers ) ) {
180
+			if ( ! $this->is_original_request($headers)) {
181 181
 				return;
182 182
 			}
183 183
 
184
-			do_action( 'wc_gateway_stripe_process_redirect_payment', $response, $order );
184
+			do_action('wc_gateway_stripe_process_redirect_payment', $response, $order);
185 185
 
186
-			$this->process_response( $response, $order );
186
+			$this->process_response($response, $order);
187 187
 
188
-		} catch ( WC_Stripe_Exception $e ) {
189
-			WC_Stripe_Logger::log( 'Error: ' . $e->getMessage() );
188
+		} catch (WC_Stripe_Exception $e) {
189
+			WC_Stripe_Logger::log('Error: ' . $e->getMessage());
190 190
 
191
-			do_action( 'wc_gateway_stripe_process_redirect_payment_error', $e, $order );
191
+			do_action('wc_gateway_stripe_process_redirect_payment_error', $e, $order);
192 192
 
193 193
 			/* translators: error message */
194
-			$order->update_status( 'failed', sprintf( __( 'Stripe payment failed: %s', 'woocommerce-gateway-stripe' ), $e->getLocalizedMessage() ) );
194
+			$order->update_status('failed', sprintf(__('Stripe payment failed: %s', 'woocommerce-gateway-stripe'), $e->getLocalizedMessage()));
195 195
 
196
-			wc_add_notice( $e->getLocalizedMessage(), 'error' );
197
-			wp_safe_redirect( wc_get_checkout_url() );
196
+			wc_add_notice($e->getLocalizedMessage(), 'error');
197
+			wp_safe_redirect(wc_get_checkout_url());
198 198
 			exit;
199 199
 		}
200 200
 	}
@@ -206,13 +206,13 @@  discard block
 block discarded – undo
206 206
 	 * @version 4.0.0
207 207
 	 */
208 208
 	public function maybe_process_redirect_order() {
209
-		if ( ! is_order_received_page() || empty( $_GET['client_secret'] ) || empty( $_GET['source'] ) ) {
209
+		if ( ! is_order_received_page() || empty($_GET['client_secret']) || empty($_GET['source'])) {
210 210
 			return;
211 211
 		}
212 212
 
213
-		$order_id = wc_clean( $_GET['order_id'] );
213
+		$order_id = wc_clean($_GET['order_id']);
214 214
 
215
-		$this->process_redirect_payment( $order_id );
215
+		$this->process_redirect_payment($order_id);
216 216
 	}
217 217
 
218 218
 	/**
@@ -222,92 +222,92 @@  discard block
 block discarded – undo
222 222
 	 * @version 4.0.0
223 223
 	 * @param  int $order_id
224 224
 	 */
225
-	public function capture_payment( $order_id ) {
226
-		$order = wc_get_order( $order_id );
225
+	public function capture_payment($order_id) {
226
+		$order = wc_get_order($order_id);
227 227
 
228
-		if ( 'stripe' === ( WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->payment_method : $order->get_payment_method() ) ) {
229
-			$charge             = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? get_post_meta( $order_id, '_transaction_id', true ) : $order->get_transaction_id();
230
-			$captured           = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? get_post_meta( $order_id, '_stripe_charge_captured', true ) : $order->get_meta( '_stripe_charge_captured', true );
228
+		if ('stripe' === (WC_Stripe_Helper::is_wc_lt('3.0') ? $order->payment_method : $order->get_payment_method())) {
229
+			$charge             = WC_Stripe_Helper::is_wc_lt('3.0') ? get_post_meta($order_id, '_transaction_id', true) : $order->get_transaction_id();
230
+			$captured           = WC_Stripe_Helper::is_wc_lt('3.0') ? get_post_meta($order_id, '_stripe_charge_captured', true) : $order->get_meta('_stripe_charge_captured', true);
231 231
 			$is_stripe_captured = false;
232 232
 
233
-			if ( $charge && 'no' === $captured ) {
233
+			if ($charge && 'no' === $captured) {
234 234
 				$order_total = $order->get_total();
235 235
 
236
-				if ( 0 < $order->get_total_refunded() ) {
236
+				if (0 < $order->get_total_refunded()) {
237 237
 					$order_total = $order_total - $order->get_total_refunded();
238 238
 				}
239 239
 
240
-				$intent = $this->get_intent_from_order( $order );
241
-				if ( $intent ) {
240
+				$intent = $this->get_intent_from_order($order);
241
+				if ($intent) {
242 242
 					// If the order has a Payment Intent, then the Intent itself must be captured, not the Charge
243
-					if ( ! empty( $intent->error ) ) {
243
+					if ( ! empty($intent->error)) {
244 244
 						/* translators: error message */
245
-						$order->add_order_note( sprintf( __( 'Unable to capture charge! %s', 'woocommerce-gateway-stripe' ), $intent->error->message ) );
246
-					} elseif ( 'requires_capture' === $intent->status ) {
245
+						$order->add_order_note(sprintf(__('Unable to capture charge! %s', 'woocommerce-gateway-stripe'), $intent->error->message));
246
+					} elseif ('requires_capture' === $intent->status) {
247 247
 						$result = WC_Stripe_API::request(
248 248
 							array(
249
-								'amount'   => WC_Stripe_Helper::get_stripe_amount( $order_total ),
249
+								'amount'   => WC_Stripe_Helper::get_stripe_amount($order_total),
250 250
 								'expand[]' => 'charges.data.balance_transaction',
251 251
 							),
252 252
 							'payment_intents/' . $intent->id . '/capture'
253 253
 						);
254 254
 
255
-						if ( ! empty( $result->error ) ) {
255
+						if ( ! empty($result->error)) {
256 256
 							/* translators: error message */
257
-							$order->update_status( 'failed', sprintf( __( 'Unable to capture charge! %s', 'woocommerce-gateway-stripe' ), $result->error->message ) );
257
+							$order->update_status('failed', sprintf(__('Unable to capture charge! %s', 'woocommerce-gateway-stripe'), $result->error->message));
258 258
 						} else {
259 259
 							$is_stripe_captured = true;
260
-							$result = end( $result->charges->data );
260
+							$result = end($result->charges->data);
261 261
 						}
262
-					} elseif ( 'succeeded' === $intent->status ) {
262
+					} elseif ('succeeded' === $intent->status) {
263 263
 						$is_stripe_captured = true;
264 264
 					}
265 265
 				} else {
266 266
 					// The order doesn't have a Payment Intent, fall back to capturing the Charge directly
267 267
 
268 268
 					// First retrieve charge to see if it has been captured.
269
-					$result = WC_Stripe_API::retrieve( 'charges/' . $charge );
269
+					$result = WC_Stripe_API::retrieve('charges/' . $charge);
270 270
 
271
-					if ( ! empty( $result->error ) ) {
271
+					if ( ! empty($result->error)) {
272 272
 						/* translators: error message */
273
-						$order->add_order_note( sprintf( __( 'Unable to capture charge! %s', 'woocommerce-gateway-stripe' ), $result->error->message ) );
274
-					} elseif ( false === $result->captured ) {
273
+						$order->add_order_note(sprintf(__('Unable to capture charge! %s', 'woocommerce-gateway-stripe'), $result->error->message));
274
+					} elseif (false === $result->captured) {
275 275
 						$result = WC_Stripe_API::request(
276 276
 							array(
277
-								'amount'   => WC_Stripe_Helper::get_stripe_amount( $order_total ),
277
+								'amount'   => WC_Stripe_Helper::get_stripe_amount($order_total),
278 278
 								'expand[]' => 'balance_transaction',
279 279
 							),
280 280
 							'charges/' . $charge . '/capture'
281 281
 						);
282 282
 
283
-						if ( ! empty( $result->error ) ) {
283
+						if ( ! empty($result->error)) {
284 284
 							/* translators: error message */
285
-							$order->update_status( 'failed', sprintf( __( 'Unable to capture charge! %s', 'woocommerce-gateway-stripe' ), $result->error->message ) );
285
+							$order->update_status('failed', sprintf(__('Unable to capture charge! %s', 'woocommerce-gateway-stripe'), $result->error->message));
286 286
 						} else {
287 287
 							$is_stripe_captured = true;
288 288
 						}
289
-					} elseif ( true === $result->captured ) {
289
+					} elseif (true === $result->captured) {
290 290
 						$is_stripe_captured = true;
291 291
 					}
292 292
 				}
293 293
 
294
-				if ( $is_stripe_captured ) {
294
+				if ($is_stripe_captured) {
295 295
 					/* translators: transaction id */
296
-					$order->add_order_note( sprintf( __( 'Stripe charge complete (Charge ID: %s)', 'woocommerce-gateway-stripe' ), $result->id ) );
297
-					WC_Stripe_Helper::is_wc_lt( '3.0' ) ? update_post_meta( $order_id, '_stripe_charge_captured', 'yes' ) : $order->update_meta_data( '_stripe_charge_captured', 'yes' );
296
+					$order->add_order_note(sprintf(__('Stripe charge complete (Charge ID: %s)', 'woocommerce-gateway-stripe'), $result->id));
297
+					WC_Stripe_Helper::is_wc_lt('3.0') ? update_post_meta($order_id, '_stripe_charge_captured', 'yes') : $order->update_meta_data('_stripe_charge_captured', 'yes');
298 298
 
299 299
 					// Store other data such as fees
300
-					WC_Stripe_Helper::is_wc_lt( '3.0' ) ? update_post_meta( $order_id, '_transaction_id', $result->id ) : $order->set_transaction_id( $result->id );
300
+					WC_Stripe_Helper::is_wc_lt('3.0') ? update_post_meta($order_id, '_transaction_id', $result->id) : $order->set_transaction_id($result->id);
301 301
 
302
-					if ( is_callable( array( $order, 'save' ) ) ) {
302
+					if (is_callable(array($order, 'save'))) {
303 303
 						$order->save();
304 304
 					}
305 305
 
306
-					$this->update_fees( $order, $result->balance_transaction->id );
306
+					$this->update_fees($order, $result->balance_transaction->id);
307 307
 				}
308 308
 
309 309
 				// This hook fires when admin manually changes order status to processing or completed.
310
-				do_action( 'woocommerce_stripe_process_manual_capture', $order, $result );
310
+				do_action('woocommerce_stripe_process_manual_capture', $order, $result);
311 311
 			}
312 312
 		}
313 313
 	}
@@ -319,19 +319,19 @@  discard block
 block discarded – undo
319 319
 	 * @version 4.2.2
320 320
 	 * @param  int $order_id
321 321
 	 */
322
-	public function cancel_payment( $order_id ) {
323
-		$order = wc_get_order( $order_id );
324
-
325
-		if ( 'stripe' === ( WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->payment_method : $order->get_payment_method() ) ) {
326
-			$captured = WC_Stripe_Helper::is_wc_lt( '3.0' )
327
-				? get_post_meta( $order_id, '_stripe_charge_captured', true )
328
-				: $order->get_meta( '_stripe_charge_captured', true );
329
-			if ( 'no' === $captured ) {
330
-				$this->process_refund( $order_id );
322
+	public function cancel_payment($order_id) {
323
+		$order = wc_get_order($order_id);
324
+
325
+		if ('stripe' === (WC_Stripe_Helper::is_wc_lt('3.0') ? $order->payment_method : $order->get_payment_method())) {
326
+			$captured = WC_Stripe_Helper::is_wc_lt('3.0')
327
+				? get_post_meta($order_id, '_stripe_charge_captured', true)
328
+				: $order->get_meta('_stripe_charge_captured', true);
329
+			if ('no' === $captured) {
330
+				$this->process_refund($order_id);
331 331
 			}
332 332
 
333 333
 			// This hook fires when admin manually changes order status to cancel.
334
-			do_action( 'woocommerce_stripe_process_manual_cancel', $order );
334
+			do_action('woocommerce_stripe_process_manual_cancel', $order);
335 335
 		}
336 336
 	}
337 337
 }
Please login to merge, or discard this patch.
includes/class-wc-stripe-webhook-handler.php 1 patch
Spacing   +241 added lines, -241 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if ( ! defined( 'ABSPATH' ) ) {
2
+if ( ! defined('ABSPATH')) {
3 3
 	exit;
4 4
 }
5 5
 
@@ -39,12 +39,12 @@  discard block
 block discarded – undo
39 39
 	 */
40 40
 	public function __construct() {
41 41
 		$this->retry_interval = 2;
42
-		$stripe_settings      = get_option( 'woocommerce_stripe_settings', array() );
43
-		$this->testmode       = ( ! empty( $stripe_settings['testmode'] ) && 'yes' === $stripe_settings['testmode'] ) ? true : false;
44
-		$secret_key           = ( $this->testmode ? 'test_' : '' ) . 'webhook_secret';
45
-		$this->secret         = ! empty( $stripe_settings[ $secret_key ] ) ? $stripe_settings[ $secret_key ] : false;
42
+		$stripe_settings      = get_option('woocommerce_stripe_settings', array());
43
+		$this->testmode       = ( ! empty($stripe_settings['testmode']) && 'yes' === $stripe_settings['testmode']) ? true : false;
44
+		$secret_key           = ($this->testmode ? 'test_' : '') . 'webhook_secret';
45
+		$this->secret         = ! empty($stripe_settings[$secret_key]) ? $stripe_settings[$secret_key] : false;
46 46
 
47
-		add_action( 'woocommerce_api_wc_stripe', array( $this, 'check_for_webhook' ) );
47
+		add_action('woocommerce_api_wc_stripe', array($this, 'check_for_webhook'));
48 48
 	}
49 49
 
50 50
 	/**
@@ -54,24 +54,24 @@  discard block
 block discarded – undo
54 54
 	 * @version 4.0.0
55 55
 	 */
56 56
 	public function check_for_webhook() {
57
-		if ( ( 'POST' !== $_SERVER['REQUEST_METHOD'] )
58
-			|| ! isset( $_GET['wc-api'] )
59
-			|| ( 'wc_stripe' !== $_GET['wc-api'] )
57
+		if (('POST' !== $_SERVER['REQUEST_METHOD'])
58
+			|| ! isset($_GET['wc-api'])
59
+			|| ('wc_stripe' !== $_GET['wc-api'])
60 60
 		) {
61 61
 			return;
62 62
 		}
63 63
 
64
-		$request_body    = file_get_contents( 'php://input' );
65
-		$request_headers = array_change_key_case( $this->get_request_headers(), CASE_UPPER );
64
+		$request_body    = file_get_contents('php://input');
65
+		$request_headers = array_change_key_case($this->get_request_headers(), CASE_UPPER);
66 66
 
67 67
 		// Validate it to make sure it is legit.
68
-		if ( $this->is_valid_request( $request_headers, $request_body ) ) {
69
-			$this->process_webhook( $request_body );
70
-			status_header( 200 );
68
+		if ($this->is_valid_request($request_headers, $request_body)) {
69
+			$this->process_webhook($request_body);
70
+			status_header(200);
71 71
 			exit;
72 72
 		} else {
73
-			WC_Stripe_Logger::log( 'Incoming webhook failed validation: ' . print_r( $request_body, true ) );
74
-			status_header( 400 );
73
+			WC_Stripe_Logger::log('Incoming webhook failed validation: ' . print_r($request_body, true));
74
+			status_header(400);
75 75
 			exit;
76 76
 		}
77 77
 	}
@@ -85,34 +85,34 @@  discard block
 block discarded – undo
85 85
 	 * @param string $request_body The request body from Stripe.
86 86
 	 * @return bool
87 87
 	 */
88
-	public function is_valid_request( $request_headers = null, $request_body = null ) {
89
-		if ( null === $request_headers || null === $request_body ) {
88
+	public function is_valid_request($request_headers = null, $request_body = null) {
89
+		if (null === $request_headers || null === $request_body) {
90 90
 			return false;
91 91
 		}
92 92
 
93
-		if ( ! empty( $request_headers['USER-AGENT'] ) && ! preg_match( '/Stripe/', $request_headers['USER-AGENT'] ) ) {
93
+		if ( ! empty($request_headers['USER-AGENT']) && ! preg_match('/Stripe/', $request_headers['USER-AGENT'])) {
94 94
 			return false;
95 95
 		}
96 96
 
97
-		if ( ! empty( $this->secret ) ) {
97
+		if ( ! empty($this->secret)) {
98 98
 			// Check for a valid signature.
99 99
 			$signature_format = '/^t=(?P<timestamp>\d+)(?P<signatures>(,v\d+=[a-z0-9]+){1,2})$/';
100
-			if ( empty( $request_headers['STRIPE-SIGNATURE'] ) || ! preg_match( $signature_format, $request_headers['STRIPE-SIGNATURE'], $matches ) ) {
100
+			if (empty($request_headers['STRIPE-SIGNATURE']) || ! preg_match($signature_format, $request_headers['STRIPE-SIGNATURE'], $matches)) {
101 101
 				return false;
102 102
 			}
103 103
 
104 104
 			// Verify the timestamp.
105
-			$timestamp = intval( $matches['timestamp'] );
106
-			if ( abs( $timestamp - time() ) > 5 * MINUTE_IN_SECONDS ) {
105
+			$timestamp = intval($matches['timestamp']);
106
+			if (abs($timestamp - time()) > 5 * MINUTE_IN_SECONDS) {
107 107
 				return;
108 108
 			}
109 109
 
110 110
 			// Generate the expected signature.
111 111
 			$signed_payload     = $timestamp . '.' . $request_body;
112
-			$expected_signature = hash_hmac( 'sha256', $signed_payload, $this->secret );
112
+			$expected_signature = hash_hmac('sha256', $signed_payload, $this->secret);
113 113
 
114 114
 			// Check if the expected signature is present.
115
-			if ( ! preg_match( '/,v\d+=' . preg_quote( $expected_signature, '/' ) . '/', $matches['signatures'] ) ) {
115
+			if ( ! preg_match('/,v\d+=' . preg_quote($expected_signature, '/') . '/', $matches['signatures'])) {
116 116
 				return false;
117 117
 			}
118 118
 		}
@@ -129,12 +129,12 @@  discard block
 block discarded – undo
129 129
 	 * @version 4.0.0
130 130
 	 */
131 131
 	public function get_request_headers() {
132
-		if ( ! function_exists( 'getallheaders' ) ) {
132
+		if ( ! function_exists('getallheaders')) {
133 133
 			$headers = array();
134 134
 
135
-			foreach ( $_SERVER as $name => $value ) {
136
-				if ( 'HTTP_' === substr( $name, 0, 5 ) ) {
137
-					$headers[ str_replace( ' ', '-', ucwords( strtolower( str_replace( '_', ' ', substr( $name, 5 ) ) ) ) ) ] = $value;
135
+			foreach ($_SERVER as $name => $value) {
136
+				if ('HTTP_' === substr($name, 0, 5)) {
137
+					$headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
138 138
 				}
139 139
 			}
140 140
 
@@ -153,30 +153,30 @@  discard block
 block discarded – undo
153 153
 	 * @param object $notification
154 154
 	 * @param bool $retry
155 155
 	 */
156
-	public function process_webhook_payment( $notification, $retry = true ) {
156
+	public function process_webhook_payment($notification, $retry = true) {
157 157
 		// The following 3 payment methods are synchronous so does not need to be handle via webhook.
158
-		if ( 'card' === $notification->data->object->type || 'sepa_debit' === $notification->data->object->type || 'three_d_secure' === $notification->data->object->type ) {
158
+		if ('card' === $notification->data->object->type || 'sepa_debit' === $notification->data->object->type || 'three_d_secure' === $notification->data->object->type) {
159 159
 			return;
160 160
 		}
161 161
 
162
-		$order = WC_Stripe_Helper::get_order_by_source_id( $notification->data->object->id );
162
+		$order = WC_Stripe_Helper::get_order_by_source_id($notification->data->object->id);
163 163
 
164
-		if ( ! $order ) {
165
-			WC_Stripe_Logger::log( 'Could not find order via source ID: ' . $notification->data->object->id );
164
+		if ( ! $order) {
165
+			WC_Stripe_Logger::log('Could not find order via source ID: ' . $notification->data->object->id);
166 166
 			return;
167 167
 		}
168 168
 
169
-		$order_id  = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->id : $order->get_id();
169
+		$order_id  = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->id : $order->get_id();
170 170
 		$source_id = $notification->data->object->id;
171 171
 
172
-		$is_pending_receiver = ( 'receiver' === $notification->data->object->flow );
172
+		$is_pending_receiver = ('receiver' === $notification->data->object->flow);
173 173
 
174 174
 		try {
175
-			if ( $order->has_status( array( 'processing', 'completed' ) ) ) {
175
+			if ($order->has_status(array('processing', 'completed'))) {
176 176
 				return;
177 177
 			}
178 178
 
179
-			if ( $order->has_status( 'on-hold' ) && ! $is_pending_receiver ) {
179
+			if ($order->has_status('on-hold') && ! $is_pending_receiver) {
180 180
 				return;
181 181
 			}
182 182
 
@@ -184,94 +184,94 @@  discard block
 block discarded – undo
184 184
 			$response = null;
185 185
 
186 186
 			// This will throw exception if not valid.
187
-			$this->validate_minimum_order_amount( $order );
187
+			$this->validate_minimum_order_amount($order);
188 188
 
189
-			WC_Stripe_Logger::log( "Info: (Webhook) Begin processing payment for order $order_id for the amount of {$order->get_total()}" );
189
+			WC_Stripe_Logger::log("Info: (Webhook) Begin processing payment for order $order_id for the amount of {$order->get_total()}");
190 190
 
191 191
 			// Prep source object.
192 192
 			$source_object           = new stdClass();
193 193
 			$source_object->token_id = '';
194
-			$source_object->customer = $this->get_stripe_customer_id( $order );
194
+			$source_object->customer = $this->get_stripe_customer_id($order);
195 195
 			$source_object->source   = $source_id;
196 196
 
197 197
 			// Make the request.
198
-			$response = WC_Stripe_API::request( $this->generate_payment_request( $order, $source_object ), 'charges', 'POST', true );
198
+			$response = WC_Stripe_API::request($this->generate_payment_request($order, $source_object), 'charges', 'POST', true);
199 199
 			$headers  = $response['headers'];
200 200
 			$response = $response['body'];
201 201
 
202
-			if ( ! empty( $response->error ) ) {
202
+			if ( ! empty($response->error)) {
203 203
 				// Customer param wrong? The user may have been deleted on stripe's end. Remove customer_id. Can be retried without.
204
-				if ( $this->is_no_such_customer_error( $response->error ) ) {
205
-					if ( WC_Stripe_Helper::is_wc_lt( '3.0' ) ) {
206
-						delete_user_meta( $order->customer_user, '_stripe_customer_id' );
207
-						delete_post_meta( $order_id, '_stripe_customer_id' );
204
+				if ($this->is_no_such_customer_error($response->error)) {
205
+					if (WC_Stripe_Helper::is_wc_lt('3.0')) {
206
+						delete_user_meta($order->customer_user, '_stripe_customer_id');
207
+						delete_post_meta($order_id, '_stripe_customer_id');
208 208
 					} else {
209
-						delete_user_meta( $order->get_customer_id(), '_stripe_customer_id' );
210
-						$order->delete_meta_data( '_stripe_customer_id' );
209
+						delete_user_meta($order->get_customer_id(), '_stripe_customer_id');
210
+						$order->delete_meta_data('_stripe_customer_id');
211 211
 						$order->save();
212 212
 					}
213 213
 				}
214 214
 
215
-				if ( $this->is_no_such_token_error( $response->error ) && $prepared_source->token_id ) {
215
+				if ($this->is_no_such_token_error($response->error) && $prepared_source->token_id) {
216 216
 					// Source param wrong? The CARD may have been deleted on stripe's end. Remove token and show message.
217
-					$wc_token = WC_Payment_Tokens::get( $prepared_source->token_id );
217
+					$wc_token = WC_Payment_Tokens::get($prepared_source->token_id);
218 218
 					$wc_token->delete();
219
-					$localized_message = __( 'This card is no longer available and has been removed.', 'woocommerce-gateway-stripe' );
220
-					$order->add_order_note( $localized_message );
221
-					throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message );
219
+					$localized_message = __('This card is no longer available and has been removed.', 'woocommerce-gateway-stripe');
220
+					$order->add_order_note($localized_message);
221
+					throw new WC_Stripe_Exception(print_r($response, true), $localized_message);
222 222
 				}
223 223
 
224 224
 				// We want to retry.
225
-				if ( $this->is_retryable_error( $response->error ) ) {
226
-					if ( $retry ) {
225
+				if ($this->is_retryable_error($response->error)) {
226
+					if ($retry) {
227 227
 						// Don't do anymore retries after this.
228
-						if ( 5 <= $this->retry_interval ) {
228
+						if (5 <= $this->retry_interval) {
229 229
 
230
-							return $this->process_webhook_payment( $notification, false );
230
+							return $this->process_webhook_payment($notification, false);
231 231
 						}
232 232
 
233
-						sleep( $this->retry_interval );
233
+						sleep($this->retry_interval);
234 234
 
235 235
 						$this->retry_interval++;
236
-						return $this->process_webhook_payment( $notification, true );
236
+						return $this->process_webhook_payment($notification, true);
237 237
 					} else {
238
-						$localized_message = __( 'Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe' );
239
-						$order->add_order_note( $localized_message );
240
-						throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message );
238
+						$localized_message = __('Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe');
239
+						$order->add_order_note($localized_message);
240
+						throw new WC_Stripe_Exception(print_r($response, true), $localized_message);
241 241
 					}
242 242
 				}
243 243
 
244 244
 				$localized_messages = WC_Stripe_Helper::get_localized_messages();
245 245
 
246
-				if ( 'card_error' === $response->error->type ) {
247
-					$localized_message = isset( $localized_messages[ $response->error->code ] ) ? $localized_messages[ $response->error->code ] : $response->error->message;
246
+				if ('card_error' === $response->error->type) {
247
+					$localized_message = isset($localized_messages[$response->error->code]) ? $localized_messages[$response->error->code] : $response->error->message;
248 248
 				} else {
249
-					$localized_message = isset( $localized_messages[ $response->error->type ] ) ? $localized_messages[ $response->error->type ] : $response->error->message;
249
+					$localized_message = isset($localized_messages[$response->error->type]) ? $localized_messages[$response->error->type] : $response->error->message;
250 250
 				}
251 251
 
252
-				$order->add_order_note( $localized_message );
252
+				$order->add_order_note($localized_message);
253 253
 
254
-				throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message );
254
+				throw new WC_Stripe_Exception(print_r($response, true), $localized_message);
255 255
 			}
256 256
 
257 257
 			// To prevent double processing the order on WC side.
258
-			if ( ! $this->is_original_request( $headers ) ) {
258
+			if ( ! $this->is_original_request($headers)) {
259 259
 				return;
260 260
 			}
261 261
 
262
-			do_action( 'wc_gateway_stripe_process_webhook_payment', $response, $order );
262
+			do_action('wc_gateway_stripe_process_webhook_payment', $response, $order);
263 263
 
264
-			$this->process_response( $response, $order );
264
+			$this->process_response($response, $order);
265 265
 
266
-		} catch ( WC_Stripe_Exception $e ) {
267
-			WC_Stripe_Logger::log( 'Error: ' . $e->getMessage() );
266
+		} catch (WC_Stripe_Exception $e) {
267
+			WC_Stripe_Logger::log('Error: ' . $e->getMessage());
268 268
 
269
-			do_action( 'wc_gateway_stripe_process_webhook_payment_error', $order, $notification, $e );
269
+			do_action('wc_gateway_stripe_process_webhook_payment_error', $order, $notification, $e);
270 270
 
271
-			$statuses = array( 'pending', 'failed' );
271
+			$statuses = array('pending', 'failed');
272 272
 
273
-			if ( $order->has_status( $statuses ) ) {
274
-				$this->send_failed_order_email( $order_id );
273
+			if ($order->has_status($statuses)) {
274
+				$this->send_failed_order_email($order_id);
275 275
 			}
276 276
 		}
277 277
 	}
@@ -284,21 +284,21 @@  discard block
 block discarded – undo
284 284
 	 * @since 4.0.0
285 285
 	 * @param object $notification
286 286
 	 */
287
-	public function process_webhook_dispute( $notification ) {
288
-		$order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->charge );
287
+	public function process_webhook_dispute($notification) {
288
+		$order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->charge);
289 289
 
290
-		if ( ! $order ) {
291
-			WC_Stripe_Logger::log( 'Could not find order via charge ID: ' . $notification->data->object->charge );
290
+		if ( ! $order) {
291
+			WC_Stripe_Logger::log('Could not find order via charge ID: ' . $notification->data->object->charge);
292 292
 			return;
293 293
 		}
294 294
 
295 295
 		/* translators: 1) The URL to the order. */
296
-		$order->update_status( 'on-hold', sprintf( __( 'A dispute was created for this order. Response is needed. Please go to your <a href="%s" title="Stripe Dashboard" target="_blank">Stripe Dashboard</a> to review this dispute.', 'woocommerce-gateway-stripe' ), $this->get_transaction_url( $order ) ) );
296
+		$order->update_status('on-hold', sprintf(__('A dispute was created for this order. Response is needed. Please go to your <a href="%s" title="Stripe Dashboard" target="_blank">Stripe Dashboard</a> to review this dispute.', 'woocommerce-gateway-stripe'), $this->get_transaction_url($order)));
297 297
 
298
-		do_action( 'wc_gateway_stripe_process_webhook_payment_error', $order, $notification );
298
+		do_action('wc_gateway_stripe_process_webhook_payment_error', $order, $notification);
299 299
 
300
-		$order_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->id : $order->get_id();
301
-		$this->send_failed_order_email( $order_id );
300
+		$order_id = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->id : $order->get_id();
301
+		$this->send_failed_order_email($order_id);
302 302
 	}
303 303
 
304 304
 	/**
@@ -309,45 +309,45 @@  discard block
 block discarded – undo
309 309
 	 * @version 4.0.0
310 310
 	 * @param object $notification
311 311
 	 */
312
-	public function process_webhook_capture( $notification ) {
313
-		$order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->id );
312
+	public function process_webhook_capture($notification) {
313
+		$order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->id);
314 314
 
315
-		if ( ! $order ) {
316
-			WC_Stripe_Logger::log( 'Could not find order via charge ID: ' . $notification->data->object->id );
315
+		if ( ! $order) {
316
+			WC_Stripe_Logger::log('Could not find order via charge ID: ' . $notification->data->object->id);
317 317
 			return;
318 318
 		}
319 319
 
320
-		$order_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->id : $order->get_id();
320
+		$order_id = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->id : $order->get_id();
321 321
 
322
-		if ( 'stripe' === ( WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->payment_method : $order->get_payment_method() ) ) {
323
-			$charge   = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? get_post_meta( $order_id, '_transaction_id', true ) : $order->get_transaction_id();
324
-			$captured = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? get_post_meta( $order_id, '_stripe_charge_captured', true ) : $order->get_meta( '_stripe_charge_captured', true );
322
+		if ('stripe' === (WC_Stripe_Helper::is_wc_lt('3.0') ? $order->payment_method : $order->get_payment_method())) {
323
+			$charge   = WC_Stripe_Helper::is_wc_lt('3.0') ? get_post_meta($order_id, '_transaction_id', true) : $order->get_transaction_id();
324
+			$captured = WC_Stripe_Helper::is_wc_lt('3.0') ? get_post_meta($order_id, '_stripe_charge_captured', true) : $order->get_meta('_stripe_charge_captured', true);
325 325
 
326
-			if ( $charge && 'no' === $captured ) {
327
-				WC_Stripe_Helper::is_wc_lt( '3.0' ) ? update_post_meta( $order_id, '_stripe_charge_captured', 'yes' ) : $order->update_meta_data( '_stripe_charge_captured', 'yes' );
326
+			if ($charge && 'no' === $captured) {
327
+				WC_Stripe_Helper::is_wc_lt('3.0') ? update_post_meta($order_id, '_stripe_charge_captured', 'yes') : $order->update_meta_data('_stripe_charge_captured', 'yes');
328 328
 
329 329
 				// Store other data such as fees
330
-				WC_Stripe_Helper::is_wc_lt( '3.0' ) ? update_post_meta( $order_id, '_transaction_id', $notification->data->object->id ) : $order->set_transaction_id( $notification->data->object->id );
330
+				WC_Stripe_Helper::is_wc_lt('3.0') ? update_post_meta($order_id, '_transaction_id', $notification->data->object->id) : $order->set_transaction_id($notification->data->object->id);
331 331
 
332
-				if ( isset( $notification->data->object->balance_transaction ) ) {
333
-					$this->update_fees( $order, $notification->data->object->balance_transaction );
332
+				if (isset($notification->data->object->balance_transaction)) {
333
+					$this->update_fees($order, $notification->data->object->balance_transaction);
334 334
 				}
335 335
 
336 336
 				// Check and see if capture is partial.
337
-				if ( $this->is_partial_capture( $notification ) ) {
338
-					$partial_amount = $this->get_partial_amount_to_charge( $notification );
339
-					$order->set_total( $partial_amount );
340
-					$this->update_fees( $order, $notification->data->object->refunds->data[0]->balance_transaction );
337
+				if ($this->is_partial_capture($notification)) {
338
+					$partial_amount = $this->get_partial_amount_to_charge($notification);
339
+					$order->set_total($partial_amount);
340
+					$this->update_fees($order, $notification->data->object->refunds->data[0]->balance_transaction);
341 341
 					/* translators: partial captured amount */
342
-					$order->add_order_note( sprintf( __( 'This charge was partially captured via Stripe Dashboard in the amount of: %s', 'woocommerce-gateway-stripe' ), $partial_amount ) );
342
+					$order->add_order_note(sprintf(__('This charge was partially captured via Stripe Dashboard in the amount of: %s', 'woocommerce-gateway-stripe'), $partial_amount));
343 343
 				} else {
344
-					$order->payment_complete( $notification->data->object->id );
344
+					$order->payment_complete($notification->data->object->id);
345 345
 
346 346
 					/* translators: transaction id */
347
-					$order->add_order_note( sprintf( __( 'Stripe charge complete (Charge ID: %s)', 'woocommerce-gateway-stripe' ), $notification->data->object->id ) );
347
+					$order->add_order_note(sprintf(__('Stripe charge complete (Charge ID: %s)', 'woocommerce-gateway-stripe'), $notification->data->object->id));
348 348
 				}
349 349
 
350
-				if ( is_callable( array( $order, 'save' ) ) ) {
350
+				if (is_callable(array($order, 'save'))) {
351 351
 					$order->save();
352 352
 				}
353 353
 			}
@@ -362,43 +362,43 @@  discard block
 block discarded – undo
362 362
 	 * @version 4.0.0
363 363
 	 * @param object $notification
364 364
 	 */
365
-	public function process_webhook_charge_succeeded( $notification ) {
365
+	public function process_webhook_charge_succeeded($notification) {
366 366
 		// Ignore the notification for charges, created through PaymentIntents.
367
-		if ( isset( $notification->data->object->payment_intent ) && $notification->data->object->payment_intent ) {
367
+		if (isset($notification->data->object->payment_intent) && $notification->data->object->payment_intent) {
368 368
 			return;
369 369
 		}
370 370
 
371 371
 		// The following payment methods are synchronous so does not need to be handle via webhook.
372
-		if ( ( isset( $notification->data->object->source->type ) && 'card' === $notification->data->object->source->type ) || ( isset( $notification->data->object->source->type ) && 'three_d_secure' === $notification->data->object->source->type ) ) {
372
+		if ((isset($notification->data->object->source->type) && 'card' === $notification->data->object->source->type) || (isset($notification->data->object->source->type) && 'three_d_secure' === $notification->data->object->source->type)) {
373 373
 			return;
374 374
 		}
375 375
 
376
-		$order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->id );
376
+		$order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->id);
377 377
 
378
-		if ( ! $order ) {
379
-			WC_Stripe_Logger::log( 'Could not find order via charge ID: ' . $notification->data->object->id );
378
+		if ( ! $order) {
379
+			WC_Stripe_Logger::log('Could not find order via charge ID: ' . $notification->data->object->id);
380 380
 			return;
381 381
 		}
382 382
 
383
-		$order_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->id : $order->get_id();
383
+		$order_id = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->id : $order->get_id();
384 384
 
385
-		if ( ! $order->has_status( 'on-hold' ) ) {
385
+		if ( ! $order->has_status('on-hold')) {
386 386
 			return;
387 387
 		}
388 388
 
389 389
 		// Store other data such as fees
390
-		WC_Stripe_Helper::is_wc_lt( '3.0' ) ? update_post_meta( $order_id, '_transaction_id', $notification->data->object->id ) : $order->set_transaction_id( $notification->data->object->id );
390
+		WC_Stripe_Helper::is_wc_lt('3.0') ? update_post_meta($order_id, '_transaction_id', $notification->data->object->id) : $order->set_transaction_id($notification->data->object->id);
391 391
 
392
-		if ( isset( $notification->data->object->balance_transaction ) ) {
393
-			$this->update_fees( $order, $notification->data->object->balance_transaction );
392
+		if (isset($notification->data->object->balance_transaction)) {
393
+			$this->update_fees($order, $notification->data->object->balance_transaction);
394 394
 		}
395 395
 
396
-		$order->payment_complete( $notification->data->object->id );
396
+		$order->payment_complete($notification->data->object->id);
397 397
 
398 398
 		/* translators: transaction id */
399
-		$order->add_order_note( sprintf( __( 'Stripe charge complete (Charge ID: %s)', 'woocommerce-gateway-stripe' ), $notification->data->object->id ) );
399
+		$order->add_order_note(sprintf(__('Stripe charge complete (Charge ID: %s)', 'woocommerce-gateway-stripe'), $notification->data->object->id));
400 400
 
401
-		if ( is_callable( array( $order, 'save' ) ) ) {
401
+		if (is_callable(array($order, 'save'))) {
402 402
 			$order->save();
403 403
 		}
404 404
 	}
@@ -410,24 +410,24 @@  discard block
 block discarded – undo
410 410
 	 * @since 4.1.5 Can handle any fail payments from any methods.
411 411
 	 * @param object $notification
412 412
 	 */
413
-	public function process_webhook_charge_failed( $notification ) {
414
-		$order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->id );
413
+	public function process_webhook_charge_failed($notification) {
414
+		$order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->id);
415 415
 
416
-		if ( ! $order ) {
417
-			WC_Stripe_Logger::log( 'Could not find order via charge ID: ' . $notification->data->object->id );
416
+		if ( ! $order) {
417
+			WC_Stripe_Logger::log('Could not find order via charge ID: ' . $notification->data->object->id);
418 418
 			return;
419 419
 		}
420 420
 
421
-		$order_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->id : $order->get_id();
421
+		$order_id = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->id : $order->get_id();
422 422
 
423 423
 		// If order status is already in failed status don't continue.
424
-		if ( $order->has_status( 'failed' ) ) {
424
+		if ($order->has_status('failed')) {
425 425
 			return;
426 426
 		}
427 427
 
428
-		$order->update_status( 'failed', __( 'This payment failed to clear.', 'woocommerce-gateway-stripe' ) );
428
+		$order->update_status('failed', __('This payment failed to clear.', 'woocommerce-gateway-stripe'));
429 429
 
430
-		do_action( 'wc_gateway_stripe_process_webhook_payment_error', $order, $notification );
430
+		do_action('wc_gateway_stripe_process_webhook_payment_error', $order, $notification);
431 431
 	}
432 432
 
433 433
 	/**
@@ -438,30 +438,30 @@  discard block
 block discarded – undo
438 438
 	 * @since 4.1.15 Add check to make sure order is processed by Stripe.
439 439
 	 * @param object $notification
440 440
 	 */
441
-	public function process_webhook_source_canceled( $notification ) {
442
-		$order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->id );
441
+	public function process_webhook_source_canceled($notification) {
442
+		$order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->id);
443 443
 
444 444
 		// If can't find order by charge ID, try source ID.
445
-		if ( ! $order ) {
446
-			$order = WC_Stripe_Helper::get_order_by_source_id( $notification->data->object->id );
445
+		if ( ! $order) {
446
+			$order = WC_Stripe_Helper::get_order_by_source_id($notification->data->object->id);
447 447
 
448
-			if ( ! $order ) {
449
-				WC_Stripe_Logger::log( 'Could not find order via charge/source ID: ' . $notification->data->object->id );
448
+			if ( ! $order) {
449
+				WC_Stripe_Logger::log('Could not find order via charge/source ID: ' . $notification->data->object->id);
450 450
 				return;
451 451
 			}
452 452
 		}
453 453
 
454 454
 		// Don't proceed if payment method isn't Stripe.
455
-		if ( 'stripe' !== $order->get_payment_method() ) {
456
-			WC_Stripe_Logger::log( 'Canceled webhook abort: Order was not processed by Stripe: ' . $order->get_id() );
455
+		if ('stripe' !== $order->get_payment_method()) {
456
+			WC_Stripe_Logger::log('Canceled webhook abort: Order was not processed by Stripe: ' . $order->get_id());
457 457
 			return;
458 458
 		}
459 459
 
460
-		if ( ! $order->has_status( 'cancelled' ) ) {
461
-			$order->update_status( 'cancelled', __( 'This payment has cancelled.', 'woocommerce-gateway-stripe' ) );
460
+		if ( ! $order->has_status('cancelled')) {
461
+			$order->update_status('cancelled', __('This payment has cancelled.', 'woocommerce-gateway-stripe'));
462 462
 		}
463 463
 
464
-		do_action( 'wc_gateway_stripe_process_webhook_payment_error', $order, $notification );
464
+		do_action('wc_gateway_stripe_process_webhook_payment_error', $order, $notification);
465 465
 	}
466 466
 
467 467
 	/**
@@ -471,59 +471,59 @@  discard block
 block discarded – undo
471 471
 	 * @version 4.0.0
472 472
 	 * @param object $notification
473 473
 	 */
474
-	public function process_webhook_refund( $notification ) {
475
-		$order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->id );
474
+	public function process_webhook_refund($notification) {
475
+		$order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->id);
476 476
 
477
-		if ( ! $order ) {
478
-			WC_Stripe_Logger::log( 'Could not find order via charge ID: ' . $notification->data->object->id );
477
+		if ( ! $order) {
478
+			WC_Stripe_Logger::log('Could not find order via charge ID: ' . $notification->data->object->id);
479 479
 			return;
480 480
 		}
481 481
 
482
-		$order_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->id : $order->get_id();
482
+		$order_id = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->id : $order->get_id();
483 483
 
484
-		if ( 'stripe' === ( WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->payment_method : $order->get_payment_method() ) ) {
485
-			$charge    = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? get_post_meta( $order_id, '_transaction_id', true ) : $order->get_transaction_id();
486
-			$captured  = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? get_post_meta( $order_id, '_stripe_charge_captured', true ) : $order->get_meta( '_stripe_charge_captured', true );
487
-			$refund_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? get_post_meta( $order_id, '_stripe_refund_id', true ) : $order->get_meta( '_stripe_refund_id', true );
484
+		if ('stripe' === (WC_Stripe_Helper::is_wc_lt('3.0') ? $order->payment_method : $order->get_payment_method())) {
485
+			$charge    = WC_Stripe_Helper::is_wc_lt('3.0') ? get_post_meta($order_id, '_transaction_id', true) : $order->get_transaction_id();
486
+			$captured  = WC_Stripe_Helper::is_wc_lt('3.0') ? get_post_meta($order_id, '_stripe_charge_captured', true) : $order->get_meta('_stripe_charge_captured', true);
487
+			$refund_id = WC_Stripe_Helper::is_wc_lt('3.0') ? get_post_meta($order_id, '_stripe_refund_id', true) : $order->get_meta('_stripe_refund_id', true);
488 488
 
489 489
 			// If the refund ID matches, don't continue to prevent double refunding.
490
-			if ( $notification->data->object->refunds->data[0]->id === $refund_id ) {
490
+			if ($notification->data->object->refunds->data[0]->id === $refund_id) {
491 491
 				return;
492 492
 			}
493 493
 
494 494
 			// Only refund captured charge.
495
-			if ( $charge ) {
496
-				$reason = ( isset( $captured ) && 'yes' === $captured ) ? __( 'Refunded via Stripe Dashboard', 'woocommerce-gateway-stripe' ) : __( 'Pre-Authorization Released via Stripe Dashboard', 'woocommerce-gateway-stripe' );
495
+			if ($charge) {
496
+				$reason = (isset($captured) && 'yes' === $captured) ? __('Refunded via Stripe Dashboard', 'woocommerce-gateway-stripe') : __('Pre-Authorization Released via Stripe Dashboard', 'woocommerce-gateway-stripe');
497 497
 
498 498
 				// Create the refund.
499 499
 				$refund = wc_create_refund(
500 500
 					array(
501 501
 						'order_id' => $order_id,
502
-						'amount'   => $this->get_refund_amount( $notification ),
502
+						'amount'   => $this->get_refund_amount($notification),
503 503
 						'reason'   => $reason,
504 504
 					)
505 505
 				);
506 506
 
507
-				if ( is_wp_error( $refund ) ) {
508
-					WC_Stripe_Logger::log( $refund->get_error_message() );
507
+				if (is_wp_error($refund)) {
508
+					WC_Stripe_Logger::log($refund->get_error_message());
509 509
 				}
510 510
 
511
-				WC_Stripe_Helper::is_wc_lt( '3.0' ) ? update_post_meta( $order_id, '_stripe_refund_id', $notification->data->object->refunds->data[0]->id ) : $order->update_meta_data( '_stripe_refund_id', $notification->data->object->refunds->data[0]->id );
511
+				WC_Stripe_Helper::is_wc_lt('3.0') ? update_post_meta($order_id, '_stripe_refund_id', $notification->data->object->refunds->data[0]->id) : $order->update_meta_data('_stripe_refund_id', $notification->data->object->refunds->data[0]->id);
512 512
 
513
-				$amount = wc_price( $notification->data->object->refunds->data[0]->amount / 100 );
513
+				$amount = wc_price($notification->data->object->refunds->data[0]->amount / 100);
514 514
 
515
-				if ( in_array( strtolower( WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->get_order_currency() : $order->get_currency() ), WC_Stripe_Helper::no_decimal_currencies() ) ) {
516
-					$amount = wc_price( $notification->data->object->refunds->data[0]->amount );
515
+				if (in_array(strtolower(WC_Stripe_Helper::is_wc_lt('3.0') ? $order->get_order_currency() : $order->get_currency()), WC_Stripe_Helper::no_decimal_currencies())) {
516
+					$amount = wc_price($notification->data->object->refunds->data[0]->amount);
517 517
 				}
518 518
 
519
-				if ( isset( $notification->data->object->refunds->data[0]->balance_transaction ) ) {
520
-					$this->update_fees( $order, $notification->data->object->refunds->data[0]->balance_transaction );
519
+				if (isset($notification->data->object->refunds->data[0]->balance_transaction)) {
520
+					$this->update_fees($order, $notification->data->object->refunds->data[0]->balance_transaction);
521 521
 				}
522 522
 
523 523
 				/* translators: 1) dollar amount 2) transaction id 3) refund message */
524
-				$refund_message = ( isset( $captured ) && 'yes' === $captured ) ? sprintf( __( 'Refunded %1$s - Refund ID: %2$s - %3$s', 'woocommerce-gateway-stripe' ), $amount, $notification->data->object->refunds->data[0]->id, $reason ) : __( 'Pre-Authorization Released via Stripe Dashboard', 'woocommerce-gateway-stripe' );
524
+				$refund_message = (isset($captured) && 'yes' === $captured) ? sprintf(__('Refunded %1$s - Refund ID: %2$s - %3$s', 'woocommerce-gateway-stripe'), $amount, $notification->data->object->refunds->data[0]->id, $reason) : __('Pre-Authorization Released via Stripe Dashboard', 'woocommerce-gateway-stripe');
525 525
 
526
-				$order->add_order_note( $refund_message );
526
+				$order->add_order_note($refund_message);
527 527
 			}
528 528
 		}
529 529
 	}
@@ -534,30 +534,30 @@  discard block
 block discarded – undo
534 534
 	 * @since 4.0.6
535 535
 	 * @param object $notification
536 536
 	 */
537
-	public function process_review_opened( $notification ) {
538
-		if ( isset( $notification->data->object->payment_intent ) ) {
539
-			$order = WC_Stripe_Helper::get_order_by_intent_id( $notification->data->object->payment_intent );
537
+	public function process_review_opened($notification) {
538
+		if (isset($notification->data->object->payment_intent)) {
539
+			$order = WC_Stripe_Helper::get_order_by_intent_id($notification->data->object->payment_intent);
540 540
 
541
-			if ( ! $order ) {
542
-				WC_Stripe_Logger::log( '[Review Opened] Could not find order via intent ID: ' . $notification->data->object->payment_intent );
541
+			if ( ! $order) {
542
+				WC_Stripe_Logger::log('[Review Opened] Could not find order via intent ID: ' . $notification->data->object->payment_intent);
543 543
 				return;
544 544
 			}
545 545
 		} else {
546
-			$order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->charge );
546
+			$order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->charge);
547 547
 
548
-			if ( ! $order ) {
549
-				WC_Stripe_Logger::log( '[Review Opened] Could not find order via charge ID: ' . $notification->data->object->charge );
548
+			if ( ! $order) {
549
+				WC_Stripe_Logger::log('[Review Opened] Could not find order via charge ID: ' . $notification->data->object->charge);
550 550
 				return;
551 551
 			}
552 552
 		}
553 553
 
554 554
 		/* translators: 1) The URL to the order. 2) The reason type. */
555
-		$message = sprintf( __( 'A review has been opened for this order. Action is needed. Please go to your <a href="%1$s" title="Stripe Dashboard" target="_blank">Stripe Dashboard</a> to review the issue. Reason: (%2$s)', 'woocommerce-gateway-stripe' ), $this->get_transaction_url( $order ), $notification->data->object->reason );
555
+		$message = sprintf(__('A review has been opened for this order. Action is needed. Please go to your <a href="%1$s" title="Stripe Dashboard" target="_blank">Stripe Dashboard</a> to review the issue. Reason: (%2$s)', 'woocommerce-gateway-stripe'), $this->get_transaction_url($order), $notification->data->object->reason);
556 556
 
557
-		if ( apply_filters( 'wc_stripe_webhook_review_change_order_status', true, $order, $notification ) ) {
558
-			$order->update_status( 'on-hold', $message );
557
+		if (apply_filters('wc_stripe_webhook_review_change_order_status', true, $order, $notification)) {
558
+			$order->update_status('on-hold', $message);
559 559
 		} else {
560
-			$order->add_order_note( $message );
560
+			$order->add_order_note($message);
561 561
 		}
562 562
 	}
563 563
 
@@ -567,34 +567,34 @@  discard block
 block discarded – undo
567 567
 	 * @since 4.0.6
568 568
 	 * @param object $notification
569 569
 	 */
570
-	public function process_review_closed( $notification ) {
571
-		if ( isset( $notification->data->object->payment_intent ) ) {
572
-			$order = WC_Stripe_Helper::get_order_by_intent_id( $notification->data->object->payment_intent );
570
+	public function process_review_closed($notification) {
571
+		if (isset($notification->data->object->payment_intent)) {
572
+			$order = WC_Stripe_Helper::get_order_by_intent_id($notification->data->object->payment_intent);
573 573
 
574
-			if ( ! $order ) {
575
-				WC_Stripe_Logger::log( '[Review Closed] Could not find order via intent ID: ' . $notification->data->object->payment_intent );
574
+			if ( ! $order) {
575
+				WC_Stripe_Logger::log('[Review Closed] Could not find order via intent ID: ' . $notification->data->object->payment_intent);
576 576
 				return;
577 577
 			}
578 578
 		} else {
579
-			$order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->charge );
579
+			$order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->charge);
580 580
 
581
-			if ( ! $order ) {
582
-				WC_Stripe_Logger::log( '[Review Closed] Could not find order via charge ID: ' . $notification->data->object->charge );
581
+			if ( ! $order) {
582
+				WC_Stripe_Logger::log('[Review Closed] Could not find order via charge ID: ' . $notification->data->object->charge);
583 583
 				return;
584 584
 			}
585 585
 		}
586 586
 
587 587
 		/* translators: 1) The reason type. */
588
-		$message = sprintf( __( 'The opened review for this order is now closed. Reason: (%s)', 'woocommerce-gateway-stripe' ), $notification->data->object->reason );
588
+		$message = sprintf(__('The opened review for this order is now closed. Reason: (%s)', 'woocommerce-gateway-stripe'), $notification->data->object->reason);
589 589
 
590
-		if ( $order->has_status( 'on-hold' ) ) {
591
-			if ( apply_filters( 'wc_stripe_webhook_review_change_order_status', true, $order, $notification ) ) {
592
-				$order->update_status( 'processing', $message );
590
+		if ($order->has_status('on-hold')) {
591
+			if (apply_filters('wc_stripe_webhook_review_change_order_status', true, $order, $notification)) {
592
+				$order->update_status('processing', $message);
593 593
 			} else {
594
-				$order->add_order_note( $message );
594
+				$order->add_order_note($message);
595 595
 			}
596 596
 		} else {
597
-			$order->add_order_note( $message );
597
+			$order->add_order_note($message);
598 598
 		}
599 599
 	}
600 600
 
@@ -605,7 +605,7 @@  discard block
 block discarded – undo
605 605
 	 * @version 4.0.0
606 606
 	 * @param object $notification
607 607
 	 */
608
-	public function is_partial_capture( $notification ) {
608
+	public function is_partial_capture($notification) {
609 609
 		return 0 < $notification->data->object->amount_refunded;
610 610
 	}
611 611
 
@@ -616,11 +616,11 @@  discard block
 block discarded – undo
616 616
 	 * @version 4.0.0
617 617
 	 * @param object $notification
618 618
 	 */
619
-	public function get_refund_amount( $notification ) {
620
-		if ( $this->is_partial_capture( $notification ) ) {
619
+	public function get_refund_amount($notification) {
620
+		if ($this->is_partial_capture($notification)) {
621 621
 			$amount = $notification->data->object->refunds->data[0]->amount / 100;
622 622
 
623
-			if ( in_array( strtolower( $notification->data->object->currency ), WC_Stripe_Helper::no_decimal_currencies() ) ) {
623
+			if (in_array(strtolower($notification->data->object->currency), WC_Stripe_Helper::no_decimal_currencies())) {
624 624
 				$amount = $notification->data->object->refunds->data[0]->amount;
625 625
 			}
626 626
 
@@ -637,12 +637,12 @@  discard block
 block discarded – undo
637 637
 	 * @version 4.0.0
638 638
 	 * @param object $notification
639 639
 	 */
640
-	public function get_partial_amount_to_charge( $notification ) {
641
-		if ( $this->is_partial_capture( $notification ) ) {
642
-			$amount = ( $notification->data->object->amount - $notification->data->object->amount_refunded ) / 100;
640
+	public function get_partial_amount_to_charge($notification) {
641
+		if ($this->is_partial_capture($notification)) {
642
+			$amount = ($notification->data->object->amount - $notification->data->object->amount_refunded) / 100;
643 643
 
644
-			if ( in_array( strtolower( $notification->data->object->currency ), WC_Stripe_Helper::no_decimal_currencies() ) ) {
645
-				$amount = ( $notification->data->object->amount - $notification->data->object->amount_refunded );
644
+			if (in_array(strtolower($notification->data->object->currency), WC_Stripe_Helper::no_decimal_currencies())) {
645
+				$amount = ($notification->data->object->amount - $notification->data->object->amount_refunded);
646 646
 			}
647 647
 
648 648
 			return $amount;
@@ -651,69 +651,69 @@  discard block
 block discarded – undo
651 651
 		return false;
652 652
 	}
653 653
 
654
-	public function process_payment_intent_success( $notification ) {
654
+	public function process_payment_intent_success($notification) {
655 655
 		$intent = $notification->data->object;
656
-		$order = WC_Stripe_Helper::get_order_by_intent_id( $intent->id );
656
+		$order = WC_Stripe_Helper::get_order_by_intent_id($intent->id);
657 657
 
658
-		if ( ! $order ) {
659
-			WC_Stripe_Logger::log( 'Could not find order via intent ID: ' . $intent->id );
658
+		if ( ! $order) {
659
+			WC_Stripe_Logger::log('Could not find order via intent ID: ' . $intent->id);
660 660
 			return;
661 661
 		}
662 662
 
663
-		if ( ! $order->has_status( array( 'pending', 'failed' ) ) ) {
663
+		if ( ! $order->has_status(array('pending', 'failed'))) {
664 664
 			return;
665 665
 		}
666 666
 
667
-		if ( $this->lock_order_payment( $order, $intent ) ) {
667
+		if ($this->lock_order_payment($order, $intent)) {
668 668
 			return;
669 669
 		}
670 670
 
671
-		$order_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->id : $order->get_id();
672
-		if ( 'payment_intent.succeeded' === $notification->type || 'payment_intent.amount_capturable_updated' === $notification->type ) {
673
-			$charge = end( $intent->charges->data );
674
-			WC_Stripe_Logger::log( "Stripe PaymentIntent $intent->id succeeded for order $order_id" );
671
+		$order_id = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->id : $order->get_id();
672
+		if ('payment_intent.succeeded' === $notification->type || 'payment_intent.amount_capturable_updated' === $notification->type) {
673
+			$charge = end($intent->charges->data);
674
+			WC_Stripe_Logger::log("Stripe PaymentIntent $intent->id succeeded for order $order_id");
675 675
 
676
-			do_action( 'wc_gateway_stripe_process_payment', $charge, $order );
676
+			do_action('wc_gateway_stripe_process_payment', $charge, $order);
677 677
 
678 678
 			// Process valid response.
679
-			$this->process_response( $charge, $order );
679
+			$this->process_response($charge, $order);
680 680
 
681 681
 		} else {
682 682
 			$error_message = $intent->last_payment_error ? $intent->last_payment_error->message : "";
683 683
 
684 684
 			/* translators: 1) The error message that was received from Stripe. */
685
-			$order->update_status( 'failed', sprintf( __( 'Stripe SCA authentication failed. Reason: %s', 'woocommerce-gateway-stripe' ), $error_message ) );
685
+			$order->update_status('failed', sprintf(__('Stripe SCA authentication failed. Reason: %s', 'woocommerce-gateway-stripe'), $error_message));
686 686
 
687
-			do_action( 'wc_gateway_stripe_process_webhook_payment_error', $order, $notification );
687
+			do_action('wc_gateway_stripe_process_webhook_payment_error', $order, $notification);
688 688
 
689
-			$this->send_failed_order_email( $order_id );
689
+			$this->send_failed_order_email($order_id);
690 690
 		}
691 691
 
692
-		$this->unlock_order_payment( $order );
692
+		$this->unlock_order_payment($order);
693 693
 	}
694 694
 
695
-	public function process_setup_intent( $notification ) {
695
+	public function process_setup_intent($notification) {
696 696
 		$intent = $notification->data->object;
697
-		$order = WC_Stripe_Helper::get_order_by_setup_intent_id( $intent->id );
697
+		$order = WC_Stripe_Helper::get_order_by_setup_intent_id($intent->id);
698 698
 
699
-		if ( ! $order ) {
700
-			WC_Stripe_Logger::log( 'Could not find order via setup intent ID: ' . $intent->id );
699
+		if ( ! $order) {
700
+			WC_Stripe_Logger::log('Could not find order via setup intent ID: ' . $intent->id);
701 701
 			return;
702 702
 		}
703 703
 
704
-		if ( ! $order->has_status( array( 'pending', 'failed' ) ) ) {
704
+		if ( ! $order->has_status(array('pending', 'failed'))) {
705 705
 			return;
706 706
 		}
707 707
 
708
-		if ( $this->lock_order_payment( $order, $intent ) ) {
708
+		if ($this->lock_order_payment($order, $intent)) {
709 709
 			return;
710 710
 		}
711 711
 
712
-		$order_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->id : $order->get_id();
713
-		if ( 'setup_intent.succeeded' === $notification->type ) {
714
-			WC_Stripe_Logger::log( "Stripe SetupIntent $intent->id succeeded for order $order_id" );
715
-			if ( WC_Stripe_Helper::is_pre_orders_exists() && WC_Pre_Orders_Order::order_contains_pre_order( $order ) ) {
716
-				WC_Pre_Orders_Order::mark_order_as_pre_ordered( $order );
712
+		$order_id = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->id : $order->get_id();
713
+		if ('setup_intent.succeeded' === $notification->type) {
714
+			WC_Stripe_Logger::log("Stripe SetupIntent $intent->id succeeded for order $order_id");
715
+			if (WC_Stripe_Helper::is_pre_orders_exists() && WC_Pre_Orders_Order::order_contains_pre_order($order)) {
716
+				WC_Pre_Orders_Order::mark_order_as_pre_ordered($order);
717 717
 			} else {
718 718
 				$order->payment_complete();
719 719
 			}
@@ -721,12 +721,12 @@  discard block
 block discarded – undo
721 721
 			$error_message = $intent->last_setup_error ? $intent->last_setup_error->message : "";
722 722
 
723 723
 			/* translators: 1) The error message that was received from Stripe. */
724
-			$order->update_status( 'failed', sprintf( __( 'Stripe SCA authentication failed. Reason: %s', 'woocommerce-gateway-stripe' ), $error_message ) );
724
+			$order->update_status('failed', sprintf(__('Stripe SCA authentication failed. Reason: %s', 'woocommerce-gateway-stripe'), $error_message));
725 725
 
726
-			$this->send_failed_order_email( $order_id );
726
+			$this->send_failed_order_email($order_id);
727 727
 		}
728 728
 
729
-		$this->unlock_order_payment( $order );
729
+		$this->unlock_order_payment($order);
730 730
 	}
731 731
 
732 732
 	/**
@@ -736,55 +736,55 @@  discard block
 block discarded – undo
736 736
 	 * @version 4.0.0
737 737
 	 * @param string $request_body
738 738
 	 */
739
-	public function process_webhook( $request_body ) {
740
-		$notification = json_decode( $request_body );
739
+	public function process_webhook($request_body) {
740
+		$notification = json_decode($request_body);
741 741
 
742
-		switch ( $notification->type ) {
742
+		switch ($notification->type) {
743 743
 			case 'source.chargeable':
744
-				$this->process_webhook_payment( $notification );
744
+				$this->process_webhook_payment($notification);
745 745
 				break;
746 746
 
747 747
 			case 'source.canceled':
748
-				$this->process_webhook_source_canceled( $notification );
748
+				$this->process_webhook_source_canceled($notification);
749 749
 				break;
750 750
 
751 751
 			case 'charge.succeeded':
752
-				$this->process_webhook_charge_succeeded( $notification );
752
+				$this->process_webhook_charge_succeeded($notification);
753 753
 				break;
754 754
 
755 755
 			case 'charge.failed':
756
-				$this->process_webhook_charge_failed( $notification );
756
+				$this->process_webhook_charge_failed($notification);
757 757
 				break;
758 758
 
759 759
 			case 'charge.captured':
760
-				$this->process_webhook_capture( $notification );
760
+				$this->process_webhook_capture($notification);
761 761
 				break;
762 762
 
763 763
 			case 'charge.dispute.created':
764
-				$this->process_webhook_dispute( $notification );
764
+				$this->process_webhook_dispute($notification);
765 765
 				break;
766 766
 
767 767
 			case 'charge.refunded':
768
-				$this->process_webhook_refund( $notification );
768
+				$this->process_webhook_refund($notification);
769 769
 				break;
770 770
 
771 771
 			case 'review.opened':
772
-				$this->process_review_opened( $notification );
772
+				$this->process_review_opened($notification);
773 773
 				break;
774 774
 
775 775
 			case 'review.closed':
776
-				$this->process_review_closed( $notification );
776
+				$this->process_review_closed($notification);
777 777
 				break;
778 778
 
779 779
 			case 'payment_intent.succeeded':
780 780
 			case 'payment_intent.payment_failed':
781 781
 			case 'payment_intent.amount_capturable_updated':
782
-				$this->process_payment_intent_success( $notification );
782
+				$this->process_payment_intent_success($notification);
783 783
 				break;
784 784
 
785 785
 			case 'setup_intent.succeeded':
786 786
 			case 'setup_intent.setup_failed':
787
-				$this->process_setup_intent( $notification );
787
+				$this->process_setup_intent($notification);
788 788
 
789 789
 		}
790 790
 	}
Please login to merge, or discard this patch.
includes/class-wc-stripe-customer.php 1 patch
Spacing   +97 added lines, -97 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if ( ! defined( 'ABSPATH' ) ) {
2
+if ( ! defined('ABSPATH')) {
3 3
 	exit;
4 4
 }
5 5
 
@@ -32,10 +32,10 @@  discard block
 block discarded – undo
32 32
 	 * Constructor
33 33
 	 * @param int $user_id The WP user ID
34 34
 	 */
35
-	public function __construct( $user_id = 0 ) {
36
-		if ( $user_id ) {
37
-			$this->set_user_id( $user_id );
38
-			$this->set_id( get_user_meta( $user_id, '_stripe_customer_id', true ) );
35
+	public function __construct($user_id = 0) {
36
+		if ($user_id) {
37
+			$this->set_user_id($user_id);
38
+			$this->set_id(get_user_meta($user_id, '_stripe_customer_id', true));
39 39
 		}
40 40
 	}
41 41
 
@@ -51,15 +51,15 @@  discard block
 block discarded – undo
51 51
 	 * Set Stripe customer ID.
52 52
 	 * @param [type] $id [description]
53 53
 	 */
54
-	public function set_id( $id ) {
54
+	public function set_id($id) {
55 55
 		// Backwards compat for customer ID stored in array format. (Pre 3.0)
56
-		if ( is_array( $id ) && isset( $id['customer_id'] ) ) {
56
+		if (is_array($id) && isset($id['customer_id'])) {
57 57
 			$id = $id['customer_id'];
58 58
 
59
-			update_user_meta( $this->get_user_id(), '_stripe_customer_id', $id );
59
+			update_user_meta($this->get_user_id(), '_stripe_customer_id', $id);
60 60
 		}
61 61
 
62
-		$this->id = wc_clean( $id );
62
+		$this->id = wc_clean($id);
63 63
 	}
64 64
 
65 65
 	/**
@@ -67,15 +67,15 @@  discard block
 block discarded – undo
67 67
 	 * @return int
68 68
 	 */
69 69
 	public function get_user_id() {
70
-		return absint( $this->user_id );
70
+		return absint($this->user_id);
71 71
 	}
72 72
 
73 73
 	/**
74 74
 	 * Set User ID used by WordPress.
75 75
 	 * @param int $user_id
76 76
 	 */
77
-	public function set_user_id( $user_id ) {
78
-		$this->user_id = absint( $user_id );
77
+	public function set_user_id($user_id) {
78
+		$this->user_id = absint($user_id);
79 79
 	}
80 80
 
81 81
 	/**
@@ -83,13 +83,13 @@  discard block
 block discarded – undo
83 83
 	 * @return WP_User
84 84
 	 */
85 85
 	protected function get_user() {
86
-		return $this->get_user_id() ? get_user_by( 'id', $this->get_user_id() ) : false;
86
+		return $this->get_user_id() ? get_user_by('id', $this->get_user_id()) : false;
87 87
 	}
88 88
 
89 89
 	/**
90 90
 	 * Store data from the Stripe API about this customer
91 91
 	 */
92
-	public function set_customer_data( $data ) {
92
+	public function set_customer_data($data) {
93 93
 		$this->customer_data = $data;
94 94
 	}
95 95
 
@@ -99,37 +99,37 @@  discard block
 block discarded – undo
99 99
 	 * @param  array $args Additional arguments (optional).
100 100
 	 * @return array
101 101
 	 */
102
-	protected function generate_customer_request( $args = array() ) {
103
-		$billing_email = isset( $_POST['billing_email'] ) ? filter_var( $_POST['billing_email'], FILTER_SANITIZE_EMAIL ) : '';
102
+	protected function generate_customer_request($args = array()) {
103
+		$billing_email = isset($_POST['billing_email']) ? filter_var($_POST['billing_email'], FILTER_SANITIZE_EMAIL) : '';
104 104
 		$user          = $this->get_user();
105 105
 
106
-		if ( $user ) {
107
-			$billing_first_name = get_user_meta( $user->ID, 'billing_first_name', true );
108
-			$billing_last_name  = get_user_meta( $user->ID, 'billing_last_name', true );
106
+		if ($user) {
107
+			$billing_first_name = get_user_meta($user->ID, 'billing_first_name', true);
108
+			$billing_last_name  = get_user_meta($user->ID, 'billing_last_name', true);
109 109
 
110 110
 			// If billing first name does not exists try the user first name.
111
-			if ( empty( $billing_first_name ) ) {
112
-				$billing_first_name = get_user_meta( $user->ID, 'first_name', true );
111
+			if (empty($billing_first_name)) {
112
+				$billing_first_name = get_user_meta($user->ID, 'first_name', true);
113 113
 			}
114 114
 
115 115
 			// If billing last name does not exists try the user last name.
116
-			if ( empty( $billing_last_name ) ) {
117
-				$billing_last_name = get_user_meta( $user->ID, 'last_name', true );
116
+			if (empty($billing_last_name)) {
117
+				$billing_last_name = get_user_meta($user->ID, 'last_name', true);
118 118
 			}
119 119
 
120 120
 			// translators: %1$s First name, %2$s Second name, %3$s Username.
121
-			$description = sprintf( __( 'Name: %1$s %2$s, Username: %s', 'woocommerce-gateway-stripe' ), $billing_first_name, $billing_last_name, $user->user_login );
121
+			$description = sprintf(__('Name: %1$s %2$s, Username: %s', 'woocommerce-gateway-stripe'), $billing_first_name, $billing_last_name, $user->user_login);
122 122
 
123 123
 			$defaults = array(
124 124
 				'email'       => $user->user_email,
125 125
 				'description' => $description,
126 126
 			);
127 127
 		} else {
128
-			$billing_first_name = isset( $_POST['billing_first_name'] ) ? filter_var( wp_unslash( $_POST['billing_first_name'] ), FILTER_SANITIZE_STRING ) : ''; // phpcs:ignore WordPress.Security.NonceVerification
129
-			$billing_last_name  = isset( $_POST['billing_last_name'] ) ? filter_var( wp_unslash( $_POST['billing_last_name'] ), FILTER_SANITIZE_STRING ) : ''; // phpcs:ignore WordPress.Security.NonceVerification
128
+			$billing_first_name = isset($_POST['billing_first_name']) ? filter_var(wp_unslash($_POST['billing_first_name']), FILTER_SANITIZE_STRING) : ''; // phpcs:ignore WordPress.Security.NonceVerification
129
+			$billing_last_name  = isset($_POST['billing_last_name']) ? filter_var(wp_unslash($_POST['billing_last_name']), FILTER_SANITIZE_STRING) : ''; // phpcs:ignore WordPress.Security.NonceVerification
130 130
 
131 131
 			// translators: %1$s First name, %2$s Second name.
132
-			$description = sprintf( __( 'Name: %1$s %2$s, Guest', 'woocommerce-gateway-stripe' ), $billing_first_name, $billing_last_name );
132
+			$description = sprintf(__('Name: %1$s %2$s, Guest', 'woocommerce-gateway-stripe'), $billing_first_name, $billing_last_name);
133 133
 
134 134
 			$defaults = array(
135 135
 				'email'       => $billing_email,
@@ -138,9 +138,9 @@  discard block
 block discarded – undo
138 138
 		}
139 139
 
140 140
 		$metadata             = array();
141
-		$defaults['metadata'] = apply_filters( 'wc_stripe_customer_metadata', $metadata, $user );
141
+		$defaults['metadata'] = apply_filters('wc_stripe_customer_metadata', $metadata, $user);
142 142
 
143
-		return wp_parse_args( $args, $defaults );
143
+		return wp_parse_args($args, $defaults);
144 144
 	}
145 145
 
146 146
 	/**
@@ -148,23 +148,23 @@  discard block
 block discarded – undo
148 148
 	 * @param array $args
149 149
 	 * @return WP_Error|int
150 150
 	 */
151
-	public function create_customer( $args = array() ) {
152
-		$args     = $this->generate_customer_request( $args );
153
-		$response = WC_Stripe_API::request( apply_filters( 'wc_stripe_create_customer_args', $args ), 'customers' );
151
+	public function create_customer($args = array()) {
152
+		$args     = $this->generate_customer_request($args);
153
+		$response = WC_Stripe_API::request(apply_filters('wc_stripe_create_customer_args', $args), 'customers');
154 154
 
155
-		if ( ! empty( $response->error ) ) {
156
-			throw new WC_Stripe_Exception( print_r( $response, true ), $response->error->message );
155
+		if ( ! empty($response->error)) {
156
+			throw new WC_Stripe_Exception(print_r($response, true), $response->error->message);
157 157
 		}
158 158
 
159
-		$this->set_id( $response->id );
159
+		$this->set_id($response->id);
160 160
 		$this->clear_cache();
161
-		$this->set_customer_data( $response );
161
+		$this->set_customer_data($response);
162 162
 
163
-		if ( $this->get_user_id() ) {
164
-			update_user_meta( $this->get_user_id(), '_stripe_customer_id', $response->id );
163
+		if ($this->get_user_id()) {
164
+			update_user_meta($this->get_user_id(), '_stripe_customer_id', $response->id);
165 165
 		}
166 166
 
167
-		do_action( 'woocommerce_stripe_add_customer', $args, $response );
167
+		do_action('woocommerce_stripe_add_customer', $args, $response);
168 168
 
169 169
 		return $response->id;
170 170
 	}
@@ -174,23 +174,23 @@  discard block
 block discarded – undo
174 174
 	 *
175 175
 	 * @param array $args Additional arguments for the request (optional).
176 176
 	 */
177
-	public function update_customer( $args = array() ) {
178
-		if ( empty( $this->id ) ) {
179
-			throw new WC_Stripe_Exception( 'id_required_to_update_user', __( 'Attempting to update a Stripe customer without a customer ID.', 'woocommerce-gateway-stripe' ) );
177
+	public function update_customer($args = array()) {
178
+		if (empty($this->id)) {
179
+			throw new WC_Stripe_Exception('id_required_to_update_user', __('Attempting to update a Stripe customer without a customer ID.', 'woocommerce-gateway-stripe'));
180 180
 		}
181 181
 
182
-		$args     = $this->generate_customer_request( $args );
183
-		$args     = apply_filters( 'wc_stripe_update_customer_args', $args );
184
-		$response = WC_Stripe_API::request( $args, 'customers/' . $this->id );
182
+		$args     = $this->generate_customer_request($args);
183
+		$args     = apply_filters('wc_stripe_update_customer_args', $args);
184
+		$response = WC_Stripe_API::request($args, 'customers/' . $this->id);
185 185
 
186
-		if ( ! empty( $response->error ) ) {
187
-			throw new WC_Stripe_Exception( print_r( $response, true ), $response->error->message );
186
+		if ( ! empty($response->error)) {
187
+			throw new WC_Stripe_Exception(print_r($response, true), $response->error->message);
188 188
 		}
189 189
 
190 190
 		$this->clear_cache();
191
-		$this->set_customer_data( $response );
191
+		$this->set_customer_data($response);
192 192
 
193
-		do_action( 'woocommerce_stripe_update_customer', $args, $response );
193
+		do_action('woocommerce_stripe_update_customer', $args, $response);
194 194
 	}
195 195
 
196 196
 	/**
@@ -200,11 +200,11 @@  discard block
 block discarded – undo
200 200
 	 * @since 4.1.2
201 201
 	 * @param array $error
202 202
 	 */
203
-	public function is_no_such_customer_error( $error ) {
203
+	public function is_no_such_customer_error($error) {
204 204
 		return (
205 205
 			$error &&
206 206
 			'invalid_request_error' === $error->type &&
207
-			preg_match( '/No such customer/i', $error->message )
207
+			preg_match('/No such customer/i', $error->message)
208 208
 		);
209 209
 	}
210 210
 
@@ -213,9 +213,9 @@  discard block
 block discarded – undo
213 213
 	 * @param string $source_id
214 214
 	 * @return WP_Error|int
215 215
 	 */
216
-	public function add_source( $source_id ) {
217
-		if ( ! $this->get_id() ) {
218
-			$this->set_id( $this->create_customer() );
216
+	public function add_source($source_id) {
217
+		if ( ! $this->get_id()) {
218
+			$this->set_id($this->create_customer());
219 219
 		}
220 220
 
221 221
 		$response = WC_Stripe_API::request(
@@ -227,63 +227,63 @@  discard block
 block discarded – undo
227 227
 
228 228
 		$wc_token = false;
229 229
 
230
-		if ( ! empty( $response->error ) ) {
230
+		if ( ! empty($response->error)) {
231 231
 			// It is possible the WC user once was linked to a customer on Stripe
232 232
 			// but no longer exists. Instead of failing, lets try to create a
233 233
 			// new customer.
234
-			if ( $this->is_no_such_customer_error( $response->error ) ) {
235
-				delete_user_meta( $this->get_user_id(), '_stripe_customer_id' );
234
+			if ($this->is_no_such_customer_error($response->error)) {
235
+				delete_user_meta($this->get_user_id(), '_stripe_customer_id');
236 236
 				$this->create_customer();
237
-				return $this->add_source( $source_id );
237
+				return $this->add_source($source_id);
238 238
 			} else {
239 239
 				return $response;
240 240
 			}
241
-		} elseif ( empty( $response->id ) ) {
242
-			return new WP_Error( 'error', __( 'Unable to add payment source.', 'woocommerce-gateway-stripe' ) );
241
+		} elseif (empty($response->id)) {
242
+			return new WP_Error('error', __('Unable to add payment source.', 'woocommerce-gateway-stripe'));
243 243
 		}
244 244
 
245 245
 		// Add token to WooCommerce.
246
-		if ( $this->get_user_id() && class_exists( 'WC_Payment_Token_CC' ) ) {
247
-			if ( ! empty( $response->type ) ) {
248
-				switch ( $response->type ) {
246
+		if ($this->get_user_id() && class_exists('WC_Payment_Token_CC')) {
247
+			if ( ! empty($response->type)) {
248
+				switch ($response->type) {
249 249
 					case 'alipay':
250 250
 						break;
251 251
 					case 'sepa_debit':
252 252
 						$wc_token = new WC_Payment_Token_SEPA();
253
-						$wc_token->set_token( $response->id );
254
-						$wc_token->set_gateway_id( 'stripe_sepa' );
255
-						$wc_token->set_last4( $response->sepa_debit->last4 );
253
+						$wc_token->set_token($response->id);
254
+						$wc_token->set_gateway_id('stripe_sepa');
255
+						$wc_token->set_last4($response->sepa_debit->last4);
256 256
 						break;
257 257
 					default:
258
-						if ( 'source' === $response->object && 'card' === $response->type ) {
258
+						if ('source' === $response->object && 'card' === $response->type) {
259 259
 							$wc_token = new WC_Payment_Token_CC();
260
-							$wc_token->set_token( $response->id );
261
-							$wc_token->set_gateway_id( 'stripe' );
262
-							$wc_token->set_card_type( strtolower( $response->card->brand ) );
263
-							$wc_token->set_last4( $response->card->last4 );
264
-							$wc_token->set_expiry_month( $response->card->exp_month );
265
-							$wc_token->set_expiry_year( $response->card->exp_year );
260
+							$wc_token->set_token($response->id);
261
+							$wc_token->set_gateway_id('stripe');
262
+							$wc_token->set_card_type(strtolower($response->card->brand));
263
+							$wc_token->set_last4($response->card->last4);
264
+							$wc_token->set_expiry_month($response->card->exp_month);
265
+							$wc_token->set_expiry_year($response->card->exp_year);
266 266
 						}
267 267
 						break;
268 268
 				}
269 269
 			} else {
270 270
 				// Legacy.
271 271
 				$wc_token = new WC_Payment_Token_CC();
272
-				$wc_token->set_token( $response->id );
273
-				$wc_token->set_gateway_id( 'stripe' );
274
-				$wc_token->set_card_type( strtolower( $response->brand ) );
275
-				$wc_token->set_last4( $response->last4 );
276
-				$wc_token->set_expiry_month( $response->exp_month );
277
-				$wc_token->set_expiry_year( $response->exp_year );
272
+				$wc_token->set_token($response->id);
273
+				$wc_token->set_gateway_id('stripe');
274
+				$wc_token->set_card_type(strtolower($response->brand));
275
+				$wc_token->set_last4($response->last4);
276
+				$wc_token->set_expiry_month($response->exp_month);
277
+				$wc_token->set_expiry_year($response->exp_year);
278 278
 			}
279 279
 
280
-			$wc_token->set_user_id( $this->get_user_id() );
280
+			$wc_token->set_user_id($this->get_user_id());
281 281
 			$wc_token->save();
282 282
 		}
283 283
 
284 284
 		$this->clear_cache();
285 285
 
286
-		do_action( 'woocommerce_stripe_add_source', $this->get_id(), $wc_token, $response, $source_id );
286
+		do_action('woocommerce_stripe_add_source', $this->get_id(), $wc_token, $response, $source_id);
287 287
 
288 288
 		return $response->id;
289 289
 	}
@@ -295,11 +295,11 @@  discard block
 block discarded – undo
295 295
 	 * @return array
296 296
 	 */
297 297
 	public function get_sources() {
298
-		if ( ! $this->get_id() ) {
298
+		if ( ! $this->get_id()) {
299 299
 			return array();
300 300
 		}
301 301
 
302
-		$sources = get_transient( 'stripe_sources_' . $this->get_id() );
302
+		$sources = get_transient('stripe_sources_' . $this->get_id());
303 303
 
304 304
 		$response = WC_Stripe_API::request(
305 305
 			array(
@@ -309,32 +309,32 @@  discard block
 block discarded – undo
309 309
 			'GET'
310 310
 		);
311 311
 
312
-		if ( ! empty( $response->error ) ) {
312
+		if ( ! empty($response->error)) {
313 313
 			return array();
314 314
 		}
315 315
 
316
-		if ( is_array( $response->data ) ) {
316
+		if (is_array($response->data)) {
317 317
 			$sources = $response->data;
318 318
 		}
319 319
 
320
-		return empty( $sources ) ? array() : $sources;
320
+		return empty($sources) ? array() : $sources;
321 321
 	}
322 322
 
323 323
 	/**
324 324
 	 * Delete a source from stripe.
325 325
 	 * @param string $source_id
326 326
 	 */
327
-	public function delete_source( $source_id ) {
328
-		if ( ! $this->get_id() ) {
327
+	public function delete_source($source_id) {
328
+		if ( ! $this->get_id()) {
329 329
 			return false;
330 330
 		}
331 331
 
332
-		$response = WC_Stripe_API::request( array(), 'customers/' . $this->get_id() . '/sources/' . sanitize_text_field( $source_id ), 'DELETE' );
332
+		$response = WC_Stripe_API::request(array(), 'customers/' . $this->get_id() . '/sources/' . sanitize_text_field($source_id), 'DELETE');
333 333
 
334 334
 		$this->clear_cache();
335 335
 
336
-		if ( empty( $response->error ) ) {
337
-			do_action( 'wc_stripe_delete_source', $this->get_id(), $response );
336
+		if (empty($response->error)) {
337
+			do_action('wc_stripe_delete_source', $this->get_id(), $response);
338 338
 
339 339
 			return true;
340 340
 		}
@@ -346,10 +346,10 @@  discard block
 block discarded – undo
346 346
 	 * Set default source in Stripe
347 347
 	 * @param string $source_id
348 348
 	 */
349
-	public function set_default_source( $source_id ) {
349
+	public function set_default_source($source_id) {
350 350
 		$response = WC_Stripe_API::request(
351 351
 			array(
352
-				'default_source' => sanitize_text_field( $source_id ),
352
+				'default_source' => sanitize_text_field($source_id),
353 353
 			),
354 354
 			'customers/' . $this->get_id(),
355 355
 			'POST'
@@ -357,8 +357,8 @@  discard block
 block discarded – undo
357 357
 
358 358
 		$this->clear_cache();
359 359
 
360
-		if ( empty( $response->error ) ) {
361
-			do_action( 'wc_stripe_set_default_source', $this->get_id(), $response );
360
+		if (empty($response->error)) {
361
+			do_action('wc_stripe_set_default_source', $this->get_id(), $response);
362 362
 
363 363
 			return true;
364 364
 		}
@@ -370,8 +370,8 @@  discard block
 block discarded – undo
370 370
 	 * Deletes caches for this users cards.
371 371
 	 */
372 372
 	public function clear_cache() {
373
-		delete_transient( 'stripe_sources_' . $this->get_id() );
374
-		delete_transient( 'stripe_customer_' . $this->get_id() );
373
+		delete_transient('stripe_sources_' . $this->get_id());
374
+		delete_transient('stripe_customer_' . $this->get_id());
375 375
 		$this->customer_data = array();
376 376
 	}
377 377
 }
Please login to merge, or discard this patch.