Completed
Pull Request — master (#953)
by asdf
02:36
created
includes/class-wc-stripe-webhook-handler.php 2 patches
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -84,7 +84,7 @@
 block discarded – undo
84 84
 	 * @todo Implement proper webhook signature validation. Ref https://stripe.com/docs/webhooks#signatures
85 85
 	 * @param string $request_headers The request headers from Stripe.
86 86
 	 * @param string $request_body The request body from Stripe.
87
-	 * @return bool
87
+	 * @return null|boolean
88 88
 	 */
89 89
 	public function is_valid_request( $request_headers = null, $request_body = null ) {
90 90
 		if ( null === $request_headers || null === $request_body ) {
Please login to merge, or discard this patch.
Spacing   +226 added lines, -226 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
 	}
@@ -86,34 +86,34 @@  discard block
 block discarded – undo
86 86
 	 * @param string $request_body The request body from Stripe.
87 87
 	 * @return bool
88 88
 	 */
89
-	public function is_valid_request( $request_headers = null, $request_body = null ) {
90
-		if ( null === $request_headers || null === $request_body ) {
89
+	public function is_valid_request($request_headers = null, $request_body = null) {
90
+		if (null === $request_headers || null === $request_body) {
91 91
 			return false;
92 92
 		}
93 93
 
94
-		if ( ! empty( $request_headers['USER-AGENT'] ) && ! preg_match( '/Stripe/', $request_headers['USER-AGENT'] ) ) {
94
+		if ( ! empty($request_headers['USER-AGENT']) && ! preg_match('/Stripe/', $request_headers['USER-AGENT'])) {
95 95
 			return false;
96 96
 		}
97 97
 
98
-		if ( ! empty( $this->secret ) ) {
98
+		if ( ! empty($this->secret)) {
99 99
 			// Check for a valid signature.
100 100
 			$signature_format = '/^t=(?P<timestamp>\d+)(?P<signatures>(,v\d+=[a-z0-9]+){1,2})$/';
101
-			if ( empty( $request_headers['STRIPE-SIGNATURE'] ) || ! preg_match( $signature_format, $request_headers['STRIPE-SIGNATURE'], $matches ) ) {
101
+			if (empty($request_headers['STRIPE-SIGNATURE']) || ! preg_match($signature_format, $request_headers['STRIPE-SIGNATURE'], $matches)) {
102 102
 				return false;
103 103
 			}
104 104
 
105 105
 			// Verify the timestamp.
106
-			$timestamp = intval( $matches['timestamp'] );
107
-			if ( abs( $timestamp - time() ) > MINUTE_IN_SECONDS ) {
106
+			$timestamp = intval($matches['timestamp']);
107
+			if (abs($timestamp - time()) > MINUTE_IN_SECONDS) {
108 108
 				return;
109 109
 			}
110 110
 
111 111
 			// Generate the expected signature.
112 112
 			$signed_payload     = $timestamp . '.' . $request_body;
113
-			$expected_signature = hash_hmac( 'sha256', $signed_payload, $this->secret );
113
+			$expected_signature = hash_hmac('sha256', $signed_payload, $this->secret);
114 114
 
115 115
 			// Check if the expected signature is present.
116
-			if ( ! preg_match( '/,v\d+=' . preg_quote( $expected_signature, '/' ) . '/', $matches['signatures'] ) ) {
116
+			if ( ! preg_match('/,v\d+=' . preg_quote($expected_signature, '/') . '/', $matches['signatures'])) {
117 117
 				return false;
118 118
 			}
119 119
 		}
@@ -130,12 +130,12 @@  discard block
 block discarded – undo
130 130
 	 * @version 4.0.0
131 131
 	 */
132 132
 	public function get_request_headers() {
133
-		if ( ! function_exists( 'getallheaders' ) ) {
133
+		if ( ! function_exists('getallheaders')) {
134 134
 			$headers = array();
135 135
 
136
-			foreach ( $_SERVER as $name => $value ) {
137
-				if ( 'HTTP_' === substr( $name, 0, 5 ) ) {
138
-					$headers[ str_replace( ' ', '-', ucwords( strtolower( str_replace( '_', ' ', substr( $name, 5 ) ) ) ) ) ] = $value;
136
+			foreach ($_SERVER as $name => $value) {
137
+				if ('HTTP_' === substr($name, 0, 5)) {
138
+					$headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
139 139
 				}
140 140
 			}
141 141
 
@@ -154,30 +154,30 @@  discard block
 block discarded – undo
154 154
 	 * @param object $notification
155 155
 	 * @param bool $retry
156 156
 	 */
157
-	public function process_webhook_payment( $notification, $retry = true ) {
157
+	public function process_webhook_payment($notification, $retry = true) {
158 158
 		// The following 3 payment methods are synchronous so does not need to be handle via webhook.
159
-		if ( 'card' === $notification->data->object->type || 'sepa_debit' === $notification->data->object->type || 'three_d_secure' === $notification->data->object->type ) {
159
+		if ('card' === $notification->data->object->type || 'sepa_debit' === $notification->data->object->type || 'three_d_secure' === $notification->data->object->type) {
160 160
 			return;
161 161
 		}
162 162
 
163
-		$order = WC_Stripe_Helper::get_order_by_source_id( $notification->data->object->id );
163
+		$order = WC_Stripe_Helper::get_order_by_source_id($notification->data->object->id);
164 164
 
165
-		if ( ! $order ) {
166
-			WC_Stripe_Logger::log( 'Could not find order via source ID: ' . $notification->data->object->id );
165
+		if ( ! $order) {
166
+			WC_Stripe_Logger::log('Could not find order via source ID: ' . $notification->data->object->id);
167 167
 			return;
168 168
 		}
169 169
 
170
-		$order_id  = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->id : $order->get_id();
170
+		$order_id  = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->id : $order->get_id();
171 171
 		$source_id = $notification->data->object->id;
172 172
 
173
-		$is_pending_receiver = ( 'receiver' === $notification->data->object->flow );
173
+		$is_pending_receiver = ('receiver' === $notification->data->object->flow);
174 174
 
175 175
 		try {
176
-			if ( 'processing' === $order->get_status() || 'completed' === $order->get_status() ) {
176
+			if ('processing' === $order->get_status() || 'completed' === $order->get_status()) {
177 177
 				return;
178 178
 			}
179 179
 
180
-			if ( 'on-hold' === $order->get_status() && ! $is_pending_receiver ) {
180
+			if ('on-hold' === $order->get_status() && ! $is_pending_receiver) {
181 181
 				return;
182 182
 			}
183 183
 
@@ -185,94 +185,94 @@  discard block
 block discarded – undo
185 185
 			$response = null;
186 186
 
187 187
 			// This will throw exception if not valid.
188
-			$this->validate_minimum_order_amount( $order );
188
+			$this->validate_minimum_order_amount($order);
189 189
 
190
-			WC_Stripe_Logger::log( "Info: (Webhook) Begin processing payment for order $order_id for the amount of {$order->get_total()}" );
190
+			WC_Stripe_Logger::log("Info: (Webhook) Begin processing payment for order $order_id for the amount of {$order->get_total()}");
191 191
 
192 192
 			// Prep source object.
193 193
 			$source_object           = new stdClass();
194 194
 			$source_object->token_id = '';
195
-			$source_object->customer = $this->get_stripe_customer_id( $order );
195
+			$source_object->customer = $this->get_stripe_customer_id($order);
196 196
 			$source_object->source   = $source_id;
197 197
 
198 198
 			// Make the request.
199
-			$response = WC_Stripe_API::request( $this->generate_payment_request( $order, $source_object ), 'charges', 'POST', true );
199
+			$response = WC_Stripe_API::request($this->generate_payment_request($order, $source_object), 'charges', 'POST', true);
200 200
 			$headers  = $response['headers'];
201 201
 			$response = $response['body'];
202 202
 
203
-			if ( ! empty( $response->error ) ) {
203
+			if ( ! empty($response->error)) {
204 204
 				// Customer param wrong? The user may have been deleted on stripe's end. Remove customer_id. Can be retried without.
205
-				if ( $this->is_no_such_customer_error( $response->error ) ) {
206
-					if ( WC_Stripe_Helper::is_wc_lt( '3.0' ) ) {
207
-						delete_user_meta( $order->customer_user, '_stripe_customer_id' );
208
-						delete_post_meta( $order_id, '_stripe_customer_id' );
205
+				if ($this->is_no_such_customer_error($response->error)) {
206
+					if (WC_Stripe_Helper::is_wc_lt('3.0')) {
207
+						delete_user_meta($order->customer_user, '_stripe_customer_id');
208
+						delete_post_meta($order_id, '_stripe_customer_id');
209 209
 					} else {
210
-						delete_user_meta( $order->get_customer_id(), '_stripe_customer_id' );
211
-						$order->delete_meta_data( '_stripe_customer_id' );
210
+						delete_user_meta($order->get_customer_id(), '_stripe_customer_id');
211
+						$order->delete_meta_data('_stripe_customer_id');
212 212
 						$order->save();
213 213
 					}
214 214
 				}
215 215
 
216
-				if ( $this->is_no_such_token_error( $response->error ) && $prepared_source->token_id ) {
216
+				if ($this->is_no_such_token_error($response->error) && $prepared_source->token_id) {
217 217
 					// Source param wrong? The CARD may have been deleted on stripe's end. Remove token and show message.
218
-					$wc_token = WC_Payment_Tokens::get( $prepared_source->token_id );
218
+					$wc_token = WC_Payment_Tokens::get($prepared_source->token_id);
219 219
 					$wc_token->delete();
220
-					$localized_message = __( 'This card is no longer available and has been removed.', 'woocommerce-gateway-stripe' );
221
-					$order->add_order_note( $localized_message );
222
-					throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message );
220
+					$localized_message = __('This card is no longer available and has been removed.', 'woocommerce-gateway-stripe');
221
+					$order->add_order_note($localized_message);
222
+					throw new WC_Stripe_Exception(print_r($response, true), $localized_message);
223 223
 				}
224 224
 
225 225
 				// We want to retry.
226
-				if ( $this->is_retryable_error( $response->error ) ) {
227
-					if ( $retry ) {
226
+				if ($this->is_retryable_error($response->error)) {
227
+					if ($retry) {
228 228
 						// Don't do anymore retries after this.
229
-						if ( 5 <= $this->retry_interval ) {
229
+						if (5 <= $this->retry_interval) {
230 230
 
231
-							return $this->process_webhook_payment( $notification, false );
231
+							return $this->process_webhook_payment($notification, false);
232 232
 						}
233 233
 
234
-						sleep( $this->retry_interval );
234
+						sleep($this->retry_interval);
235 235
 
236 236
 						$this->retry_interval++;
237
-						return $this->process_webhook_payment( $notification, true );
237
+						return $this->process_webhook_payment($notification, true);
238 238
 					} else {
239
-						$localized_message = __( 'Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe' );
240
-						$order->add_order_note( $localized_message );
241
-						throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message );
239
+						$localized_message = __('Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe');
240
+						$order->add_order_note($localized_message);
241
+						throw new WC_Stripe_Exception(print_r($response, true), $localized_message);
242 242
 					}
243 243
 				}
244 244
 
245 245
 				$localized_messages = WC_Stripe_Helper::get_localized_messages();
246 246
 
247
-				if ( 'card_error' === $response->error->type ) {
248
-					$localized_message = isset( $localized_messages[ $response->error->code ] ) ? $localized_messages[ $response->error->code ] : $response->error->message;
247
+				if ('card_error' === $response->error->type) {
248
+					$localized_message = isset($localized_messages[$response->error->code]) ? $localized_messages[$response->error->code] : $response->error->message;
249 249
 				} else {
250
-					$localized_message = isset( $localized_messages[ $response->error->type ] ) ? $localized_messages[ $response->error->type ] : $response->error->message;
250
+					$localized_message = isset($localized_messages[$response->error->type]) ? $localized_messages[$response->error->type] : $response->error->message;
251 251
 				}
252 252
 
253
-				$order->add_order_note( $localized_message );
253
+				$order->add_order_note($localized_message);
254 254
 
255
-				throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message );
255
+				throw new WC_Stripe_Exception(print_r($response, true), $localized_message);
256 256
 			}
257 257
 
258 258
 			// To prevent double processing the order on WC side.
259
-			if ( ! $this->is_original_request( $headers ) ) {
259
+			if ( ! $this->is_original_request($headers)) {
260 260
 				return;
261 261
 			}
262 262
 
263
-			do_action( 'wc_gateway_stripe_process_webhook_payment', $response, $order );
263
+			do_action('wc_gateway_stripe_process_webhook_payment', $response, $order);
264 264
 
265
-			$this->process_response( $response, $order );
265
+			$this->process_response($response, $order);
266 266
 
267
-		} catch ( WC_Stripe_Exception $e ) {
268
-			WC_Stripe_Logger::log( 'Error: ' . $e->getMessage() );
267
+		} catch (WC_Stripe_Exception $e) {
268
+			WC_Stripe_Logger::log('Error: ' . $e->getMessage());
269 269
 
270
-			do_action( 'wc_gateway_stripe_process_webhook_payment_error', $order, $notification, $e );
270
+			do_action('wc_gateway_stripe_process_webhook_payment_error', $order, $notification, $e);
271 271
 
272
-			$statuses = array( 'pending', 'failed' );
272
+			$statuses = array('pending', 'failed');
273 273
 
274
-			if ( $order->has_status( $statuses ) ) {
275
-				$this->send_failed_order_email( $order_id );
274
+			if ($order->has_status($statuses)) {
275
+				$this->send_failed_order_email($order_id);
276 276
 			}
277 277
 		}
278 278
 	}
@@ -285,21 +285,21 @@  discard block
 block discarded – undo
285 285
 	 * @since 4.0.0
286 286
 	 * @param object $notification
287 287
 	 */
288
-	public function process_webhook_dispute( $notification ) {
289
-		$order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->charge );
288
+	public function process_webhook_dispute($notification) {
289
+		$order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->charge);
290 290
 
291
-		if ( ! $order ) {
292
-			WC_Stripe_Logger::log( 'Could not find order via charge ID: ' . $notification->data->object->charge );
291
+		if ( ! $order) {
292
+			WC_Stripe_Logger::log('Could not find order via charge ID: ' . $notification->data->object->charge);
293 293
 			return;
294 294
 		}
295 295
 
296 296
 		/* translators: 1) The URL to the order. */
297
-		$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
+		$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)));
298 298
 
299
-		do_action( 'wc_gateway_stripe_process_webhook_payment_error', $order, $notification );
299
+		do_action('wc_gateway_stripe_process_webhook_payment_error', $order, $notification);
300 300
 
301
-		$order_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->id : $order->get_id();
302
-		$this->send_failed_order_email( $order_id );
301
+		$order_id = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->id : $order->get_id();
302
+		$this->send_failed_order_email($order_id);
303 303
 	}
304 304
 
305 305
 	/**
@@ -310,45 +310,45 @@  discard block
 block discarded – undo
310 310
 	 * @version 4.0.0
311 311
 	 * @param object $notification
312 312
 	 */
313
-	public function process_webhook_capture( $notification ) {
314
-		$order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->id );
313
+	public function process_webhook_capture($notification) {
314
+		$order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->id);
315 315
 
316
-		if ( ! $order ) {
317
-			WC_Stripe_Logger::log( 'Could not find order via charge ID: ' . $notification->data->object->id );
316
+		if ( ! $order) {
317
+			WC_Stripe_Logger::log('Could not find order via charge ID: ' . $notification->data->object->id);
318 318
 			return;
319 319
 		}
320 320
 
321
-		$order_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->id : $order->get_id();
321
+		$order_id = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->id : $order->get_id();
322 322
 
323
-		if ( 'stripe' === ( WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->payment_method : $order->get_payment_method() ) ) {
324
-			$charge   = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? get_post_meta( $order_id, '_transaction_id', true ) : $order->get_transaction_id();
325
-			$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 );
323
+		if ('stripe' === (WC_Stripe_Helper::is_wc_lt('3.0') ? $order->payment_method : $order->get_payment_method())) {
324
+			$charge   = WC_Stripe_Helper::is_wc_lt('3.0') ? get_post_meta($order_id, '_transaction_id', true) : $order->get_transaction_id();
325
+			$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);
326 326
 
327
-			if ( $charge && 'no' === $captured ) {
328
-				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' );
327
+			if ($charge && 'no' === $captured) {
328
+				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');
329 329
 
330 330
 				// Store other data such as fees
331
-				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
+				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);
332 332
 
333
-				if ( isset( $notification->data->object->balance_transaction ) ) {
334
-					$this->update_fees( $order, $notification->data->object->balance_transaction );
333
+				if (isset($notification->data->object->balance_transaction)) {
334
+					$this->update_fees($order, $notification->data->object->balance_transaction);
335 335
 				}
336 336
 
337 337
 				// Check and see if capture is partial.
338
-				if ( $this->is_partial_capture( $notification ) ) {
339
-					$partial_amount = $this->get_partial_amount_to_charge( $notification );
340
-					$order->set_total( $partial_amount );
341
-					$this->update_fees( $order, $notification->data->object->refunds->data[0]->balance_transaction );
338
+				if ($this->is_partial_capture($notification)) {
339
+					$partial_amount = $this->get_partial_amount_to_charge($notification);
340
+					$order->set_total($partial_amount);
341
+					$this->update_fees($order, $notification->data->object->refunds->data[0]->balance_transaction);
342 342
 					/* translators: partial captured amount */
343
-					$order->add_order_note( sprintf( __( 'This charge was partially captured via Stripe Dashboard in the amount of: %s', 'woocommerce-gateway-stripe' ), $partial_amount ) );
343
+					$order->add_order_note(sprintf(__('This charge was partially captured via Stripe Dashboard in the amount of: %s', 'woocommerce-gateway-stripe'), $partial_amount));
344 344
 				} else {
345
-					$order->payment_complete( $notification->data->object->id );
345
+					$order->payment_complete($notification->data->object->id);
346 346
 
347 347
 					/* translators: transaction id */
348
-					$order->add_order_note( sprintf( __( 'Stripe charge complete (Charge ID: %s)', 'woocommerce-gateway-stripe' ), $notification->data->object->id ) );
348
+					$order->add_order_note(sprintf(__('Stripe charge complete (Charge ID: %s)', 'woocommerce-gateway-stripe'), $notification->data->object->id));
349 349
 				}
350 350
 
351
-				if ( is_callable( array( $order, 'save' ) ) ) {
351
+				if (is_callable(array($order, 'save'))) {
352 352
 					$order->save();
353 353
 				}
354 354
 			}
@@ -363,43 +363,43 @@  discard block
 block discarded – undo
363 363
 	 * @version 4.0.0
364 364
 	 * @param object $notification
365 365
 	 */
366
-	public function process_webhook_charge_succeeded( $notification ) {
366
+	public function process_webhook_charge_succeeded($notification) {
367 367
 		// Ignore the notification for charges, created through PaymentIntents.
368
-		if ( isset( $notification->data->object->payment_intent ) && $notification->data->object->payment_intent ) {
368
+		if (isset($notification->data->object->payment_intent) && $notification->data->object->payment_intent) {
369 369
 			return;
370 370
 		}
371 371
 
372 372
 		// The following payment methods are synchronous so does not need to be handle via webhook.
373
-		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
+		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)) {
374 374
 			return;
375 375
 		}
376 376
 
377
-		$order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->id );
377
+		$order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->id);
378 378
 
379
-		if ( ! $order ) {
380
-			WC_Stripe_Logger::log( 'Could not find order via charge ID: ' . $notification->data->object->id );
379
+		if ( ! $order) {
380
+			WC_Stripe_Logger::log('Could not find order via charge ID: ' . $notification->data->object->id);
381 381
 			return;
382 382
 		}
383 383
 
384
-		$order_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->id : $order->get_id();
384
+		$order_id = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->id : $order->get_id();
385 385
 
386
-		if ( 'on-hold' !== $order->get_status() ) {
386
+		if ('on-hold' !== $order->get_status()) {
387 387
 			return;
388 388
 		}
389 389
 
390 390
 		// Store other data such as fees
391
-		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
+		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);
392 392
 
393
-		if ( isset( $notification->data->object->balance_transaction ) ) {
394
-			$this->update_fees( $order, $notification->data->object->balance_transaction );
393
+		if (isset($notification->data->object->balance_transaction)) {
394
+			$this->update_fees($order, $notification->data->object->balance_transaction);
395 395
 		}
396 396
 
397
-		$order->payment_complete( $notification->data->object->id );
397
+		$order->payment_complete($notification->data->object->id);
398 398
 
399 399
 		/* translators: transaction id */
400
-		$order->add_order_note( sprintf( __( 'Stripe charge complete (Charge ID: %s)', 'woocommerce-gateway-stripe' ), $notification->data->object->id ) );
400
+		$order->add_order_note(sprintf(__('Stripe charge complete (Charge ID: %s)', 'woocommerce-gateway-stripe'), $notification->data->object->id));
401 401
 
402
-		if ( is_callable( array( $order, 'save' ) ) ) {
402
+		if (is_callable(array($order, 'save'))) {
403 403
 			$order->save();
404 404
 		}
405 405
 	}
@@ -411,24 +411,24 @@  discard block
 block discarded – undo
411 411
 	 * @since 4.1.5 Can handle any fail payments from any methods.
412 412
 	 * @param object $notification
413 413
 	 */
414
-	public function process_webhook_charge_failed( $notification ) {
415
-		$order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->id );
414
+	public function process_webhook_charge_failed($notification) {
415
+		$order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->id);
416 416
 
417
-		if ( ! $order ) {
418
-			WC_Stripe_Logger::log( 'Could not find order via charge ID: ' . $notification->data->object->id );
417
+		if ( ! $order) {
418
+			WC_Stripe_Logger::log('Could not find order via charge ID: ' . $notification->data->object->id);
419 419
 			return;
420 420
 		}
421 421
 
422
-		$order_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->id : $order->get_id();
422
+		$order_id = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->id : $order->get_id();
423 423
 
424 424
 		// If order status is already in failed status don't continue.
425
-		if ( 'failed' === $order->get_status() ) {
425
+		if ('failed' === $order->get_status()) {
426 426
 			return;
427 427
 		}
428 428
 
429
-		$order->update_status( 'failed', __( 'This payment failed to clear.', 'woocommerce-gateway-stripe' ) );
429
+		$order->update_status('failed', __('This payment failed to clear.', 'woocommerce-gateway-stripe'));
430 430
 
431
-		do_action( 'wc_gateway_stripe_process_webhook_payment_error', $order, $notification );
431
+		do_action('wc_gateway_stripe_process_webhook_payment_error', $order, $notification);
432 432
 	}
433 433
 
434 434
 	/**
@@ -439,30 +439,30 @@  discard block
 block discarded – undo
439 439
 	 * @since 4.1.15 Add check to make sure order is processed by Stripe.
440 440
 	 * @param object $notification
441 441
 	 */
442
-	public function process_webhook_source_canceled( $notification ) {
443
-		$order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->id );
442
+	public function process_webhook_source_canceled($notification) {
443
+		$order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->id);
444 444
 
445 445
 		// If can't find order by charge ID, try source ID.
446
-		if ( ! $order ) {
447
-			$order = WC_Stripe_Helper::get_order_by_source_id( $notification->data->object->id );
446
+		if ( ! $order) {
447
+			$order = WC_Stripe_Helper::get_order_by_source_id($notification->data->object->id);
448 448
 
449
-			if ( ! $order ) {
450
-				WC_Stripe_Logger::log( 'Could not find order via charge/source ID: ' . $notification->data->object->id );
449
+			if ( ! $order) {
450
+				WC_Stripe_Logger::log('Could not find order via charge/source ID: ' . $notification->data->object->id);
451 451
 				return;
452 452
 			}
453 453
 		}
454 454
 
455 455
 		// Don't proceed if payment method isn't Stripe.
456
-		if ( 'stripe' !== $order->get_payment_method() ) {
457
-			WC_Stripe_Logger::log( 'Canceled webhook abort: Order was not processed by Stripe: ' . $order->get_id() );
456
+		if ('stripe' !== $order->get_payment_method()) {
457
+			WC_Stripe_Logger::log('Canceled webhook abort: Order was not processed by Stripe: ' . $order->get_id());
458 458
 			return;
459 459
 		}
460 460
 
461
-		if ( 'cancelled' !== $order->get_status() ) {
462
-			$order->update_status( 'cancelled', __( 'This payment has cancelled.', 'woocommerce-gateway-stripe' ) );
461
+		if ('cancelled' !== $order->get_status()) {
462
+			$order->update_status('cancelled', __('This payment has cancelled.', 'woocommerce-gateway-stripe'));
463 463
 		}
464 464
 
465
-		do_action( 'wc_gateway_stripe_process_webhook_payment_error', $order, $notification );
465
+		do_action('wc_gateway_stripe_process_webhook_payment_error', $order, $notification);
466 466
 	}
467 467
 
468 468
 	/**
@@ -472,59 +472,59 @@  discard block
 block discarded – undo
472 472
 	 * @version 4.0.0
473 473
 	 * @param object $notification
474 474
 	 */
475
-	public function process_webhook_refund( $notification ) {
476
-		$order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->id );
475
+	public function process_webhook_refund($notification) {
476
+		$order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->id);
477 477
 
478
-		if ( ! $order ) {
479
-			WC_Stripe_Logger::log( 'Could not find order via charge ID: ' . $notification->data->object->id );
478
+		if ( ! $order) {
479
+			WC_Stripe_Logger::log('Could not find order via charge ID: ' . $notification->data->object->id);
480 480
 			return;
481 481
 		}
482 482
 
483
-		$order_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->id : $order->get_id();
483
+		$order_id = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->id : $order->get_id();
484 484
 
485
-		if ( 'stripe' === ( WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->payment_method : $order->get_payment_method() ) ) {
486
-			$charge    = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? get_post_meta( $order_id, '_transaction_id', true ) : $order->get_transaction_id();
487
-			$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 );
488
-			$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 );
485
+		if ('stripe' === (WC_Stripe_Helper::is_wc_lt('3.0') ? $order->payment_method : $order->get_payment_method())) {
486
+			$charge    = WC_Stripe_Helper::is_wc_lt('3.0') ? get_post_meta($order_id, '_transaction_id', true) : $order->get_transaction_id();
487
+			$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);
488
+			$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);
489 489
 
490 490
 			// If the refund ID matches, don't continue to prevent double refunding.
491
-			if ( $notification->data->object->refunds->data[0]->id === $refund_id ) {
491
+			if ($notification->data->object->refunds->data[0]->id === $refund_id) {
492 492
 				return;
493 493
 			}
494 494
 
495 495
 			// Only refund captured charge.
496
-			if ( $charge ) {
497
-				$reason = ( isset( $captured ) && 'yes' === $captured ) ? __( 'Refunded via Stripe Dashboard', 'woocommerce-gateway-stripe' ) : __( 'Pre-Authorization Released via Stripe Dashboard', 'woocommerce-gateway-stripe' );
496
+			if ($charge) {
497
+				$reason = (isset($captured) && 'yes' === $captured) ? __('Refunded via Stripe Dashboard', 'woocommerce-gateway-stripe') : __('Pre-Authorization Released via Stripe Dashboard', 'woocommerce-gateway-stripe');
498 498
 
499 499
 				// Create the refund.
500 500
 				$refund = wc_create_refund(
501 501
 					array(
502 502
 						'order_id' => $order_id,
503
-						'amount'   => $this->get_refund_amount( $notification ),
503
+						'amount'   => $this->get_refund_amount($notification),
504 504
 						'reason'   => $reason,
505 505
 					)
506 506
 				);
507 507
 
508
-				if ( is_wp_error( $refund ) ) {
509
-					WC_Stripe_Logger::log( $refund->get_error_message() );
508
+				if (is_wp_error($refund)) {
509
+					WC_Stripe_Logger::log($refund->get_error_message());
510 510
 				}
511 511
 
512
-				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
+				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);
513 513
 
514
-				$amount = wc_price( $notification->data->object->refunds->data[0]->amount / 100 );
514
+				$amount = wc_price($notification->data->object->refunds->data[0]->amount / 100);
515 515
 
516
-				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() ) ) {
517
-					$amount = wc_price( $notification->data->object->refunds->data[0]->amount );
516
+				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())) {
517
+					$amount = wc_price($notification->data->object->refunds->data[0]->amount);
518 518
 				}
519 519
 
520
-				if ( isset( $notification->data->object->refunds->data[0]->balance_transaction ) ) {
521
-					$this->update_fees( $order, $notification->data->object->refunds->data[0]->balance_transaction );
520
+				if (isset($notification->data->object->refunds->data[0]->balance_transaction)) {
521
+					$this->update_fees($order, $notification->data->object->refunds->data[0]->balance_transaction);
522 522
 				}
523 523
 
524 524
 				/* translators: 1) dollar amount 2) transaction id 3) refund message */
525
-				$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
+				$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');
526 526
 
527
-				$order->add_order_note( $refund_message );
527
+				$order->add_order_note($refund_message);
528 528
 			}
529 529
 		}
530 530
 	}
@@ -535,30 +535,30 @@  discard block
 block discarded – undo
535 535
 	 * @since 4.0.6
536 536
 	 * @param object $notification
537 537
 	 */
538
-	public function process_review_opened( $notification ) {
539
-		if ( isset( $notification->data->object->payment_intent ) ) {
540
-			$order = WC_Stripe_Helper::get_order_by_intent_id( $notification->data->object->payment_intent );
538
+	public function process_review_opened($notification) {
539
+		if (isset($notification->data->object->payment_intent)) {
540
+			$order = WC_Stripe_Helper::get_order_by_intent_id($notification->data->object->payment_intent);
541 541
 
542
-			if ( ! $order ) {
543
-				WC_Stripe_Logger::log( '[Review Opened] Could not find order via intent ID: ' . $notification->data->object->payment_intent );
542
+			if ( ! $order) {
543
+				WC_Stripe_Logger::log('[Review Opened] Could not find order via intent ID: ' . $notification->data->object->payment_intent);
544 544
 				return;
545 545
 			}
546 546
 		} else {
547
-			$order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->charge );
547
+			$order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->charge);
548 548
 
549
-			if ( ! $order ) {
550
-				WC_Stripe_Logger::log( '[Review Opened] Could not find order via charge ID: ' . $notification->data->object->charge );
549
+			if ( ! $order) {
550
+				WC_Stripe_Logger::log('[Review Opened] Could not find order via charge ID: ' . $notification->data->object->charge);
551 551
 				return;
552 552
 			}
553 553
 		}
554 554
 
555 555
 		/* translators: 1) The URL to the order. 2) The reason type. */
556
-		$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
+		$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);
557 557
 
558
-		if ( apply_filters( 'wc_stripe_webhook_review_change_order_status', true, $order, $notification ) ) {
559
-			$order->update_status( 'on-hold', $message );
558
+		if (apply_filters('wc_stripe_webhook_review_change_order_status', true, $order, $notification)) {
559
+			$order->update_status('on-hold', $message);
560 560
 		} else {
561
-			$order->add_order_note( $message );
561
+			$order->add_order_note($message);
562 562
 		}
563 563
 	}
564 564
 
@@ -568,34 +568,34 @@  discard block
 block discarded – undo
568 568
 	 * @since 4.0.6
569 569
 	 * @param object $notification
570 570
 	 */
571
-	public function process_review_closed( $notification ) {
572
-		if ( isset( $notification->data->object->payment_intent ) ) {
573
-			$order = WC_Stripe_Helper::get_order_by_intent_id( $notification->data->object->payment_intent );
571
+	public function process_review_closed($notification) {
572
+		if (isset($notification->data->object->payment_intent)) {
573
+			$order = WC_Stripe_Helper::get_order_by_intent_id($notification->data->object->payment_intent);
574 574
 
575
-			if ( ! $order ) {
576
-				WC_Stripe_Logger::log( '[Review Closed] Could not find order via intent ID: ' . $notification->data->object->payment_intent );
575
+			if ( ! $order) {
576
+				WC_Stripe_Logger::log('[Review Closed] Could not find order via intent ID: ' . $notification->data->object->payment_intent);
577 577
 				return;
578 578
 			}
579 579
 		} else {
580
-			$order = WC_Stripe_Helper::get_order_by_charge_id( $notification->data->object->charge );
580
+			$order = WC_Stripe_Helper::get_order_by_charge_id($notification->data->object->charge);
581 581
 
582
-			if ( ! $order ) {
583
-				WC_Stripe_Logger::log( '[Review Closed] Could not find order via charge ID: ' . $notification->data->object->charge );
582
+			if ( ! $order) {
583
+				WC_Stripe_Logger::log('[Review Closed] Could not find order via charge ID: ' . $notification->data->object->charge);
584 584
 				return;
585 585
 			}
586 586
 		}
587 587
 
588 588
 		/* translators: 1) The reason type. */
589
-		$message = sprintf( __( 'The opened review for this order is now closed. Reason: (%s)', 'woocommerce-gateway-stripe' ), $notification->data->object->reason );
589
+		$message = sprintf(__('The opened review for this order is now closed. Reason: (%s)', 'woocommerce-gateway-stripe'), $notification->data->object->reason);
590 590
 
591
-		if ( 'on-hold' === $order->get_status() ) {
592
-			if ( apply_filters( 'wc_stripe_webhook_review_change_order_status', true, $order, $notification ) ) {
593
-				$order->update_status( 'processing', $message );
591
+		if ('on-hold' === $order->get_status()) {
592
+			if (apply_filters('wc_stripe_webhook_review_change_order_status', true, $order, $notification)) {
593
+				$order->update_status('processing', $message);
594 594
 			} else {
595
-				$order->add_order_note( $message );
595
+				$order->add_order_note($message);
596 596
 			}
597 597
 		} else {
598
-			$order->add_order_note( $message );
598
+			$order->add_order_note($message);
599 599
 		}
600 600
 	}
601 601
 
@@ -606,7 +606,7 @@  discard block
 block discarded – undo
606 606
 	 * @version 4.0.0
607 607
 	 * @param object $notification
608 608
 	 */
609
-	public function is_partial_capture( $notification ) {
609
+	public function is_partial_capture($notification) {
610 610
 		return 0 < $notification->data->object->amount_refunded;
611 611
 	}
612 612
 
@@ -617,11 +617,11 @@  discard block
 block discarded – undo
617 617
 	 * @version 4.0.0
618 618
 	 * @param object $notification
619 619
 	 */
620
-	public function get_refund_amount( $notification ) {
621
-		if ( $this->is_partial_capture( $notification ) ) {
620
+	public function get_refund_amount($notification) {
621
+		if ($this->is_partial_capture($notification)) {
622 622
 			$amount = $notification->data->object->refunds->data[0]->amount / 100;
623 623
 
624
-			if ( in_array( strtolower( $notification->data->object->currency ), WC_Stripe_Helper::no_decimal_currencies() ) ) {
624
+			if (in_array(strtolower($notification->data->object->currency), WC_Stripe_Helper::no_decimal_currencies())) {
625 625
 				$amount = $notification->data->object->refunds->data[0]->amount;
626 626
 			}
627 627
 
@@ -638,12 +638,12 @@  discard block
 block discarded – undo
638 638
 	 * @version 4.0.0
639 639
 	 * @param object $notification
640 640
 	 */
641
-	public function get_partial_amount_to_charge( $notification ) {
642
-		if ( $this->is_partial_capture( $notification ) ) {
643
-			$amount = ( $notification->data->object->amount - $notification->data->object->amount_refunded ) / 100;
641
+	public function get_partial_amount_to_charge($notification) {
642
+		if ($this->is_partial_capture($notification)) {
643
+			$amount = ($notification->data->object->amount - $notification->data->object->amount_refunded) / 100;
644 644
 
645
-			if ( in_array( strtolower( $notification->data->object->currency ), WC_Stripe_Helper::no_decimal_currencies() ) ) {
646
-				$amount = ( $notification->data->object->amount - $notification->data->object->amount_refunded );
645
+			if (in_array(strtolower($notification->data->object->currency), WC_Stripe_Helper::no_decimal_currencies())) {
646
+				$amount = ($notification->data->object->amount - $notification->data->object->amount_refunded);
647 647
 			}
648 648
 
649 649
 			return $amount;
@@ -652,45 +652,45 @@  discard block
 block discarded – undo
652 652
 		return false;
653 653
 	}
654 654
 
655
-	public function process_payment_intent_success( $notification ) {
655
+	public function process_payment_intent_success($notification) {
656 656
 		$intent = $notification->data->object;
657
-		$order = WC_Stripe_Helper::get_order_by_intent_id( $intent->id );
657
+		$order = WC_Stripe_Helper::get_order_by_intent_id($intent->id);
658 658
 
659
-		if ( ! $order ) {
660
-			WC_Stripe_Logger::log( 'Could not find order via intent ID: ' . $intent->id );
659
+		if ( ! $order) {
660
+			WC_Stripe_Logger::log('Could not find order via intent ID: ' . $intent->id);
661 661
 			return;
662 662
 		}
663 663
 
664
-		if ( 'pending' !== $order->get_status() && 'failed' !== $order->get_status() ) {
664
+		if ('pending' !== $order->get_status() && 'failed' !== $order->get_status()) {
665 665
 			return;
666 666
 		}
667 667
 
668
-		if ( $this->lock_order_payment( $order, $intent ) ) {
668
+		if ($this->lock_order_payment($order, $intent)) {
669 669
 			return;
670 670
 		}
671 671
 
672
-		$order_id = WC_Stripe_Helper::is_wc_lt( '3.0' ) ? $order->id : $order->get_id();
673
-		if ( 'payment_intent.succeeded' === $notification->type || 'payment_intent.amount_capturable_updated' === $notification->type ) {
674
-			$charge = end( $intent->charges->data );
675
-			WC_Stripe_Logger::log( "Stripe PaymentIntent $intent->id succeeded for order $order_id" );
672
+		$order_id = WC_Stripe_Helper::is_wc_lt('3.0') ? $order->id : $order->get_id();
673
+		if ('payment_intent.succeeded' === $notification->type || 'payment_intent.amount_capturable_updated' === $notification->type) {
674
+			$charge = end($intent->charges->data);
675
+			WC_Stripe_Logger::log("Stripe PaymentIntent $intent->id succeeded for order $order_id");
676 676
 
677
-			do_action( 'wc_gateway_stripe_process_payment', $charge, $order );
677
+			do_action('wc_gateway_stripe_process_payment', $charge, $order);
678 678
 
679 679
 			// Process valid response.
680
-			$this->process_response( $charge, $order );
680
+			$this->process_response($charge, $order);
681 681
 
682 682
 		} else {
683 683
 			$error_message = $intent->last_payment_error ? $intent->last_payment_error->message : "";
684 684
 
685 685
 			/* translators: 1) The error message that was received from Stripe. */
686
-			$order->update_status( 'failed', sprintf( __( 'Stripe SCA authentication failed. Reason: %s', 'woocommerce-gateway-stripe' ), $error_message ) );
686
+			$order->update_status('failed', sprintf(__('Stripe SCA authentication failed. Reason: %s', 'woocommerce-gateway-stripe'), $error_message));
687 687
 
688
-			do_action( 'wc_gateway_stripe_process_webhook_payment_error', $order, $notification );
688
+			do_action('wc_gateway_stripe_process_webhook_payment_error', $order, $notification);
689 689
 
690
-			$this->send_failed_order_email( $order_id );
690
+			$this->send_failed_order_email($order_id);
691 691
 		}
692 692
 
693
-		$this->unlock_order_payment( $order );
693
+		$this->unlock_order_payment($order);
694 694
 	}
695 695
 
696 696
 	/**
@@ -700,50 +700,50 @@  discard block
 block discarded – undo
700 700
 	 * @version 4.0.0
701 701
 	 * @param string $request_body
702 702
 	 */
703
-	public function process_webhook( $request_body ) {
704
-		$notification = json_decode( $request_body );
703
+	public function process_webhook($request_body) {
704
+		$notification = json_decode($request_body);
705 705
 
706
-		switch ( $notification->type ) {
706
+		switch ($notification->type) {
707 707
 			case 'source.chargeable':
708
-				$this->process_webhook_payment( $notification );
708
+				$this->process_webhook_payment($notification);
709 709
 				break;
710 710
 
711 711
 			case 'source.canceled':
712
-				$this->process_webhook_source_canceled( $notification );
712
+				$this->process_webhook_source_canceled($notification);
713 713
 				break;
714 714
 
715 715
 			case 'charge.succeeded':
716
-				$this->process_webhook_charge_succeeded( $notification );
716
+				$this->process_webhook_charge_succeeded($notification);
717 717
 				break;
718 718
 
719 719
 			case 'charge.failed':
720
-				$this->process_webhook_charge_failed( $notification );
720
+				$this->process_webhook_charge_failed($notification);
721 721
 				break;
722 722
 
723 723
 			case 'charge.captured':
724
-				$this->process_webhook_capture( $notification );
724
+				$this->process_webhook_capture($notification);
725 725
 				break;
726 726
 
727 727
 			case 'charge.dispute.created':
728
-				$this->process_webhook_dispute( $notification );
728
+				$this->process_webhook_dispute($notification);
729 729
 				break;
730 730
 
731 731
 			case 'charge.refunded':
732
-				$this->process_webhook_refund( $notification );
732
+				$this->process_webhook_refund($notification);
733 733
 				break;
734 734
 
735 735
 			case 'review.opened':
736
-				$this->process_review_opened( $notification );
736
+				$this->process_review_opened($notification);
737 737
 				break;
738 738
 
739 739
 			case 'review.closed':
740
-				$this->process_review_closed( $notification );
740
+				$this->process_review_closed($notification);
741 741
 				break;
742 742
 
743 743
 			case 'payment_intent.succeeded':
744 744
 			case 'payment_intent.payment_failed':
745 745
 			case 'payment_intent.amount_capturable_updated':
746
-				$this->process_payment_intent_success( $notification );
746
+				$this->process_payment_intent_success($notification);
747 747
 
748 748
 		}
749 749
 	}
Please login to merge, or discard this patch.
includes/admin/stripe-settings.php 1 patch
Spacing   +56 added lines, -56 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
 
@@ -7,160 +7,160 @@  discard block
 block discarded – undo
7 7
 	'wc_stripe_settings',
8 8
 	array(
9 9
 		'enabled'                       => array(
10
-			'title'       => __( 'Enable/Disable', 'woocommerce-gateway-stripe' ),
11
-			'label'       => __( 'Enable Stripe', 'woocommerce-gateway-stripe' ),
10
+			'title'       => __('Enable/Disable', 'woocommerce-gateway-stripe'),
11
+			'label'       => __('Enable Stripe', 'woocommerce-gateway-stripe'),
12 12
 			'type'        => 'checkbox',
13 13
 			'description' => '',
14 14
 			'default'     => 'no',
15 15
 		),
16 16
 		'title'                         => array(
17
-			'title'       => __( 'Title', 'woocommerce-gateway-stripe' ),
17
+			'title'       => __('Title', 'woocommerce-gateway-stripe'),
18 18
 			'type'        => 'text',
19
-			'description' => __( 'This controls the title which the user sees during checkout.', 'woocommerce-gateway-stripe' ),
20
-			'default'     => __( 'Credit Card (Stripe)', 'woocommerce-gateway-stripe' ),
19
+			'description' => __('This controls the title which the user sees during checkout.', 'woocommerce-gateway-stripe'),
20
+			'default'     => __('Credit Card (Stripe)', 'woocommerce-gateway-stripe'),
21 21
 			'desc_tip'    => true,
22 22
 		),
23 23
 		'description'                   => array(
24
-			'title'       => __( 'Description', 'woocommerce-gateway-stripe' ),
24
+			'title'       => __('Description', 'woocommerce-gateway-stripe'),
25 25
 			'type'        => 'text',
26
-			'description' => __( 'This controls the description which the user sees during checkout.', 'woocommerce-gateway-stripe' ),
27
-			'default'     => __( 'Pay with your credit card via Stripe.', 'woocommerce-gateway-stripe' ),
26
+			'description' => __('This controls the description which the user sees during checkout.', 'woocommerce-gateway-stripe'),
27
+			'default'     => __('Pay with your credit card via Stripe.', 'woocommerce-gateway-stripe'),
28 28
 			'desc_tip'    => true,
29 29
 		),
30 30
 		'webhook'                       => array(
31
-			'title'       => __( 'Webhook Endpoints', 'woocommerce-gateway-stripe' ),
31
+			'title'       => __('Webhook Endpoints', 'woocommerce-gateway-stripe'),
32 32
 			'type'        => 'title',
33 33
 			/* translators: webhook URL */
34 34
 			'description' => $this->display_admin_settings_webhook_description(),
35 35
 		),
36 36
 		'testmode'                      => array(
37
-			'title'       => __( 'Test mode', 'woocommerce-gateway-stripe' ),
38
-			'label'       => __( 'Enable Test Mode', 'woocommerce-gateway-stripe' ),
37
+			'title'       => __('Test mode', 'woocommerce-gateway-stripe'),
38
+			'label'       => __('Enable Test Mode', 'woocommerce-gateway-stripe'),
39 39
 			'type'        => 'checkbox',
40
-			'description' => __( 'Place the payment gateway in test mode using test API keys.', 'woocommerce-gateway-stripe' ),
40
+			'description' => __('Place the payment gateway in test mode using test API keys.', 'woocommerce-gateway-stripe'),
41 41
 			'default'     => 'yes',
42 42
 			'desc_tip'    => true,
43 43
 		),
44 44
 		'test_publishable_key'          => array(
45
-			'title'       => __( 'Test Publishable Key', 'woocommerce-gateway-stripe' ),
45
+			'title'       => __('Test Publishable Key', 'woocommerce-gateway-stripe'),
46 46
 			'type'        => 'text',
47
-			'description' => __( 'Get your API keys from your stripe account.', 'woocommerce-gateway-stripe' ),
47
+			'description' => __('Get your API keys from your stripe account.', 'woocommerce-gateway-stripe'),
48 48
 			'default'     => '',
49 49
 			'desc_tip'    => true,
50 50
 		),
51 51
 		'test_secret_key'               => array(
52
-			'title'       => __( 'Test Secret Key', 'woocommerce-gateway-stripe' ),
52
+			'title'       => __('Test Secret Key', 'woocommerce-gateway-stripe'),
53 53
 			'type'        => 'password',
54
-			'description' => __( 'Get your API keys from your stripe account.', 'woocommerce-gateway-stripe' ),
54
+			'description' => __('Get your API keys from your stripe account.', 'woocommerce-gateway-stripe'),
55 55
 			'default'     => '',
56 56
 			'desc_tip'    => true,
57 57
 		),
58 58
 		'test_webhook_secret'           => array(
59
-			'title'       => __( 'Test Webhook Secret', 'woocommerce-gateway-stripe' ),
59
+			'title'       => __('Test Webhook Secret', 'woocommerce-gateway-stripe'),
60 60
 			'type'        => 'password',
61
-			'description' => __( 'Get your webhook signing secret from the webhooks section in your stripe account.', 'woocommerce-gateway-stripe' ),
61
+			'description' => __('Get your webhook signing secret from the webhooks section in your stripe account.', 'woocommerce-gateway-stripe'),
62 62
 			'default'     => '',
63 63
 			'desc_tip'    => true,
64 64
 		),
65 65
 		'publishable_key'               => array(
66
-			'title'       => __( 'Live Publishable Key', 'woocommerce-gateway-stripe' ),
66
+			'title'       => __('Live Publishable Key', 'woocommerce-gateway-stripe'),
67 67
 			'type'        => 'text',
68
-			'description' => __( 'Get your API keys from your stripe account.', 'woocommerce-gateway-stripe' ),
68
+			'description' => __('Get your API keys from your stripe account.', 'woocommerce-gateway-stripe'),
69 69
 			'default'     => '',
70 70
 			'desc_tip'    => true,
71 71
 		),
72 72
 		'secret_key'                    => array(
73
-			'title'       => __( 'Live Secret Key', 'woocommerce-gateway-stripe' ),
73
+			'title'       => __('Live Secret Key', 'woocommerce-gateway-stripe'),
74 74
 			'type'        => 'password',
75
-			'description' => __( 'Get your API keys from your stripe account.', 'woocommerce-gateway-stripe' ),
75
+			'description' => __('Get your API keys from your stripe account.', 'woocommerce-gateway-stripe'),
76 76
 			'default'     => '',
77 77
 			'desc_tip'    => true,
78 78
 		),
79 79
 		'webhook_secret'               => array(
80
-			'title'       => __( 'Webhook Secret', 'woocommerce-gateway-stripe' ),
80
+			'title'       => __('Webhook Secret', 'woocommerce-gateway-stripe'),
81 81
 			'type'        => 'password',
82
-			'description' => __( 'Get your webhook signing secret from the webhooks section in your stripe account.', 'woocommerce-gateway-stripe' ),
82
+			'description' => __('Get your webhook signing secret from the webhooks section in your stripe account.', 'woocommerce-gateway-stripe'),
83 83
 			'default'     => '',
84 84
 			'desc_tip'    => true,
85 85
 		),
86 86
 		'inline_cc_form'                => array(
87
-			'title'       => __( 'Inline Credit Card Form', 'woocommerce-gateway-stripe' ),
87
+			'title'       => __('Inline Credit Card Form', 'woocommerce-gateway-stripe'),
88 88
 			'type'        => 'checkbox',
89
-			'description' => __( 'Choose the style you want to show for your credit card form. When unchecked, the credit card form will display separate credit card number field, expiry date field and cvc field.', 'woocommerce-gateway-stripe' ),
89
+			'description' => __('Choose the style you want to show for your credit card form. When unchecked, the credit card form will display separate credit card number field, expiry date field and cvc field.', 'woocommerce-gateway-stripe'),
90 90
 			'default'     => 'no',
91 91
 			'desc_tip'    => true,
92 92
 		),
93 93
 		'statement_descriptor'          => array(
94
-			'title'       => __( 'Statement Descriptor', 'woocommerce-gateway-stripe' ),
94
+			'title'       => __('Statement Descriptor', 'woocommerce-gateway-stripe'),
95 95
 			'type'        => 'text',
96
-			'description' => __( 'Statement descriptors are limited to 22 characters, cannot use the special characters >, <, ", \, \', *, and must not consist solely of numbers. This will appear on your customer\'s statement in capital letters.', 'woocommerce-gateway-stripe' ),
96
+			'description' => __('Statement descriptors are limited to 22 characters, cannot use the special characters >, <, ", \, \', *, and must not consist solely of numbers. This will appear on your customer\'s statement in capital letters.', 'woocommerce-gateway-stripe'),
97 97
 			'default'     => '',
98 98
 			'desc_tip'    => true,
99 99
 		),
100 100
 		'capture'                       => array(
101
-			'title'       => __( 'Capture', 'woocommerce-gateway-stripe' ),
102
-			'label'       => __( 'Capture charge immediately', 'woocommerce-gateway-stripe' ),
101
+			'title'       => __('Capture', 'woocommerce-gateway-stripe'),
102
+			'label'       => __('Capture charge immediately', 'woocommerce-gateway-stripe'),
103 103
 			'type'        => 'checkbox',
104
-			'description' => __( 'Whether or not to immediately capture the charge. When unchecked, the charge issues an authorization and will need to be captured later. Uncaptured charges expire in 7 days.', 'woocommerce-gateway-stripe' ),
104
+			'description' => __('Whether or not to immediately capture the charge. When unchecked, the charge issues an authorization and will need to be captured later. Uncaptured charges expire in 7 days.', 'woocommerce-gateway-stripe'),
105 105
 			'default'     => 'yes',
106 106
 			'desc_tip'    => true,
107 107
 		),
108 108
 		'payment_request'               => array(
109
-			'title'       => __( 'Payment Request Buttons', 'woocommerce-gateway-stripe' ),
109
+			'title'       => __('Payment Request Buttons', 'woocommerce-gateway-stripe'),
110 110
 			/* translators: 1) br tag 2) opening anchor tag 3) closing anchor tag */
111
-			'label'       => sprintf( __( 'Enable Payment Request Buttons. (Apple Pay/Chrome Payment Request API) %1$sBy using Apple Pay, you agree to %2$s and %3$s\'s terms of service.', 'woocommerce-gateway-stripe' ), '<br />', '<a href="https://stripe.com/apple-pay/legal" target="_blank">Stripe</a>', '<a href="https://developer.apple.com/apple-pay/acceptable-use-guidelines-for-websites/" target="_blank">Apple</a>' ),
111
+			'label'       => sprintf(__('Enable Payment Request Buttons. (Apple Pay/Chrome Payment Request API) %1$sBy using Apple Pay, you agree to %2$s and %3$s\'s terms of service.', 'woocommerce-gateway-stripe'), '<br />', '<a href="https://stripe.com/apple-pay/legal" target="_blank">Stripe</a>', '<a href="https://developer.apple.com/apple-pay/acceptable-use-guidelines-for-websites/" target="_blank">Apple</a>'),
112 112
 			'type'        => 'checkbox',
113
-			'description' => __( 'If enabled, users will be able to pay using Apple Pay or Chrome Payment Request if supported by the browser.', 'woocommerce-gateway-stripe' ),
113
+			'description' => __('If enabled, users will be able to pay using Apple Pay or Chrome Payment Request if supported by the browser.', 'woocommerce-gateway-stripe'),
114 114
 			'default'     => 'yes',
115 115
 			'desc_tip'    => true,
116 116
 		),
117 117
 		'payment_request_button_type'   => array(
118
-			'title'       => __( 'Payment Request Button Type', 'woocommerce-gateway-stripe' ),
119
-			'label'       => __( 'Button Type', 'woocommerce-gateway-stripe' ),
118
+			'title'       => __('Payment Request Button Type', 'woocommerce-gateway-stripe'),
119
+			'label'       => __('Button Type', 'woocommerce-gateway-stripe'),
120 120
 			'type'        => 'select',
121
-			'description' => __( 'Select the button type you would like to show.', 'woocommerce-gateway-stripe' ),
121
+			'description' => __('Select the button type you would like to show.', 'woocommerce-gateway-stripe'),
122 122
 			'default'     => 'buy',
123 123
 			'desc_tip'    => true,
124 124
 			'options'     => array(
125
-				'default' => __( 'Default', 'woocommerce-gateway-stripe' ),
126
-				'buy'     => __( 'Buy', 'woocommerce-gateway-stripe' ),
127
-				'donate'  => __( 'Donate', 'woocommerce-gateway-stripe' ),
125
+				'default' => __('Default', 'woocommerce-gateway-stripe'),
126
+				'buy'     => __('Buy', 'woocommerce-gateway-stripe'),
127
+				'donate'  => __('Donate', 'woocommerce-gateway-stripe'),
128 128
 			),
129 129
 		),
130 130
 		'payment_request_button_theme'  => array(
131
-			'title'       => __( 'Payment Request Button Theme', 'woocommerce-gateway-stripe' ),
132
-			'label'       => __( 'Button Theme', 'woocommerce-gateway-stripe' ),
131
+			'title'       => __('Payment Request Button Theme', 'woocommerce-gateway-stripe'),
132
+			'label'       => __('Button Theme', 'woocommerce-gateway-stripe'),
133 133
 			'type'        => 'select',
134
-			'description' => __( 'Select the button theme you would like to show.', 'woocommerce-gateway-stripe' ),
134
+			'description' => __('Select the button theme you would like to show.', 'woocommerce-gateway-stripe'),
135 135
 			'default'     => 'dark',
136 136
 			'desc_tip'    => true,
137 137
 			'options'     => array(
138
-				'dark'          => __( 'Dark', 'woocommerce-gateway-stripe' ),
139
-				'light'         => __( 'Light', 'woocommerce-gateway-stripe' ),
140
-				'light-outline' => __( 'Light-Outline', 'woocommerce-gateway-stripe' ),
138
+				'dark'          => __('Dark', 'woocommerce-gateway-stripe'),
139
+				'light'         => __('Light', 'woocommerce-gateway-stripe'),
140
+				'light-outline' => __('Light-Outline', 'woocommerce-gateway-stripe'),
141 141
 			),
142 142
 		),
143 143
 		'payment_request_button_height' => array(
144
-			'title'       => __( 'Payment Request Button Height', 'woocommerce-gateway-stripe' ),
145
-			'label'       => __( 'Button Height', 'woocommerce-gateway-stripe' ),
144
+			'title'       => __('Payment Request Button Height', 'woocommerce-gateway-stripe'),
145
+			'label'       => __('Button Height', 'woocommerce-gateway-stripe'),
146 146
 			'type'        => 'text',
147
-			'description' => __( 'Enter the height you would like the button to be in pixels. Width will always be 100%.', 'woocommerce-gateway-stripe' ),
147
+			'description' => __('Enter the height you would like the button to be in pixels. Width will always be 100%.', 'woocommerce-gateway-stripe'),
148 148
 			'default'     => '44',
149 149
 			'desc_tip'    => true,
150 150
 		),
151 151
 		'saved_cards'                   => array(
152
-			'title'       => __( 'Saved Cards', 'woocommerce-gateway-stripe' ),
153
-			'label'       => __( 'Enable Payment via Saved Cards', 'woocommerce-gateway-stripe' ),
152
+			'title'       => __('Saved Cards', 'woocommerce-gateway-stripe'),
153
+			'label'       => __('Enable Payment via Saved Cards', 'woocommerce-gateway-stripe'),
154 154
 			'type'        => 'checkbox',
155
-			'description' => __( 'If enabled, users will be able to pay with a saved card during checkout. Card details are saved on Stripe servers, not on your store.', 'woocommerce-gateway-stripe' ),
155
+			'description' => __('If enabled, users will be able to pay with a saved card during checkout. Card details are saved on Stripe servers, not on your store.', 'woocommerce-gateway-stripe'),
156 156
 			'default'     => 'yes',
157 157
 			'desc_tip'    => true,
158 158
 		),
159 159
 		'logging'                       => array(
160
-			'title'       => __( 'Logging', 'woocommerce-gateway-stripe' ),
161
-			'label'       => __( 'Log debug messages', 'woocommerce-gateway-stripe' ),
160
+			'title'       => __('Logging', 'woocommerce-gateway-stripe'),
161
+			'label'       => __('Log debug messages', 'woocommerce-gateway-stripe'),
162 162
 			'type'        => 'checkbox',
163
-			'description' => __( 'Save debug messages to the WooCommerce System Status log.', 'woocommerce-gateway-stripe' ),
163
+			'description' => __('Save debug messages to the WooCommerce System Status log.', 'woocommerce-gateway-stripe'),
164 164
 			'default'     => 'no',
165 165
 			'desc_tip'    => true,
166 166
 		),
Please login to merge, or discard this patch.
woocommerce-gateway-stripe.php 1 patch
Spacing   +85 added lines, -85 removed lines patch added patch discarded remove patch
@@ -15,7 +15,7 @@  discard block
 block discarded – undo
15 15
  *
16 16
  */
17 17
 
18
-if ( ! defined( 'ABSPATH' ) ) {
18
+if ( ! defined('ABSPATH')) {
19 19
 	exit;
20 20
 }
21 21
 
@@ -29,29 +29,29 @@  discard block
 block discarded – undo
29 29
  */
30 30
 function woocommerce_stripe_missing_wc_notice() {
31 31
 	/* translators: 1. URL link. */
32
-	echo '<div class="error"><p><strong>' . sprintf( esc_html__( 'Stripe requires WooCommerce to be installed and active. You can download %s here.', 'woocommerce-gateway-stripe' ), '<a href="https://woocommerce.com/" target="_blank">WooCommerce</a>' ) . '</strong></p></div>';
32
+	echo '<div class="error"><p><strong>' . sprintf(esc_html__('Stripe requires WooCommerce to be installed and active. You can download %s here.', 'woocommerce-gateway-stripe'), '<a href="https://woocommerce.com/" target="_blank">WooCommerce</a>') . '</strong></p></div>';
33 33
 }
34 34
 
35
-add_action( 'plugins_loaded', 'woocommerce_gateway_stripe_init' );
35
+add_action('plugins_loaded', 'woocommerce_gateway_stripe_init');
36 36
 
37 37
 function woocommerce_gateway_stripe_init() {
38
-	load_plugin_textdomain( 'woocommerce-gateway-stripe', false, plugin_basename( dirname( __FILE__ ) ) . '/languages' );
38
+	load_plugin_textdomain('woocommerce-gateway-stripe', false, plugin_basename(dirname(__FILE__)) . '/languages');
39 39
 
40
-	if ( ! class_exists( 'WooCommerce' ) ) {
41
-		add_action( 'admin_notices', 'woocommerce_stripe_missing_wc_notice' );
40
+	if ( ! class_exists('WooCommerce')) {
41
+		add_action('admin_notices', 'woocommerce_stripe_missing_wc_notice');
42 42
 		return;
43 43
 	}
44 44
 
45
-	if ( ! class_exists( 'WC_Stripe' ) ) :
45
+	if ( ! class_exists('WC_Stripe')) :
46 46
 		/**
47 47
 		 * Required minimums and constants
48 48
 		 */
49
-		define( 'WC_STRIPE_VERSION', '4.2.3' );
50
-		define( 'WC_STRIPE_MIN_PHP_VER', '5.6.0' );
51
-		define( 'WC_STRIPE_MIN_WC_VER', '2.6.0' );
52
-		define( 'WC_STRIPE_MAIN_FILE', __FILE__ );
53
-		define( 'WC_STRIPE_PLUGIN_URL', untrailingslashit( plugins_url( basename( plugin_dir_path( __FILE__ ) ), basename( __FILE__ ) ) ) );
54
-		define( 'WC_STRIPE_PLUGIN_PATH', untrailingslashit( plugin_dir_path( __FILE__ ) ) );
49
+		define('WC_STRIPE_VERSION', '4.2.3');
50
+		define('WC_STRIPE_MIN_PHP_VER', '5.6.0');
51
+		define('WC_STRIPE_MIN_WC_VER', '2.6.0');
52
+		define('WC_STRIPE_MAIN_FILE', __FILE__);
53
+		define('WC_STRIPE_PLUGIN_URL', untrailingslashit(plugins_url(basename(plugin_dir_path(__FILE__)), basename(__FILE__))));
54
+		define('WC_STRIPE_PLUGIN_PATH', untrailingslashit(plugin_dir_path(__FILE__)));
55 55
 
56 56
 		class WC_Stripe {
57 57
 
@@ -66,7 +66,7 @@  discard block
 block discarded – undo
66 66
 			 * @return Singleton The *Singleton* instance.
67 67
 			 */
68 68
 			public static function get_instance() {
69
-				if ( null === self::$instance ) {
69
+				if (null === self::$instance) {
70 70
 					self::$instance = new self();
71 71
 				}
72 72
 				return self::$instance;
@@ -93,7 +93,7 @@  discard block
 block discarded – undo
93 93
 			 * *Singleton* via the `new` operator from outside of this class.
94 94
 			 */
95 95
 			private function __construct() {
96
-				add_action( 'admin_init', array( $this, 'install' ) );
96
+				add_action('admin_init', array($this, 'install'));
97 97
 				$this->init();
98 98
 			}
99 99
 
@@ -104,49 +104,49 @@  discard block
 block discarded – undo
104 104
 			 * @version 4.0.0
105 105
 			 */
106 106
 			public function init() {
107
-				if ( is_admin() ) {
108
-					require_once dirname( __FILE__ ) . '/includes/admin/class-wc-stripe-privacy.php';
107
+				if (is_admin()) {
108
+					require_once dirname(__FILE__) . '/includes/admin/class-wc-stripe-privacy.php';
109 109
 				}
110 110
 
111
-				require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-exception.php';
112
-				require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-logger.php';
113
-				require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-helper.php';
114
-				include_once dirname( __FILE__ ) . '/includes/class-wc-stripe-api.php';
115
-				require_once dirname( __FILE__ ) . '/includes/abstracts/abstract-wc-stripe-payment-gateway.php';
116
-				require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-webhook-handler.php';
117
-				require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-sepa-payment-token.php';
118
-				require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-apple-pay-registration.php';
119
-				require_once dirname( __FILE__ ) . '/includes/compat/class-wc-stripe-pre-orders-compat.php';
120
-				require_once dirname( __FILE__ ) . '/includes/class-wc-gateway-stripe.php';
121
-				require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-bancontact.php';
122
-				require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-sofort.php';
123
-				require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-giropay.php';
124
-				require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-eps.php';
125
-				require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-ideal.php';
126
-				require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-p24.php';
127
-				require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-alipay.php';
128
-				require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-sepa.php';
129
-				require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-gateway-stripe-multibanco.php';
130
-				require_once dirname( __FILE__ ) . '/includes/payment-methods/class-wc-stripe-payment-request.php';
131
-				require_once dirname( __FILE__ ) . '/includes/compat/class-wc-stripe-subs-compat.php';
132
-				require_once dirname( __FILE__ ) . '/includes/compat/class-wc-stripe-sepa-subs-compat.php';
133
-				require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-order-handler.php';
134
-				require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-payment-tokens.php';
135
-				require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-customer.php';
136
-				require_once dirname( __FILE__ ) . '/includes/class-wc-stripe-intent-controller.php';
137
-
138
-				if ( is_admin() ) {
139
-					require_once dirname( __FILE__ ) . '/includes/admin/class-wc-stripe-admin-notices.php';
111
+				require_once dirname(__FILE__) . '/includes/class-wc-stripe-exception.php';
112
+				require_once dirname(__FILE__) . '/includes/class-wc-stripe-logger.php';
113
+				require_once dirname(__FILE__) . '/includes/class-wc-stripe-helper.php';
114
+				include_once dirname(__FILE__) . '/includes/class-wc-stripe-api.php';
115
+				require_once dirname(__FILE__) . '/includes/abstracts/abstract-wc-stripe-payment-gateway.php';
116
+				require_once dirname(__FILE__) . '/includes/class-wc-stripe-webhook-handler.php';
117
+				require_once dirname(__FILE__) . '/includes/class-wc-stripe-sepa-payment-token.php';
118
+				require_once dirname(__FILE__) . '/includes/class-wc-stripe-apple-pay-registration.php';
119
+				require_once dirname(__FILE__) . '/includes/compat/class-wc-stripe-pre-orders-compat.php';
120
+				require_once dirname(__FILE__) . '/includes/class-wc-gateway-stripe.php';
121
+				require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-gateway-stripe-bancontact.php';
122
+				require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-gateway-stripe-sofort.php';
123
+				require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-gateway-stripe-giropay.php';
124
+				require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-gateway-stripe-eps.php';
125
+				require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-gateway-stripe-ideal.php';
126
+				require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-gateway-stripe-p24.php';
127
+				require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-gateway-stripe-alipay.php';
128
+				require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-gateway-stripe-sepa.php';
129
+				require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-gateway-stripe-multibanco.php';
130
+				require_once dirname(__FILE__) . '/includes/payment-methods/class-wc-stripe-payment-request.php';
131
+				require_once dirname(__FILE__) . '/includes/compat/class-wc-stripe-subs-compat.php';
132
+				require_once dirname(__FILE__) . '/includes/compat/class-wc-stripe-sepa-subs-compat.php';
133
+				require_once dirname(__FILE__) . '/includes/class-wc-stripe-order-handler.php';
134
+				require_once dirname(__FILE__) . '/includes/class-wc-stripe-payment-tokens.php';
135
+				require_once dirname(__FILE__) . '/includes/class-wc-stripe-customer.php';
136
+				require_once dirname(__FILE__) . '/includes/class-wc-stripe-intent-controller.php';
137
+
138
+				if (is_admin()) {
139
+					require_once dirname(__FILE__) . '/includes/admin/class-wc-stripe-admin-notices.php';
140 140
 				}
141 141
 
142 142
 				// REMOVE IN THE FUTURE.
143
-				require_once dirname( __FILE__ ) . '/includes/deprecated/class-wc-stripe-apple-pay.php';
143
+				require_once dirname(__FILE__) . '/includes/deprecated/class-wc-stripe-apple-pay.php';
144 144
 
145
-				add_filter( 'woocommerce_payment_gateways', array( $this, 'add_gateways' ) );
146
-				add_filter( 'plugin_action_links_' . plugin_basename( __FILE__ ), array( $this, 'plugin_action_links' ) );
145
+				add_filter('woocommerce_payment_gateways', array($this, 'add_gateways'));
146
+				add_filter('plugin_action_links_' . plugin_basename(__FILE__), array($this, 'plugin_action_links'));
147 147
 
148
-				if ( version_compare( WC_VERSION, '3.4', '<' ) ) {
149
-					add_filter( 'woocommerce_get_sections_checkout', array( $this, 'filter_gateway_order_admin' ) );
148
+				if (version_compare(WC_VERSION, '3.4', '<')) {
149
+					add_filter('woocommerce_get_sections_checkout', array($this, 'filter_gateway_order_admin'));
150 150
 				}
151 151
 			}
152 152
 
@@ -157,8 +157,8 @@  discard block
 block discarded – undo
157 157
 			 * @version 4.0.0
158 158
 			 */
159 159
 			public function update_plugin_version() {
160
-				delete_option( 'wc_stripe_version' );
161
-				update_option( 'wc_stripe_version', WC_STRIPE_VERSION );
160
+				delete_option('wc_stripe_version');
161
+				update_option('wc_stripe_version', WC_STRIPE_VERSION);
162 162
 			}
163 163
 
164 164
 			/**
@@ -168,15 +168,15 @@  discard block
 block discarded – undo
168 168
 			 * @version 3.1.0
169 169
 			 */
170 170
 			public function install() {
171
-				if ( ! is_plugin_active( plugin_basename( __FILE__ ) ) ) {
171
+				if ( ! is_plugin_active(plugin_basename(__FILE__))) {
172 172
 					return;
173 173
 				}
174 174
 
175
-				if ( ! defined( 'IFRAME_REQUEST' ) && ( WC_STRIPE_VERSION !== get_option( 'wc_stripe_version' ) ) ) {
176
-					do_action( 'woocommerce_stripe_updated' );
175
+				if ( ! defined('IFRAME_REQUEST') && (WC_STRIPE_VERSION !== get_option('wc_stripe_version'))) {
176
+					do_action('woocommerce_stripe_updated');
177 177
 
178
-					if ( ! defined( 'WC_STRIPE_INSTALLING' ) ) {
179
-						define( 'WC_STRIPE_INSTALLING', true );
178
+					if ( ! defined('WC_STRIPE_INSTALLING')) {
179
+						define('WC_STRIPE_INSTALLING', true);
180 180
 					}
181 181
 
182 182
 					$this->update_plugin_version();
@@ -189,13 +189,13 @@  discard block
 block discarded – undo
189 189
 			 * @since 1.0.0
190 190
 			 * @version 4.0.0
191 191
 			 */
192
-			public function plugin_action_links( $links ) {
192
+			public function plugin_action_links($links) {
193 193
 				$plugin_links = array(
194
-					'<a href="admin.php?page=wc-settings&tab=checkout&section=stripe">' . esc_html__( 'Settings', 'woocommerce-gateway-stripe' ) . '</a>',
195
-					'<a href="https://docs.woocommerce.com/document/stripe/">' . esc_html__( 'Docs', 'woocommerce-gateway-stripe' ) . '</a>',
196
-					'<a href="https://woocommerce.com/my-account/create-a-ticket?broken=primary&select=18627">' . esc_html__( 'Support', 'woocommerce-gateway-stripe' ) . '</a>',
194
+					'<a href="admin.php?page=wc-settings&tab=checkout&section=stripe">' . esc_html__('Settings', 'woocommerce-gateway-stripe') . '</a>',
195
+					'<a href="https://docs.woocommerce.com/document/stripe/">' . esc_html__('Docs', 'woocommerce-gateway-stripe') . '</a>',
196
+					'<a href="https://woocommerce.com/my-account/create-a-ticket?broken=primary&select=18627">' . esc_html__('Support', 'woocommerce-gateway-stripe') . '</a>',
197 197
 				);
198
-				return array_merge( $plugin_links, $links );
198
+				return array_merge($plugin_links, $links);
199 199
 			}
200 200
 
201 201
 			/**
@@ -204,8 +204,8 @@  discard block
 block discarded – undo
204 204
 			 * @since 1.0.0
205 205
 			 * @version 4.0.0
206 206
 			 */
207
-			public function add_gateways( $methods ) {
208
-				if ( class_exists( 'WC_Subscriptions_Order' ) && function_exists( 'wcs_create_renewal_order' ) ) {
207
+			public function add_gateways($methods) {
208
+				if (class_exists('WC_Subscriptions_Order') && function_exists('wcs_create_renewal_order')) {
209 209
 					$methods[] = 'WC_Stripe_Subs_Compat';
210 210
 					$methods[] = 'WC_Stripe_Sepa_Subs_Compat';
211 211
 				} else {
@@ -231,28 +231,28 @@  discard block
 block discarded – undo
231 231
 			 * @since 4.0.0
232 232
 			 * @version 4.0.0
233 233
 			 */
234
-			public function filter_gateway_order_admin( $sections ) {
235
-				unset( $sections['stripe'] );
236
-				unset( $sections['stripe_bancontact'] );
237
-				unset( $sections['stripe_sofort'] );
238
-				unset( $sections['stripe_giropay'] );
239
-				unset( $sections['stripe_eps'] );
240
-				unset( $sections['stripe_ideal'] );
241
-				unset( $sections['stripe_p24'] );
242
-				unset( $sections['stripe_alipay'] );
243
-				unset( $sections['stripe_sepa'] );
244
-				unset( $sections['stripe_multibanco'] );
234
+			public function filter_gateway_order_admin($sections) {
235
+				unset($sections['stripe']);
236
+				unset($sections['stripe_bancontact']);
237
+				unset($sections['stripe_sofort']);
238
+				unset($sections['stripe_giropay']);
239
+				unset($sections['stripe_eps']);
240
+				unset($sections['stripe_ideal']);
241
+				unset($sections['stripe_p24']);
242
+				unset($sections['stripe_alipay']);
243
+				unset($sections['stripe_sepa']);
244
+				unset($sections['stripe_multibanco']);
245 245
 
246 246
 				$sections['stripe']            = 'Stripe';
247
-				$sections['stripe_bancontact'] = __( 'Stripe Bancontact', 'woocommerce-gateway-stripe' );
248
-				$sections['stripe_sofort']     = __( 'Stripe SOFORT', 'woocommerce-gateway-stripe' );
249
-				$sections['stripe_giropay']    = __( 'Stripe Giropay', 'woocommerce-gateway-stripe' );
250
-				$sections['stripe_eps']        = __( 'Stripe EPS', 'woocommerce-gateway-stripe' );
251
-				$sections['stripe_ideal']      = __( 'Stripe iDeal', 'woocommerce-gateway-stripe' );
252
-				$sections['stripe_p24']        = __( 'Stripe P24', 'woocommerce-gateway-stripe' );
253
-				$sections['stripe_alipay']     = __( 'Stripe Alipay', 'woocommerce-gateway-stripe' );
254
-				$sections['stripe_sepa']       = __( 'Stripe SEPA Direct Debit', 'woocommerce-gateway-stripe' );
255
-				$sections['stripe_multibanco'] = __( 'Stripe Multibanco', 'woocommerce-gateway-stripe' );
247
+				$sections['stripe_bancontact'] = __('Stripe Bancontact', 'woocommerce-gateway-stripe');
248
+				$sections['stripe_sofort']     = __('Stripe SOFORT', 'woocommerce-gateway-stripe');
249
+				$sections['stripe_giropay']    = __('Stripe Giropay', 'woocommerce-gateway-stripe');
250
+				$sections['stripe_eps']        = __('Stripe EPS', 'woocommerce-gateway-stripe');
251
+				$sections['stripe_ideal']      = __('Stripe iDeal', 'woocommerce-gateway-stripe');
252
+				$sections['stripe_p24']        = __('Stripe P24', 'woocommerce-gateway-stripe');
253
+				$sections['stripe_alipay']     = __('Stripe Alipay', 'woocommerce-gateway-stripe');
254
+				$sections['stripe_sepa']       = __('Stripe SEPA Direct Debit', 'woocommerce-gateway-stripe');
255
+				$sections['stripe_multibanco'] = __('Stripe Multibanco', 'woocommerce-gateway-stripe');
256 256
 
257 257
 				return $sections;
258 258
 			}
Please login to merge, or discard this patch.