Completed
Pull Request — master (#1407)
by
unknown
02:20
created
includes/abstracts/abstract-wc-stripe-payment-gateway.php 1 patch
Spacing   +337 added lines, -337 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
 
@@ -21,7 +21,7 @@  discard block
 block discarded – undo
21 21
 	 */
22 22
 	public function display_admin_settings_webhook_description() {
23 23
 		/* translators: 1) webhook url */
24
-		return sprintf( __( 'You must add the following webhook endpoint <strong style="background-color:#ddd;">&nbsp;%s&nbsp;</strong> to your <a href="https://dashboard.stripe.com/account/webhooks" target="_blank">Stripe account settings</a>. This will enable you to receive notifications on the charge statuses.', 'woocommerce-gateway-stripe' ), WC_Stripe_Helper::get_webhook_url() );
24
+		return sprintf(__('You must add the following webhook endpoint <strong style="background-color:#ddd;">&nbsp;%s&nbsp;</strong> to your <a href="https://dashboard.stripe.com/account/webhooks" target="_blank">Stripe account settings</a>. This will enable you to receive notifications on the charge statuses.', 'woocommerce-gateway-stripe'), WC_Stripe_Helper::get_webhook_url());
25 25
 	}
26 26
 
27 27
 	/**
@@ -35,8 +35,8 @@  discard block
 block discarded – undo
35 35
 				<input id="wc-%1$s-new-payment-method" name="wc-%1$s-new-payment-method" type="checkbox" value="true" style="width:auto;" />
36 36
 				<label for="wc-%1$s-new-payment-method" style="display:inline;">%2$s</label>
37 37
 			</p>',
38
-			esc_attr( $this->id ),
39
-			esc_html( apply_filters( 'wc_stripe_save_to_account_text', __( 'Save payment information to my account for future purchases.', 'woocommerce-gateway-stripe' ) ) )
38
+			esc_attr($this->id),
39
+			esc_html(apply_filters('wc_stripe_save_to_account_text', __('Save payment information to my account for future purchases.', 'woocommerce-gateway-stripe')))
40 40
 		);
41 41
 	}
42 42
 
@@ -47,7 +47,7 @@  discard block
 block discarded – undo
47 47
 	 * @since 4.0.5
48 48
 	 * @param array $error
49 49
 	 */
50
-	public function is_retryable_error( $error ) {
50
+	public function is_retryable_error($error) {
51 51
 		return (
52 52
 			'invalid_request_error' === $error->type ||
53 53
 			'idempotency_error' === $error->type ||
@@ -64,11 +64,11 @@  discard block
 block discarded – undo
64 64
 	 * @since 4.1.0
65 65
 	 * @param array $error
66 66
 	 */
67
-	public function is_same_idempotency_error( $error ) {
67
+	public function is_same_idempotency_error($error) {
68 68
 		return (
69 69
 			$error &&
70 70
 			'idempotency_error' === $error->type &&
71
-			preg_match( '/Keys for idempotent requests can only be used with the same parameters they were first used with./i', $error->message )
71
+			preg_match('/Keys for idempotent requests can only be used with the same parameters they were first used with./i', $error->message)
72 72
 		);
73 73
 	}
74 74
 
@@ -79,11 +79,11 @@  discard block
 block discarded – undo
79 79
 	 * @since 4.1.0
80 80
 	 * @param array $error
81 81
 	 */
82
-	public function is_no_such_customer_error( $error ) {
82
+	public function is_no_such_customer_error($error) {
83 83
 		return (
84 84
 			$error &&
85 85
 			'invalid_request_error' === $error->type &&
86
-			preg_match( '/No such customer/i', $error->message )
86
+			preg_match('/No such customer/i', $error->message)
87 87
 		);
88 88
 	}
89 89
 
@@ -94,11 +94,11 @@  discard block
 block discarded – undo
94 94
 	 * @since 4.1.0
95 95
 	 * @param array $error
96 96
 	 */
97
-	public function is_no_such_token_error( $error ) {
97
+	public function is_no_such_token_error($error) {
98 98
 		return (
99 99
 			$error &&
100 100
 			'invalid_request_error' === $error->type &&
101
-			preg_match( '/No such token/i', $error->message )
101
+			preg_match('/No such token/i', $error->message)
102 102
 		);
103 103
 	}
104 104
 
@@ -109,11 +109,11 @@  discard block
 block discarded – undo
109 109
 	 * @since 4.1.0
110 110
 	 * @param array $error
111 111
 	 */
112
-	public function is_no_such_source_error( $error ) {
112
+	public function is_no_such_source_error($error) {
113 113
 		return (
114 114
 			$error &&
115 115
 			'invalid_request_error' === $error->type &&
116
-			preg_match( '/No such source/i', $error->message )
116
+			preg_match('/No such source/i', $error->message)
117 117
 		);
118 118
 	}
119 119
 
@@ -124,11 +124,11 @@  discard block
 block discarded – undo
124 124
 	 * @since 4.1.0
125 125
 	 * @param array $error
126 126
 	 */
127
-	public function is_no_linked_source_error( $error ) {
127
+	public function is_no_linked_source_error($error) {
128 128
 		return (
129 129
 			$error &&
130 130
 			'invalid_request_error' === $error->type &&
131
-			preg_match( '/does not have a linked source with ID/i', $error->message )
131
+			preg_match('/does not have a linked source with ID/i', $error->message)
132 132
 		);
133 133
 	}
134 134
 
@@ -141,13 +141,13 @@  discard block
 block discarded – undo
141 141
 	 * @param object $error
142 142
 	 * @return bool
143 143
 	 */
144
-	public function need_update_idempotency_key( $source_object, $error ) {
144
+	public function need_update_idempotency_key($source_object, $error) {
145 145
 		return (
146 146
 			$error &&
147 147
 			1 < $this->retry_interval &&
148
-			! empty( $source_object ) &&
148
+			! empty($source_object) &&
149 149
 			'chargeable' === $source_object->status &&
150
-			self::is_same_idempotency_error( $error )
150
+			self::is_same_idempotency_error($error)
151 151
 		);
152 152
 	}
153 153
 
@@ -161,12 +161,12 @@  discard block
 block discarded – undo
161 161
 		// NOTE: updates to this function should be added to are_keys_set()
162 162
 		// in includes/payment-methods/class-wc-stripe-payment-request.php
163 163
 
164
-		if ( $this->testmode ) {
165
-			return preg_match( '/^pk_test_/', $this->publishable_key )
166
-				&& preg_match( '/^[rs]k_test_/', $this->secret_key );
164
+		if ($this->testmode) {
165
+			return preg_match('/^pk_test_/', $this->publishable_key)
166
+				&& preg_match('/^[rs]k_test_/', $this->secret_key);
167 167
 		} else {
168
-			return preg_match( '/^pk_live_/', $this->publishable_key )
169
-			    && preg_match( '/^[rs]k_live_/', $this->secret_key );
168
+			return preg_match('/^pk_live_/', $this->publishable_key)
169
+			    && preg_match('/^[rs]k_live_/', $this->secret_key);
170 170
 		}
171 171
 	}
172 172
 
@@ -176,7 +176,7 @@  discard block
 block discarded – undo
176 176
 	 * @since 4.1.3
177 177
 	 */
178 178
 	public function is_available() {
179
-		if ( 'yes' === $this->enabled ) {
179
+		if ('yes' === $this->enabled) {
180 180
 			return $this->are_keys_set();
181 181
 		}
182 182
 
@@ -191,12 +191,12 @@  discard block
 block discarded – undo
191 191
 	 * @param int $order_id
192 192
 	 * @return bool
193 193
 	 */
194
-	public function maybe_process_pre_orders( $order_id ) {
194
+	public function maybe_process_pre_orders($order_id) {
195 195
 		return (
196 196
 			WC_Stripe_Helper::is_pre_orders_exists() &&
197
-			$this->pre_orders->is_pre_order( $order_id ) &&
198
-			WC_Pre_Orders_Order::order_requires_payment_tokenization( $order_id ) &&
199
-			! is_wc_endpoint_url( 'order-pay' )
197
+			$this->pre_orders->is_pre_order($order_id) &&
198
+			WC_Pre_Orders_Order::order_requires_payment_tokenization($order_id) &&
199
+			! is_wc_endpoint_url('order-pay')
200 200
 		);
201 201
 	}
202 202
 
@@ -240,10 +240,10 @@  discard block
 block discarded – undo
240 240
 	 * @version 4.0.0
241 241
 	 * @param object $order
242 242
 	 */
243
-	public function validate_minimum_order_amount( $order ) {
244
-		if ( $order->get_total() * 100 < WC_Stripe_Helper::get_minimum_amount() ) {
243
+	public function validate_minimum_order_amount($order) {
244
+		if ($order->get_total() * 100 < WC_Stripe_Helper::get_minimum_amount()) {
245 245
 			/* translators: 1) dollar amount */
246
-			throw new WC_Stripe_Exception( 'Did not meet minimum amount', sprintf( __( 'Sorry, the minimum allowed order total is %1$s to use this payment method.', 'woocommerce-gateway-stripe' ), wc_price( WC_Stripe_Helper::get_minimum_amount() / 100 ) ) );
246
+			throw new WC_Stripe_Exception('Did not meet minimum amount', sprintf(__('Sorry, the minimum allowed order total is %1$s to use this payment method.', 'woocommerce-gateway-stripe'), wc_price(WC_Stripe_Helper::get_minimum_amount() / 100)));
247 247
 		}
248 248
 	}
249 249
 
@@ -253,14 +253,14 @@  discard block
 block discarded – undo
253 253
 	 * @since 4.0.0
254 254
 	 * @version 4.0.0
255 255
 	 */
256
-	public function get_transaction_url( $order ) {
257
-		if ( $this->testmode ) {
256
+	public function get_transaction_url($order) {
257
+		if ($this->testmode) {
258 258
 			$this->view_transaction_url = 'https://dashboard.stripe.com/test/payments/%s';
259 259
 		} else {
260 260
 			$this->view_transaction_url = 'https://dashboard.stripe.com/payments/%s';
261 261
 		}
262 262
 
263
-		return parent::get_transaction_url( $order );
263
+		return parent::get_transaction_url($order);
264 264
 	}
265 265
 
266 266
 	/**
@@ -269,12 +269,12 @@  discard block
 block discarded – undo
269 269
 	 * @since 4.0.0
270 270
 	 * @version 4.0.0
271 271
 	 */
272
-	public function get_stripe_customer_id( $order ) {
273
-		$customer = get_user_option( '_stripe_customer_id', $order->get_customer_id() );
272
+	public function get_stripe_customer_id($order) {
273
+		$customer = get_user_option('_stripe_customer_id', $order->get_customer_id());
274 274
 
275
-		if ( empty( $customer ) ) {
275
+		if (empty($customer)) {
276 276
 			// Try to get it via the order.
277
-			return $order->get_meta( '_stripe_customer_id', true );
277
+			return $order->get_meta('_stripe_customer_id', true);
278 278
 		} else {
279 279
 			return $customer;
280 280
 		}
@@ -290,9 +290,9 @@  discard block
 block discarded – undo
290 290
 	 * @param object $order
291 291
 	 * @param int $id Stripe session id.
292 292
 	 */
293
-	public function get_stripe_return_url( $order = null, $id = null ) {
294
-		if ( is_object( $order ) ) {
295
-			if ( empty( $id ) ) {
293
+	public function get_stripe_return_url($order = null, $id = null) {
294
+		if (is_object($order)) {
295
+			if (empty($id)) {
296 296
 				$id = uniqid();
297 297
 			}
298 298
 
@@ -303,10 +303,10 @@  discard block
 block discarded – undo
303 303
 				'order_id'       => $order_id,
304 304
 			);
305 305
 
306
-			return wp_sanitize_redirect( esc_url_raw( add_query_arg( $args, $this->get_return_url( $order ) ) ) );
306
+			return wp_sanitize_redirect(esc_url_raw(add_query_arg($args, $this->get_return_url($order))));
307 307
 		}
308 308
 
309
-		return wp_sanitize_redirect( esc_url_raw( add_query_arg( array( 'utm_nooverride' => '1' ), $this->get_return_url() ) ) );
309
+		return wp_sanitize_redirect(esc_url_raw(add_query_arg(array('utm_nooverride' => '1'), $this->get_return_url())));
310 310
 	}
311 311
 
312 312
 	/**
@@ -314,8 +314,8 @@  discard block
 block discarded – undo
314 314
 	 * @param  int  $order_id
315 315
 	 * @return boolean
316 316
 	 */
317
-	public function has_subscription( $order_id ) {
318
-		return ( function_exists( 'wcs_order_contains_subscription' ) && ( wcs_order_contains_subscription( $order_id ) || wcs_is_subscription( $order_id ) || wcs_order_contains_renewal( $order_id ) ) );
317
+	public function has_subscription($order_id) {
318
+		return (function_exists('wcs_order_contains_subscription') && (wcs_order_contains_subscription($order_id) || wcs_is_subscription($order_id) || wcs_order_contains_renewal($order_id)));
319 319
 	}
320 320
 
321 321
 	/**
@@ -327,41 +327,41 @@  discard block
 block discarded – undo
327 327
 	 * @param  object $prepared_source
328 328
 	 * @return array()
329 329
 	 */
330
-	public function generate_payment_request( $order, $prepared_source ) {
331
-		$settings              = get_option( 'woocommerce_stripe_settings', array() );
332
-		$statement_descriptor  = ! empty( $settings['statement_descriptor'] ) ? str_replace( "'", '', $settings['statement_descriptor'] ) : '';
333
-		$capture               = ! empty( $settings['capture'] ) && 'yes' === $settings['capture'] ? true : false;
330
+	public function generate_payment_request($order, $prepared_source) {
331
+		$settings              = get_option('woocommerce_stripe_settings', array());
332
+		$statement_descriptor  = ! empty($settings['statement_descriptor']) ? str_replace("'", '', $settings['statement_descriptor']) : '';
333
+		$capture               = ! empty($settings['capture']) && 'yes' === $settings['capture'] ? true : false;
334 334
 		$post_data             = array();
335
-		$post_data['currency'] = strtolower( $order->get_currency() );
336
-		$post_data['amount']   = WC_Stripe_Helper::get_stripe_amount( $order->get_total(), $post_data['currency'] );
335
+		$post_data['currency'] = strtolower($order->get_currency());
336
+		$post_data['amount']   = WC_Stripe_Helper::get_stripe_amount($order->get_total(), $post_data['currency']);
337 337
 		/* translators: 1) blog name 2) order number */
338
-		$post_data['description'] = sprintf( __( '%1$s - Order %2$s', 'woocommerce-gateway-stripe' ), wp_specialchars_decode( get_bloginfo( 'name' ), ENT_QUOTES ), $order->get_order_number() );
338
+		$post_data['description'] = sprintf(__('%1$s - Order %2$s', 'woocommerce-gateway-stripe'), wp_specialchars_decode(get_bloginfo('name'), ENT_QUOTES), $order->get_order_number());
339 339
 		$billing_email            = $order->get_billing_email();
340 340
 		$billing_first_name       = $order->get_billing_first_name();
341 341
 		$billing_last_name        = $order->get_billing_last_name();
342 342
 
343
-		if ( ! empty( $billing_email ) && apply_filters( 'wc_stripe_send_stripe_receipt', false ) ) {
343
+		if ( ! empty($billing_email) && apply_filters('wc_stripe_send_stripe_receipt', false)) {
344 344
 			$post_data['receipt_email'] = $billing_email;
345 345
 		}
346 346
 
347
-		switch ( $order->get_payment_method() ) {
347
+		switch ($order->get_payment_method()) {
348 348
 			case 'stripe':
349
-				if ( ! empty( $statement_descriptor ) ) {
350
-					$post_data['statement_descriptor'] = WC_Stripe_Helper::clean_statement_descriptor( $statement_descriptor );
349
+				if ( ! empty($statement_descriptor)) {
350
+					$post_data['statement_descriptor'] = WC_Stripe_Helper::clean_statement_descriptor($statement_descriptor);
351 351
 				}
352 352
 
353 353
 				$post_data['capture'] = $capture ? 'true' : 'false';
354 354
 				break;
355 355
 			case 'stripe_sepa':
356
-				if ( ! empty( $statement_descriptor ) ) {
357
-					$post_data['statement_descriptor'] = WC_Stripe_Helper::clean_statement_descriptor( $statement_descriptor );
356
+				if ( ! empty($statement_descriptor)) {
357
+					$post_data['statement_descriptor'] = WC_Stripe_Helper::clean_statement_descriptor($statement_descriptor);
358 358
 				}
359 359
 				break;
360 360
 		}
361 361
 
362
-		if ( method_exists( $order, 'get_shipping_postcode' ) && ! empty( $order->get_shipping_postcode() ) ) {
362
+		if (method_exists($order, 'get_shipping_postcode') && ! empty($order->get_shipping_postcode())) {
363 363
 			$post_data['shipping'] = array(
364
-				'name'    => trim( $order->get_shipping_first_name() . ' ' . $order->get_shipping_last_name() ),
364
+				'name'    => trim($order->get_shipping_first_name() . ' ' . $order->get_shipping_last_name()),
365 365
 				'address' => array(
366 366
 					'line1'       => $order->get_shipping_address_1(),
367 367
 					'line2'       => $order->get_shipping_address_2(),
@@ -376,25 +376,25 @@  discard block
 block discarded – undo
376 376
 		$post_data['expand[]'] = 'balance_transaction';
377 377
 
378 378
 		$metadata = array(
379
-			__( 'customer_name', 'woocommerce-gateway-stripe' ) => sanitize_text_field( $billing_first_name ) . ' ' . sanitize_text_field( $billing_last_name ),
380
-			__( 'customer_email', 'woocommerce-gateway-stripe' ) => sanitize_email( $billing_email ),
379
+			__('customer_name', 'woocommerce-gateway-stripe') => sanitize_text_field($billing_first_name) . ' ' . sanitize_text_field($billing_last_name),
380
+			__('customer_email', 'woocommerce-gateway-stripe') => sanitize_email($billing_email),
381 381
 			'order_id' => $order->get_order_number(),
382
-			'site_url' => esc_url( get_site_url() ),
382
+			'site_url' => esc_url(get_site_url()),
383 383
 		);
384 384
 
385
-		if ( $this->has_subscription( $order->get_id() ) ) {
385
+		if ($this->has_subscription($order->get_id())) {
386 386
 			$metadata += array(
387 387
 				'payment_type' => 'recurring',
388 388
 			);
389 389
 		}
390 390
 
391
-		$post_data['metadata'] = apply_filters( 'wc_stripe_payment_metadata', $metadata, $order, $prepared_source );
391
+		$post_data['metadata'] = apply_filters('wc_stripe_payment_metadata', $metadata, $order, $prepared_source);
392 392
 
393
-		if ( $prepared_source->customer ) {
393
+		if ($prepared_source->customer) {
394 394
 			$post_data['customer'] = $prepared_source->customer;
395 395
 		}
396 396
 
397
-		if ( $prepared_source->source ) {
397
+		if ($prepared_source->source) {
398 398
 			$post_data['source'] = $prepared_source->source;
399 399
 		}
400 400
 
@@ -406,72 +406,72 @@  discard block
 block discarded – undo
406 406
 		 * @param WC_Order $order
407 407
 		 * @param object $source
408 408
 		 */
409
-		return apply_filters( 'wc_stripe_generate_payment_request', $post_data, $order, $prepared_source );
409
+		return apply_filters('wc_stripe_generate_payment_request', $post_data, $order, $prepared_source);
410 410
 	}
411 411
 
412 412
 	/**
413 413
 	 * Store extra meta data for an order from a Stripe Response.
414 414
 	 */
415
-	public function process_response( $response, $order ) {
416
-		WC_Stripe_Logger::log( 'Processing response: ' . print_r( $response, true ) );
415
+	public function process_response($response, $order) {
416
+		WC_Stripe_Logger::log('Processing response: ' . print_r($response, true));
417 417
 
418 418
 		$order_id = $order->get_id();
419
-		$captured = ( isset( $response->captured ) && $response->captured ) ? 'yes' : 'no';
419
+		$captured = (isset($response->captured) && $response->captured) ? 'yes' : 'no';
420 420
 
421 421
 		// Store charge data.
422
-		$order->update_meta_data( '_stripe_charge_captured', $captured );
422
+		$order->update_meta_data('_stripe_charge_captured', $captured);
423 423
 
424
-		if ( isset( $response->balance_transaction ) ) {
425
-			$this->update_fees( $order, is_string( $response->balance_transaction ) ? $response->balance_transaction : $response->balance_transaction->id );
424
+		if (isset($response->balance_transaction)) {
425
+			$this->update_fees($order, is_string($response->balance_transaction) ? $response->balance_transaction : $response->balance_transaction->id);
426 426
 		}
427 427
 
428
-		if ( 'yes' === $captured ) {
428
+		if ('yes' === $captured) {
429 429
 			/**
430 430
 			 * Charge can be captured but in a pending state. Payment methods
431 431
 			 * that are asynchronous may take couple days to clear. Webhook will
432 432
 			 * take care of the status changes.
433 433
 			 */
434
-			if ( 'pending' === $response->status ) {
435
-				$order_stock_reduced = $order->get_meta( '_order_stock_reduced', true );
434
+			if ('pending' === $response->status) {
435
+				$order_stock_reduced = $order->get_meta('_order_stock_reduced', true);
436 436
 
437
-				if ( ! $order_stock_reduced ) {
438
-					wc_reduce_stock_levels( $order_id );
437
+				if ( ! $order_stock_reduced) {
438
+					wc_reduce_stock_levels($order_id);
439 439
 				}
440 440
 
441
-				$order->set_transaction_id( $response->id );
441
+				$order->set_transaction_id($response->id);
442 442
 				/* translators: transaction id */
443
-				$order->update_status( 'on-hold', sprintf( __( 'Stripe charge awaiting payment: %s.', 'woocommerce-gateway-stripe' ), $response->id ) );
443
+				$order->update_status('on-hold', sprintf(__('Stripe charge awaiting payment: %s.', 'woocommerce-gateway-stripe'), $response->id));
444 444
 			}
445 445
 
446
-			if ( 'succeeded' === $response->status ) {
447
-				$order->payment_complete( $response->id );
446
+			if ('succeeded' === $response->status) {
447
+				$order->payment_complete($response->id);
448 448
 
449 449
 				/* translators: transaction id */
450
-				$message = sprintf( __( 'Stripe charge complete (Charge ID: %s)', 'woocommerce-gateway-stripe' ), $response->id );
451
-				$order->add_order_note( $message );
450
+				$message = sprintf(__('Stripe charge complete (Charge ID: %s)', 'woocommerce-gateway-stripe'), $response->id);
451
+				$order->add_order_note($message);
452 452
 			}
453 453
 
454
-			if ( 'failed' === $response->status ) {
455
-				$localized_message = __( 'Payment processing failed. Please retry.', 'woocommerce-gateway-stripe' );
456
-				$order->add_order_note( $localized_message );
457
-				throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message );
454
+			if ('failed' === $response->status) {
455
+				$localized_message = __('Payment processing failed. Please retry.', 'woocommerce-gateway-stripe');
456
+				$order->add_order_note($localized_message);
457
+				throw new WC_Stripe_Exception(print_r($response, true), $localized_message);
458 458
 			}
459 459
 		} else {
460
-			$order->set_transaction_id( $response->id );
460
+			$order->set_transaction_id($response->id);
461 461
 
462
-			if ( $order->has_status( array( 'pending', 'failed' ) ) ) {
463
-				wc_reduce_stock_levels( $order_id );
462
+			if ($order->has_status(array('pending', 'failed'))) {
463
+				wc_reduce_stock_levels($order_id);
464 464
 			}
465 465
 
466 466
 			/* translators: transaction id */
467
-			$order->update_status( 'on-hold', sprintf( __( 'Stripe charge authorized (Charge ID: %s). Process order to take payment, or cancel to remove the pre-authorization.', 'woocommerce-gateway-stripe' ), $response->id ) );
467
+			$order->update_status('on-hold', sprintf(__('Stripe charge authorized (Charge ID: %s). Process order to take payment, or cancel to remove the pre-authorization.', 'woocommerce-gateway-stripe'), $response->id));
468 468
 		}
469 469
 
470
-		if ( is_callable( array( $order, 'save' ) ) ) {
470
+		if (is_callable(array($order, 'save'))) {
471 471
 			$order->save();
472 472
 		}
473 473
 
474
-		do_action( 'wc_gateway_stripe_process_response', $response, $order );
474
+		do_action('wc_gateway_stripe_process_response', $response, $order);
475 475
 
476 476
 		return $response;
477 477
 	}
@@ -484,10 +484,10 @@  discard block
 block discarded – undo
484 484
 	 * @param int $order_id
485 485
 	 * @return null
486 486
 	 */
487
-	public function send_failed_order_email( $order_id ) {
487
+	public function send_failed_order_email($order_id) {
488 488
 		$emails = WC()->mailer()->get_emails();
489
-		if ( ! empty( $emails ) && ! empty( $order_id ) ) {
490
-			$emails['WC_Email_Failed_Order']->trigger( $order_id );
489
+		if ( ! empty($emails) && ! empty($order_id)) {
490
+			$emails['WC_Email_Failed_Order']->trigger($order_id);
491 491
 		}
492 492
 	}
493 493
 
@@ -499,7 +499,7 @@  discard block
 block discarded – undo
499 499
 	 * @param object $order
500 500
 	 * @return object $details
501 501
 	 */
502
-	public function get_owner_details( $order ) {
502
+	public function get_owner_details($order) {
503 503
 		$billing_first_name = $order->get_billing_first_name();
504 504
 		$billing_last_name  = $order->get_billing_last_name();
505 505
 
@@ -509,15 +509,15 @@  discard block
 block discarded – undo
509 509
 		$email = $order->get_billing_email();
510 510
 		$phone = $order->get_billing_phone();
511 511
 
512
-		if ( ! empty( $phone ) ) {
512
+		if ( ! empty($phone)) {
513 513
 			$details['phone'] = $phone;
514 514
 		}
515 515
 
516
-		if ( ! empty( $name ) ) {
516
+		if ( ! empty($name)) {
517 517
 			$details['name'] = $name;
518 518
 		}
519 519
 
520
-		if ( ! empty( $email ) ) {
520
+		if ( ! empty($email)) {
521 521
 			$details['email'] = $email;
522 522
 		}
523 523
 
@@ -528,7 +528,7 @@  discard block
 block discarded – undo
528 528
 		$details['address']['postal_code'] = $order->get_billing_postcode();
529 529
 		$details['address']['country']     = $order->get_billing_country();
530 530
 
531
-		return (object) apply_filters( 'wc_stripe_owner_details', $details, $order );
531
+		return (object) apply_filters('wc_stripe_owner_details', $details, $order);
532 532
 	}
533 533
 
534 534
 	/**
@@ -537,15 +537,15 @@  discard block
 block discarded – undo
537 537
 	 * @since 4.0.3
538 538
 	 * @param string $source_id The source ID to get source object for.
539 539
 	 */
540
-	public function get_source_object( $source_id = '' ) {
541
-		if ( empty( $source_id ) ) {
540
+	public function get_source_object($source_id = '') {
541
+		if (empty($source_id)) {
542 542
 			return '';
543 543
 		}
544 544
 
545
-		$source_object = WC_Stripe_API::retrieve( 'sources/' . $source_id );
545
+		$source_object = WC_Stripe_API::retrieve('sources/' . $source_id);
546 546
 
547
-		if ( ! empty( $source_object->error ) ) {
548
-			throw new WC_Stripe_Exception( print_r( $source_object, true ), $source_object->error->message );
547
+		if ( ! empty($source_object->error)) {
548
+			throw new WC_Stripe_Exception(print_r($source_object, true), $source_object->error->message);
549 549
 		}
550 550
 
551 551
 		return $source_object;
@@ -558,10 +558,10 @@  discard block
 block discarded – undo
558 558
 	 * @param object $source_object
559 559
 	 * @return bool
560 560
 	 */
561
-	public function is_prepaid_card( $source_object ) {
561
+	public function is_prepaid_card($source_object) {
562 562
 		return (
563 563
 			$source_object
564
-			&& ( 'token' === $source_object->object || 'source' === $source_object->object )
564
+			&& ('token' === $source_object->object || 'source' === $source_object->object)
565 565
 			&& 'prepaid' === $source_object->card->funding
566 566
 		);
567 567
 	}
@@ -573,8 +573,8 @@  discard block
 block discarded – undo
573 573
 	 * @param string $source_id
574 574
 	 * @return bool
575 575
 	 */
576
-	public function is_type_legacy_card( $source_id ) {
577
-		return ( preg_match( '/^card_/', $source_id ) );
576
+	public function is_type_legacy_card($source_id) {
577
+		return (preg_match('/^card_/', $source_id));
578 578
 	}
579 579
 
580 580
 	/**
@@ -584,9 +584,9 @@  discard block
 block discarded – undo
584 584
 	 * @return bool
585 585
 	 */
586 586
 	public function is_using_saved_payment_method() {
587
-		$payment_method = isset( $_POST['payment_method'] ) ? wc_clean( $_POST['payment_method'] ) : 'stripe';
587
+		$payment_method = isset($_POST['payment_method']) ? wc_clean($_POST['payment_method']) : 'stripe';
588 588
 
589
-		return ( isset( $_POST[ 'wc-' . $payment_method . '-payment-token' ] ) && 'new' !== $_POST[ 'wc-' . $payment_method . '-payment-token' ] );
589
+		return (isset($_POST['wc-' . $payment_method . '-payment-token']) && 'new' !== $_POST['wc-' . $payment_method . '-payment-token']);
590 590
 	}
591 591
 
592 592
 	/**
@@ -599,34 +599,34 @@  discard block
 block discarded – undo
599 599
 	 * @return bool
600 600
 	 * @since 4.6.0
601 601
 	 */
602
-	public function should_save_payment_method( $source, $customer, $force_save ) {
603
-		if ( apply_filters( 'wc_stripe_force_save_source', $force_save, $customer ) ) {
602
+	public function should_save_payment_method($source, $customer, $force_save) {
603
+		if (apply_filters('wc_stripe_force_save_source', $force_save, $customer)) {
604 604
 			return true;
605 605
 		}
606 606
 
607 607
 		// The customer has disabled "Saved cards" functionality.
608
-		if ( ! $this->saved_cards ) {
608
+		if ( ! $this->saved_cards) {
609 609
 			return false;
610 610
 		}
611 611
 
612 612
 		// The customer is not logged in.
613
-		if ( ! $customer->get_user_id() ) {
613
+		if ( ! $customer->get_user_id()) {
614 614
 			return false;
615 615
 		}
616 616
 
617 617
 		// The payment method in use is already saved.
618
-		if ( $this->is_using_saved_payment_method() ) {
618
+		if ($this->is_using_saved_payment_method()) {
619 619
 			return false;
620 620
 		}
621 621
 
622 622
 		// If the payment method is explicitly not reusable, dont try to save it.
623
-		if ( ! empty( $source ) && 'reusable' !== $source->usage ) {
623
+		if ( ! empty($source) && 'reusable' !== $source->usage) {
624 624
 			return false;
625 625
 		}
626 626
 
627 627
 		// Lastly, check if the user has chosen to save the payment method.
628
-		$payment_method = isset( $_POST['payment_method'] ) ? wc_clean( $_POST['payment_method'] ) : 'stripe';
629
-		return isset( $_POST[ 'wc-' . $payment_method . '-new-payment-method' ] ) && ! empty( $_POST[ 'wc-' . $payment_method . '-new-payment-method' ] );
628
+		$payment_method = isset($_POST['payment_method']) ? wc_clean($_POST['payment_method']) : 'stripe';
629
+		return isset($_POST['wc-' . $payment_method . '-new-payment-method']) && ! empty($_POST['wc-' . $payment_method . '-new-payment-method']);
630 630
 	}
631 631
 
632 632
 	/**
@@ -642,57 +642,57 @@  discard block
 block discarded – undo
642 642
 	 * @throws Exception When card was not added or for and invalid card.
643 643
 	 * @return object
644 644
 	 */
645
-	public function prepare_source( $user_id, $force_save_source = false, $existing_customer_id = null ) {
646
-		$customer = new WC_Stripe_Customer( $user_id );
647
-		if ( ! empty( $existing_customer_id ) ) {
648
-			$customer->set_id( $existing_customer_id );
645
+	public function prepare_source($user_id, $force_save_source = false, $existing_customer_id = null) {
646
+		$customer = new WC_Stripe_Customer($user_id);
647
+		if ( ! empty($existing_customer_id)) {
648
+			$customer->set_id($existing_customer_id);
649 649
 		}
650 650
 
651 651
 		$source_object = '';
652 652
 		$wc_token_id   = false;
653 653
 
654
-		if ( $this->is_using_saved_payment_method() ) {
654
+		if ($this->is_using_saved_payment_method()) {
655 655
 			// Use an existing token, and then process the payment.
656
-			$payment_method = isset( $_POST['payment_method'] ) ? wc_clean( $_POST['payment_method'] ) : 'stripe';
657
-			$wc_token_id    = wc_clean( $_POST[ 'wc-' . $payment_method . '-payment-token' ] );
658
-			$wc_token       = WC_Payment_Tokens::get( $wc_token_id );
656
+			$payment_method = isset($_POST['payment_method']) ? wc_clean($_POST['payment_method']) : 'stripe';
657
+			$wc_token_id    = wc_clean($_POST['wc-' . $payment_method . '-payment-token']);
658
+			$wc_token       = WC_Payment_Tokens::get($wc_token_id);
659 659
 
660
-			if ( ! $wc_token || $wc_token->get_user_id() !== get_current_user_id() ) {
661
-				WC()->session->set( 'refresh_totals', true );
662
-				throw new WC_Stripe_Exception( 'Invalid payment method', __( 'Invalid payment method. Please input a new card number.', 'woocommerce-gateway-stripe' ) );
660
+			if ( ! $wc_token || $wc_token->get_user_id() !== get_current_user_id()) {
661
+				WC()->session->set('refresh_totals', true);
662
+				throw new WC_Stripe_Exception('Invalid payment method', __('Invalid payment method. Please input a new card number.', 'woocommerce-gateway-stripe'));
663 663
 			}
664 664
 
665 665
 			$source_id = $wc_token->get_token();
666 666
 
667
-			if ( ! $this->is_type_legacy_card( $source_id ) ) {
668
-				$source_object = self::get_source_object( $source_id );
667
+			if ( ! $this->is_type_legacy_card($source_id)) {
668
+				$source_object = self::get_source_object($source_id);
669 669
 			}
670 670
 		} else {
671 671
 			// New CC info was entered and we have a new source to process.
672
-			if ( ! empty( $_POST['stripe_source'] ) ) {
673
-				$source_object = self::get_source_object( wc_clean( $_POST['stripe_source'] ) );
672
+			if ( ! empty($_POST['stripe_source'])) {
673
+				$source_object = self::get_source_object(wc_clean($_POST['stripe_source']));
674 674
 				$source_id     = $source_object->id;
675
-			} elseif ( isset( $_POST['stripe_token'] ) && 'new' !== $_POST['stripe_token'] ) {
676
-				$source_id = wc_clean( $_POST['stripe_token'] );
675
+			} elseif (isset($_POST['stripe_token']) && 'new' !== $_POST['stripe_token']) {
676
+				$source_id = wc_clean($_POST['stripe_token']);
677 677
 			}
678 678
 
679
-			if ( $this->should_save_payment_method( $source_object, $customer, $force_save_source ) ) {
680
-				$response = $customer->add_source( $source_id );
679
+			if ($this->should_save_payment_method($source_object, $customer, $force_save_source)) {
680
+				$response = $customer->add_source($source_id);
681 681
 
682
-				if ( ! empty( $response->error ) ) {
683
-					throw new WC_Stripe_Exception( print_r( $response, true ), $this->get_localized_error_message_from_response( $response ) );
682
+				if ( ! empty($response->error)) {
683
+					throw new WC_Stripe_Exception(print_r($response, true), $this->get_localized_error_message_from_response($response));
684 684
 				}
685 685
 
686 686
 				$source_id = $response;
687
-				if ( empty( $source_object ) ) {
688
-					$source_object = self::get_source_object( $source_id );
687
+				if (empty($source_object)) {
688
+					$source_object = self::get_source_object($source_id);
689 689
 				}
690 690
 			}
691 691
 		}
692 692
 
693 693
 		$customer_id = $customer->get_id();
694
-		if ( ! $customer_id ) {
695
-			$customer->set_id( $customer->create_customer() );
694
+		if ( ! $customer_id) {
695
+			$customer->set_id($customer->create_customer());
696 696
 			$customer_id = $customer->get_id();
697 697
 		} else {
698 698
 			$customer_id = $customer->update_customer();
@@ -719,39 +719,39 @@  discard block
 block discarded – undo
719 719
 	 * @param object $order
720 720
 	 * @return object
721 721
 	 */
722
-	public function prepare_order_source( $order = null ) {
722
+	public function prepare_order_source($order = null) {
723 723
 		$stripe_customer = new WC_Stripe_Customer();
724 724
 		$stripe_source   = false;
725 725
 		$token_id        = false;
726 726
 		$source_object   = false;
727 727
 
728
-		if ( $order ) {
728
+		if ($order) {
729 729
 			$order_id = $order->get_id();
730 730
 
731
-			$stripe_customer_id = get_post_meta( $order_id, '_stripe_customer_id', true );
731
+			$stripe_customer_id = get_post_meta($order_id, '_stripe_customer_id', true);
732 732
 
733
-			if ( $stripe_customer_id ) {
734
-				$stripe_customer->set_id( $stripe_customer_id );
733
+			if ($stripe_customer_id) {
734
+				$stripe_customer->set_id($stripe_customer_id);
735 735
 			}
736 736
 
737
-			$source_id = $order->get_meta( '_stripe_source_id', true );
737
+			$source_id = $order->get_meta('_stripe_source_id', true);
738 738
 
739 739
 			// Since 4.0.0, we changed card to source so we need to account for that.
740
-			if ( empty( $source_id ) ) {
741
-				$source_id = $order->get_meta( '_stripe_card_id', true );
740
+			if (empty($source_id)) {
741
+				$source_id = $order->get_meta('_stripe_card_id', true);
742 742
 
743 743
 				// Take this opportunity to update the key name.
744
-				$order->update_meta_data( '_stripe_source_id', $source_id );
744
+				$order->update_meta_data('_stripe_source_id', $source_id);
745 745
 
746
-				if ( is_callable( array( $order, 'save' ) ) ) {
746
+				if (is_callable(array($order, 'save'))) {
747 747
 					$order->save();
748 748
 				}
749 749
 			}
750 750
 
751
-			if ( $source_id ) {
751
+			if ($source_id) {
752 752
 				$stripe_source = $source_id;
753
-				$source_object = WC_Stripe_API::retrieve( 'sources/' . $source_id );
754
-			} elseif ( apply_filters( 'wc_stripe_use_default_customer_source', true ) ) {
753
+				$source_object = WC_Stripe_API::retrieve('sources/' . $source_id);
754
+			} elseif (apply_filters('wc_stripe_use_default_customer_source', true)) {
755 755
 				/*
756 756
 				 * We can attempt to charge the customer's default source
757 757
 				 * by sending empty source id.
@@ -776,17 +776,17 @@  discard block
 block discarded – undo
776 776
 	 * @param WC_Order $order For to which the source applies.
777 777
 	 * @param stdClass $source Source information.
778 778
 	 */
779
-	public function save_source_to_order( $order, $source ) {
779
+	public function save_source_to_order($order, $source) {
780 780
 		// Store source in the order.
781
-		if ( $source->customer ) {
782
-			$order->update_meta_data( '_stripe_customer_id', $source->customer );
781
+		if ($source->customer) {
782
+			$order->update_meta_data('_stripe_customer_id', $source->customer);
783 783
 		}
784 784
 
785
-		if ( $source->source ) {
786
-			$order->update_meta_data( '_stripe_source_id', $source->source );
785
+		if ($source->source) {
786
+			$order->update_meta_data('_stripe_source_id', $source->source);
787 787
 		}
788 788
 
789
-		if ( is_callable( array( $order, 'save' ) ) ) {
789
+		if (is_callable(array($order, 'save'))) {
790 790
 			$order->save();
791 791
 		}
792 792
 	}
@@ -800,36 +800,36 @@  discard block
 block discarded – undo
800 800
 	 * @param object $order The order object
801 801
 	 * @param int $balance_transaction_id
802 802
 	 */
803
-	public function update_fees( $order, $balance_transaction_id ) {
804
-		$balance_transaction = WC_Stripe_API::retrieve( 'balance/history/' . $balance_transaction_id );
803
+	public function update_fees($order, $balance_transaction_id) {
804
+		$balance_transaction = WC_Stripe_API::retrieve('balance/history/' . $balance_transaction_id);
805 805
 
806
-		if ( empty( $balance_transaction->error ) ) {
807
-			if ( isset( $balance_transaction ) && isset( $balance_transaction->fee ) ) {
806
+		if (empty($balance_transaction->error)) {
807
+			if (isset($balance_transaction) && isset($balance_transaction->fee)) {
808 808
 				// Fees and Net needs to both come from Stripe to be accurate as the returned
809 809
 				// values are in the local currency of the Stripe account, not from WC.
810
-				$fee_refund = ! empty( $balance_transaction->fee ) ? WC_Stripe_Helper::format_balance_fee( $balance_transaction, 'fee' ) : 0;
811
-				$net_refund = ! empty( $balance_transaction->net ) ? WC_Stripe_Helper::format_balance_fee( $balance_transaction, 'net' ) : 0;
810
+				$fee_refund = ! empty($balance_transaction->fee) ? WC_Stripe_Helper::format_balance_fee($balance_transaction, 'fee') : 0;
811
+				$net_refund = ! empty($balance_transaction->net) ? WC_Stripe_Helper::format_balance_fee($balance_transaction, 'net') : 0;
812 812
 
813 813
 				// Current data fee & net.
814
-				$fee_current = WC_Stripe_Helper::get_stripe_fee( $order );
815
-				$net_current = WC_Stripe_Helper::get_stripe_net( $order );
814
+				$fee_current = WC_Stripe_Helper::get_stripe_fee($order);
815
+				$net_current = WC_Stripe_Helper::get_stripe_net($order);
816 816
 
817 817
 				// Calculation.
818 818
 				$fee = (float) $fee_current + (float) $fee_refund;
819 819
 				$net = (float) $net_current + (float) $net_refund;
820 820
 
821
-				WC_Stripe_Helper::update_stripe_fee( $order, $fee );
822
-				WC_Stripe_Helper::update_stripe_net( $order, $net );
821
+				WC_Stripe_Helper::update_stripe_fee($order, $fee);
822
+				WC_Stripe_Helper::update_stripe_net($order, $net);
823 823
 
824
-				$currency = ! empty( $balance_transaction->currency ) ? strtoupper( $balance_transaction->currency ) : null;
825
-				WC_Stripe_Helper::update_stripe_currency( $order, $currency );
824
+				$currency = ! empty($balance_transaction->currency) ? strtoupper($balance_transaction->currency) : null;
825
+				WC_Stripe_Helper::update_stripe_currency($order, $currency);
826 826
 
827
-				if ( is_callable( array( $order, 'save' ) ) ) {
827
+				if (is_callable(array($order, 'save'))) {
828 828
 					$order->save();
829 829
 				}
830 830
 			}
831 831
 		} else {
832
-			WC_Stripe_Logger::log( 'Unable to update fees/net meta for order: ' . $order->get_id() );
832
+			WC_Stripe_Logger::log('Unable to update fees/net meta for order: ' . $order->get_id());
833 833
 		}
834 834
 	}
835 835
 
@@ -842,93 +842,93 @@  discard block
 block discarded – undo
842 842
 	 * @param  float $amount
843 843
 	 * @return bool
844 844
 	 */
845
-	public function process_refund( $order_id, $amount = null, $reason = '' ) {
846
-		$order = wc_get_order( $order_id );
845
+	public function process_refund($order_id, $amount = null, $reason = '') {
846
+		$order = wc_get_order($order_id);
847 847
 
848
-		if ( ! $order ) {
848
+		if ( ! $order) {
849 849
 			return false;
850 850
 		}
851 851
 
852 852
 		$request = array();
853 853
 
854 854
 		$order_currency = $order->get_currency();
855
-		$captured       = $order->get_meta( '_stripe_charge_captured', true );
855
+		$captured       = $order->get_meta('_stripe_charge_captured', true);
856 856
 		$charge_id      = $order->get_transaction_id();
857 857
 
858
-		if ( ! $charge_id ) {
858
+		if ( ! $charge_id) {
859 859
 			return false;
860 860
 		}
861 861
 
862
-		if ( ! is_null( $amount ) ) {
863
-			$request['amount'] = WC_Stripe_Helper::get_stripe_amount( $amount, $order_currency );
862
+		if ( ! is_null($amount)) {
863
+			$request['amount'] = WC_Stripe_Helper::get_stripe_amount($amount, $order_currency);
864 864
 		}
865 865
 
866 866
 		// If order is only authorized, don't pass amount.
867
-		if ( 'yes' !== $captured ) {
868
-			unset( $request['amount'] );
867
+		if ('yes' !== $captured) {
868
+			unset($request['amount']);
869 869
 		}
870 870
 
871
-		if ( $reason ) {
871
+		if ($reason) {
872 872
 			$request['metadata'] = array(
873 873
 				'reason' => $reason,
874 874
 			);
875 875
 		}
876 876
 
877 877
 		$request['charge'] = $charge_id;
878
-		WC_Stripe_Logger::log( "Info: Beginning refund for order {$charge_id} for the amount of {$amount}" );
878
+		WC_Stripe_Logger::log("Info: Beginning refund for order {$charge_id} for the amount of {$amount}");
879 879
 
880
-		$request = apply_filters( 'wc_stripe_refund_request', $request, $order );
880
+		$request = apply_filters('wc_stripe_refund_request', $request, $order);
881 881
 
882
-		$intent = $this->get_intent_from_order( $order );
882
+		$intent = $this->get_intent_from_order($order);
883 883
 		$intent_cancelled = false;
884
-		if ( $intent ) {
884
+		if ($intent) {
885 885
 			// If the order has a Payment Intent pending capture, then the Intent itself must be refunded (cancelled), not the Charge
886
-			if ( ! empty( $intent->error ) ) {
886
+			if ( ! empty($intent->error)) {
887 887
 				$response = $intent;
888 888
 				$intent_cancelled = true;
889
-			} elseif ( 'requires_capture' === $intent->status ) {
889
+			} elseif ('requires_capture' === $intent->status) {
890 890
 				$result = WC_Stripe_API::request(
891 891
 					array(),
892 892
 					'payment_intents/' . $intent->id . '/cancel'
893 893
 				);
894 894
 				$intent_cancelled = true;
895 895
 
896
-				if ( ! empty( $result->error ) ) {
896
+				if ( ! empty($result->error)) {
897 897
 					$response = $result;
898 898
 				} else {
899
-					$charge = end( $result->charges->data );
900
-					$response = end( $charge->refunds->data );
899
+					$charge = end($result->charges->data);
900
+					$response = end($charge->refunds->data);
901 901
 				}
902 902
 			}
903 903
 		}
904 904
 
905
-		if ( ! $intent_cancelled ) {
906
-			$response = WC_Stripe_API::request( $request, 'refunds' );
905
+		if ( ! $intent_cancelled) {
906
+			$response = WC_Stripe_API::request($request, 'refunds');
907 907
 		}
908 908
 
909
-		if ( ! empty( $response->error ) ) {
910
-			WC_Stripe_Logger::log( 'Error: ' . $response->error->message );
909
+		if ( ! empty($response->error)) {
910
+			WC_Stripe_Logger::log('Error: ' . $response->error->message);
911 911
 
912 912
 			return $response;
913 913
 
914
-		} elseif ( ! empty( $response->id ) ) {
915
-			$order->update_meta_data( '_stripe_refund_id', $response->id );
914
+		} elseif ( ! empty($response->id)) {
915
+			$order->update_meta_data('_stripe_refund_id', $response->id);
916 916
 
917
-			$amount = wc_price( $response->amount / 100 );
917
+			$amount = wc_price($response->amount / 100);
918 918
 
919
-			if ( in_array( strtolower( $order->get_currency() ), WC_Stripe_Helper::no_decimal_currencies() ) ) {
920
-				$amount = wc_price( $response->amount );
919
+			if (in_array(strtolower($order->get_currency()), WC_Stripe_Helper::no_decimal_currencies())) {
920
+				$amount = wc_price($response->amount);
921 921
 			}
922 922
 
923
-			if ( isset( $response->balance_transaction ) ) {
924
-				$this->update_fees( $order, $response->balance_transaction );
923
+			if (isset($response->balance_transaction)) {
924
+				$this->update_fees($order, $response->balance_transaction);
925 925
 			}
926 926
 
927 927
 			/* translators: 1) dollar amount 2) transaction id 3) refund message */
928
-			$refund_message = ( isset( $captured ) && 'yes' === $captured ) ? sprintf( __( 'Refunded %1$s - Refund ID: %2$s - Reason: %3$s', 'woocommerce-gateway-stripe' ), $amount, $response->id, $reason ) : __( 'Pre-Authorization Released', 'woocommerce-gateway-stripe' );
928
+			$refund_message = (isset($captured) && 'yes' === $captured) ? sprintf(__('Refunded %1$s - Refund ID: %2$s - Reason: %3$s', 'woocommerce-gateway-stripe'), $amount, $response->id, $reason) : __('Pre-Authorization Released', 'woocommerce-gateway-stripe');
929 929
 
930
-			$order->add_order_note( $refund_message );
931
-			WC_Stripe_Logger::log( 'Success: ' . html_entity_decode( wp_strip_all_tags( $refund_message ) ) );
930
+			$order->add_order_note($refund_message);
931
+			WC_Stripe_Logger::log('Success: ' . html_entity_decode(wp_strip_all_tags($refund_message)));
932 932
 
933 933
 			return true;
934 934
 		}
@@ -943,46 +943,46 @@  discard block
 block discarded – undo
943 943
 	 */
944 944
 	public function add_payment_method() {
945 945
 		$error     = false;
946
-		$error_msg = __( 'There was a problem adding the payment method.', 'woocommerce-gateway-stripe' );
946
+		$error_msg = __('There was a problem adding the payment method.', 'woocommerce-gateway-stripe');
947 947
 		$source_id = '';
948 948
 
949
-		if ( empty( $_POST['stripe_source'] ) && empty( $_POST['stripe_token'] ) || ! is_user_logged_in() ) {
949
+		if (empty($_POST['stripe_source']) && empty($_POST['stripe_token']) || ! is_user_logged_in()) {
950 950
 			$error = true;
951 951
 		}
952 952
 
953
-		$stripe_customer = new WC_Stripe_Customer( get_current_user_id() );
953
+		$stripe_customer = new WC_Stripe_Customer(get_current_user_id());
954 954
 
955
-		$source = ! empty( $_POST['stripe_source'] ) ? wc_clean( $_POST['stripe_source'] ) : '';
955
+		$source = ! empty($_POST['stripe_source']) ? wc_clean($_POST['stripe_source']) : '';
956 956
 
957
-		$source_object = WC_Stripe_API::retrieve( 'sources/' . $source );
957
+		$source_object = WC_Stripe_API::retrieve('sources/' . $source);
958 958
 
959
-		if ( isset( $source_object ) ) {
960
-			if ( ! empty( $source_object->error ) ) {
959
+		if (isset($source_object)) {
960
+			if ( ! empty($source_object->error)) {
961 961
 				$error = true;
962 962
 			}
963 963
 
964 964
 			$source_id = $source_object->id;
965
-		} elseif ( isset( $_POST['stripe_token'] ) ) {
966
-			$source_id = wc_clean( $_POST['stripe_token'] );
965
+		} elseif (isset($_POST['stripe_token'])) {
966
+			$source_id = wc_clean($_POST['stripe_token']);
967 967
 		}
968 968
 
969
-		$response = $stripe_customer->add_source( $source_id );
969
+		$response = $stripe_customer->add_source($source_id);
970 970
 
971
-		if ( ! $response || is_wp_error( $response ) || ! empty( $response->error ) ) {
971
+		if ( ! $response || is_wp_error($response) || ! empty($response->error)) {
972 972
 			$error = true;
973 973
 		}
974 974
 
975
-		if ( $error ) {
976
-			wc_add_notice( $error_msg, 'error' );
977
-			WC_Stripe_Logger::log( 'Add payment method Error: ' . $error_msg );
975
+		if ($error) {
976
+			wc_add_notice($error_msg, 'error');
977
+			WC_Stripe_Logger::log('Add payment method Error: ' . $error_msg);
978 978
 			return;
979 979
 		}
980 980
 
981
-		do_action( 'wc_stripe_add_payment_method_' . $_POST['payment_method'] . '_success', $source_id, $source_object );
981
+		do_action('wc_stripe_add_payment_method_' . $_POST['payment_method'] . '_success', $source_id, $source_object);
982 982
 
983 983
 		return array(
984 984
 			'result'   => 'success',
985
-			'redirect' => wc_get_endpoint_url( 'payment-methods' ),
985
+			'redirect' => wc_get_endpoint_url('payment-methods'),
986 986
 		);
987 987
 	}
988 988
 
@@ -999,10 +999,10 @@  discard block
 block discarded – undo
999 999
 		 * Stripe expects Norwegian to only be passed NO.
1000 1000
 		 * But WP has different dialects.
1001 1001
 		 */
1002
-		if ( 'NO' === substr( $locale, 3, 2 ) ) {
1002
+		if ('NO' === substr($locale, 3, 2)) {
1003 1003
 			$locale = 'no';
1004 1004
 		} else {
1005
-			$locale = substr( get_locale(), 0, 2 );
1005
+			$locale = substr(get_locale(), 0, 2);
1006 1006
 		}
1007 1007
 
1008 1008
 		return $locale;
@@ -1016,9 +1016,9 @@  discard block
 block discarded – undo
1016 1016
 	 * @param string $idempotency_key
1017 1017
 	 * @param array $request
1018 1018
 	 */
1019
-	public function change_idempotency_key( $idempotency_key, $request ) {
1020
-		$customer = ! empty( $request['customer'] ) ? $request['customer'] : '';
1021
-		$source   = ! empty( $request['source'] ) ? $request['source'] : $customer;
1019
+	public function change_idempotency_key($idempotency_key, $request) {
1020
+		$customer = ! empty($request['customer']) ? $request['customer'] : '';
1021
+		$source   = ! empty($request['source']) ? $request['source'] : $customer;
1022 1022
 		$count    = $this->retry_interval;
1023 1023
 
1024 1024
 		return $request['metadata']['order_id'] . '-' . $count . '-' . $source;
@@ -1032,8 +1032,8 @@  discard block
 block discarded – undo
1032 1032
 	 * @since 4.0.6
1033 1033
 	 * @param array $headers
1034 1034
 	 */
1035
-	public function is_original_request( $headers ) {
1036
-		if ( $headers['original-request'] === $headers['request-id'] ) {
1035
+	public function is_original_request($headers) {
1036
+		if ($headers['original-request'] === $headers['request-id']) {
1037 1037
 			return true;
1038 1038
 		}
1039 1039
 
@@ -1047,31 +1047,31 @@  discard block
 block discarded – undo
1047 1047
 	 * @param object   $prepared_source The source that is used for the payment.
1048 1048
 	 * @return array                    The arguments for the request.
1049 1049
 	 */
1050
-	public function generate_create_intent_request( $order, $prepared_source ) {
1050
+	public function generate_create_intent_request($order, $prepared_source) {
1051 1051
 		// The request for a charge contains metadata for the intent.
1052
-		$full_request = $this->generate_payment_request( $order, $prepared_source );
1052
+		$full_request = $this->generate_payment_request($order, $prepared_source);
1053 1053
 
1054 1054
 		$request = array(
1055 1055
 			'source'               => $prepared_source->source,
1056
-			'amount'               => WC_Stripe_Helper::get_stripe_amount( $order->get_total() ),
1057
-			'currency'             => strtolower( $order->get_currency() ),
1056
+			'amount'               => WC_Stripe_Helper::get_stripe_amount($order->get_total()),
1057
+			'currency'             => strtolower($order->get_currency()),
1058 1058
 			'description'          => $full_request['description'],
1059 1059
 			'metadata'             => $full_request['metadata'],
1060
-			'capture_method'       => ( 'true' === $full_request['capture'] ) ? 'automatic' : 'manual',
1060
+			'capture_method'       => ('true' === $full_request['capture']) ? 'automatic' : 'manual',
1061 1061
 			'payment_method_types' => array(
1062 1062
 				'card',
1063 1063
 			),
1064 1064
 		);
1065 1065
 
1066
-		if ( $prepared_source->customer ) {
1066
+		if ($prepared_source->customer) {
1067 1067
 			$request['customer'] = $prepared_source->customer;
1068 1068
 		}
1069 1069
 
1070
-		if ( isset( $full_request['statement_descriptor'] ) ) {
1070
+		if (isset($full_request['statement_descriptor'])) {
1071 1071
 			$request['statement_descriptor'] = $full_request['statement_descriptor'];
1072 1072
 		}
1073 1073
 
1074
-		if ( isset( $full_request['shipping'] ) ) {
1074
+		if (isset($full_request['shipping'])) {
1075 1075
 			$request['shipping'] = $full_request['shipping'];
1076 1076
 		}
1077 1077
 
@@ -1083,7 +1083,7 @@  discard block
 block discarded – undo
1083 1083
 		 * @param WC_Order $order
1084 1084
 		 * @param object $source
1085 1085
 		 */
1086
-		return apply_filters( 'wc_stripe_generate_create_intent_request', $request, $order, $prepared_source );
1086
+		return apply_filters('wc_stripe_generate_create_intent_request', $request, $order, $prepared_source);
1087 1087
 	}
1088 1088
 
1089 1089
 	/**
@@ -1092,21 +1092,21 @@  discard block
 block discarded – undo
1092 1092
 	 * @param WC_Order $order The order that is being paid for.
1093 1093
 	 * @return array          The level 3 data to send to Stripe.
1094 1094
 	 */
1095
-	public function get_level3_data_from_order( $order ) {
1095
+	public function get_level3_data_from_order($order) {
1096 1096
 		// Get the order items. Don't need their keys, only their values.
1097 1097
 		// Order item IDs are used as keys in the original order items array.
1098
-		$order_items = array_values( $order->get_items() );
1098
+		$order_items = array_values($order->get_items());
1099 1099
 		$currency    = $order->get_currency();
1100 1100
 
1101
-		$stripe_line_items = array_map(function( $item ) use ( $currency ) {
1101
+		$stripe_line_items = array_map(function($item) use ($currency) {
1102 1102
 			$product_id          = $item->get_variation_id()
1103 1103
 				? $item->get_variation_id()
1104 1104
 				: $item->get_product_id();
1105
-			$product_description = substr( $item->get_name(), 0, 26 );
1105
+			$product_description = substr($item->get_name(), 0, 26);
1106 1106
 			$quantity            = $item->get_quantity();
1107
-			$unit_cost           = WC_Stripe_Helper::get_stripe_amount( ( $item->get_subtotal() / $quantity ), $currency );
1108
-			$tax_amount          = WC_Stripe_Helper::get_stripe_amount( $item->get_total_tax(), $currency );
1109
-			$discount_amount     = WC_Stripe_Helper::get_stripe_amount( $item->get_subtotal() - $item->get_total(), $currency );
1107
+			$unit_cost           = WC_Stripe_Helper::get_stripe_amount(($item->get_subtotal() / $quantity), $currency);
1108
+			$tax_amount          = WC_Stripe_Helper::get_stripe_amount($item->get_total_tax(), $currency);
1109
+			$discount_amount     = WC_Stripe_Helper::get_stripe_amount($item->get_subtotal() - $item->get_total(), $currency);
1110 1110
 
1111 1111
 			return (object) array(
1112 1112
 				'product_code'        => (string) $product_id, // Up to 12 characters that uniquely identify the product.
@@ -1120,19 +1120,19 @@  discard block
 block discarded – undo
1120 1120
 
1121 1121
 		$level3_data = array(
1122 1122
 			'merchant_reference'   => $order->get_id(), // An alphanumeric string of up to  characters in length. This unique value is assigned by the merchant to identify the order. Also known as an “Order ID”.
1123
-			'shipping_amount'      => WC_Stripe_Helper::get_stripe_amount( (float) $order->get_shipping_total() + (float) $order->get_shipping_tax(), $currency), // The shipping cost, in cents, as a non-negative integer.
1123
+			'shipping_amount'      => WC_Stripe_Helper::get_stripe_amount((float) $order->get_shipping_total() + (float) $order->get_shipping_tax(), $currency), // The shipping cost, in cents, as a non-negative integer.
1124 1124
 			'line_items'           => $stripe_line_items,
1125 1125
 		);
1126 1126
 
1127 1127
 		// The customer’s U.S. shipping ZIP code.
1128 1128
 		$shipping_address_zip = $order->get_shipping_postcode();
1129
-		if ( $this->is_valid_us_zip_code( $shipping_address_zip ) ) {
1129
+		if ($this->is_valid_us_zip_code($shipping_address_zip)) {
1130 1130
 			$level3_data['shipping_address_zip'] = $shipping_address_zip;
1131 1131
 		}
1132 1132
 
1133 1133
 		// The merchant’s U.S. shipping ZIP code.
1134
-		$store_postcode = get_option( 'woocommerce_store_postcode' );
1135
-		if ( $this->is_valid_us_zip_code( $store_postcode ) ) {
1134
+		$store_postcode = get_option('woocommerce_store_postcode');
1135
+		if ($this->is_valid_us_zip_code($store_postcode)) {
1136 1136
 			$level3_data['shipping_from_zip'] = $store_postcode;
1137 1137
 		}
1138 1138
 
@@ -1146,20 +1146,20 @@  discard block
 block discarded – undo
1146 1146
 	 * @param object   $prepared_source The source that is used for the payment.
1147 1147
 	 * @return object                   An intent or an error.
1148 1148
 	 */
1149
-	public function create_intent( $order, $prepared_source ) {
1150
-		$request = $this->generate_create_intent_request( $order, $prepared_source );
1149
+	public function create_intent($order, $prepared_source) {
1150
+		$request = $this->generate_create_intent_request($order, $prepared_source);
1151 1151
 
1152 1152
 		// Create an intent that awaits an action.
1153
-		$intent = WC_Stripe_API::request( $request, 'payment_intents' );
1154
-		if ( ! empty( $intent->error ) ) {
1153
+		$intent = WC_Stripe_API::request($request, 'payment_intents');
1154
+		if ( ! empty($intent->error)) {
1155 1155
 			return $intent;
1156 1156
 		}
1157 1157
 
1158 1158
 		$order_id = $order->get_id();
1159
-		WC_Stripe_Logger::log( "Stripe PaymentIntent $intent->id initiated for order $order_id" );
1159
+		WC_Stripe_Logger::log("Stripe PaymentIntent $intent->id initiated for order $order_id");
1160 1160
 
1161 1161
 		// Save the intent ID to the order.
1162
-		$this->save_intent_to_order( $order, $intent );
1162
+		$this->save_intent_to_order($order, $intent);
1163 1163
 
1164 1164
 		return $intent;
1165 1165
 	}
@@ -1172,33 +1172,33 @@  discard block
 block discarded – undo
1172 1172
 	 * @param object   $prepared_source Currently selected source.
1173 1173
 	 * @return object                   An updated intent.
1174 1174
 	 */
1175
-	public function update_existing_intent( $intent, $order, $prepared_source ) {
1175
+	public function update_existing_intent($intent, $order, $prepared_source) {
1176 1176
 		$request = array();
1177 1177
 
1178
-		if ( $prepared_source->source !== $intent->source ) {
1178
+		if ($prepared_source->source !== $intent->source) {
1179 1179
 			$request['source'] = $prepared_source->source;
1180 1180
 		}
1181 1181
 
1182
-		$new_amount = WC_Stripe_Helper::get_stripe_amount( $order->get_total() );
1183
-		if ( $intent->amount !== $new_amount ) {
1182
+		$new_amount = WC_Stripe_Helper::get_stripe_amount($order->get_total());
1183
+		if ($intent->amount !== $new_amount) {
1184 1184
 			$request['amount'] = $new_amount;
1185 1185
 		}
1186 1186
 
1187
-		if ( $prepared_source->customer && $intent->customer !== $prepared_source->customer ) {
1187
+		if ($prepared_source->customer && $intent->customer !== $prepared_source->customer) {
1188 1188
 			$request['customer'] = $prepared_source->customer;
1189 1189
 		}
1190 1190
 
1191
-		if ( $this->has_subscription( $order ) ) {
1191
+		if ($this->has_subscription($order)) {
1192 1192
 			// If this is a failed subscription order payment, the intent should be
1193 1193
 			// prepared for future usage.
1194 1194
 			$request['setup_future_usage'] = 'off_session';
1195 1195
 		}
1196 1196
 
1197
-		if ( empty( $request ) ) {
1197
+		if (empty($request)) {
1198 1198
 			return $intent;
1199 1199
 		}
1200 1200
 
1201
-		$level3_data = $this->get_level3_data_from_order( $order );
1201
+		$level3_data = $this->get_level3_data_from_order($order);
1202 1202
 		return WC_Stripe_API::request_with_level3_data(
1203 1203
 			$request,
1204 1204
 			"payment_intents/$intent->id",
@@ -1216,8 +1216,8 @@  discard block
 block discarded – undo
1216 1216
 	 * @param object   $prepared_source The source that is being charged.
1217 1217
 	 * @return object                   Either an error or the updated intent.
1218 1218
 	 */
1219
-	public function confirm_intent( $intent, $order, $prepared_source ) {
1220
-		if ( 'requires_confirmation' !== $intent->status ) {
1219
+	public function confirm_intent($intent, $order, $prepared_source) {
1220
+		if ('requires_confirmation' !== $intent->status) {
1221 1221
 			return $intent;
1222 1222
 		}
1223 1223
 
@@ -1226,7 +1226,7 @@  discard block
 block discarded – undo
1226 1226
 			'source' => $prepared_source->source,
1227 1227
 		);
1228 1228
 
1229
-		$level3_data = $this->get_level3_data_from_order( $order );
1229
+		$level3_data = $this->get_level3_data_from_order($order);
1230 1230
 		$confirmed_intent = WC_Stripe_API::request_with_level3_data(
1231 1231
 			$confirm_request,
1232 1232
 			"payment_intents/$intent->id/confirm",
@@ -1234,16 +1234,16 @@  discard block
 block discarded – undo
1234 1234
 			$order
1235 1235
 		);
1236 1236
 
1237
-		if ( ! empty( $confirmed_intent->error ) ) {
1237
+		if ( ! empty($confirmed_intent->error)) {
1238 1238
 			return $confirmed_intent;
1239 1239
 		}
1240 1240
 
1241 1241
 		// Save a note about the status of the intent.
1242 1242
 		$order_id = $order->get_id();
1243
-		if ( 'succeeded' === $confirmed_intent->status ) {
1244
-			WC_Stripe_Logger::log( "Stripe PaymentIntent $intent->id succeeded for order $order_id" );
1245
-		} elseif ( 'requires_action' === $confirmed_intent->status ) {
1246
-			WC_Stripe_Logger::log( "Stripe PaymentIntent $intent->id requires authentication for order $order_id" );
1243
+		if ('succeeded' === $confirmed_intent->status) {
1244
+			WC_Stripe_Logger::log("Stripe PaymentIntent $intent->id succeeded for order $order_id");
1245
+		} elseif ('requires_action' === $confirmed_intent->status) {
1246
+			WC_Stripe_Logger::log("Stripe PaymentIntent $intent->id requires authentication for order $order_id");
1247 1247
 		}
1248 1248
 
1249 1249
 		return $confirmed_intent;
@@ -1256,10 +1256,10 @@  discard block
 block discarded – undo
1256 1256
 	 * @param WC_Order $order For to which the source applies.
1257 1257
 	 * @param stdClass $intent Payment intent information.
1258 1258
 	 */
1259
-	public function save_intent_to_order( $order, $intent ) {
1260
-		$order->update_meta_data( '_stripe_intent_id', $intent->id );
1259
+	public function save_intent_to_order($order, $intent) {
1260
+		$order->update_meta_data('_stripe_intent_id', $intent->id);
1261 1261
 
1262
-		if ( is_callable( array( $order, 'save' ) ) ) {
1262
+		if (is_callable(array($order, 'save'))) {
1263 1263
 			$order->save();
1264 1264
 		}
1265 1265
 	}
@@ -1271,18 +1271,18 @@  discard block
 block discarded – undo
1271 1271
 	 * @param WC_Order $order The order to retrieve an intent for.
1272 1272
 	 * @return obect|bool     Either the intent object or `false`.
1273 1273
 	 */
1274
-	public function get_intent_from_order( $order ) {
1275
-		$intent_id = $order->get_meta( '_stripe_intent_id' );
1274
+	public function get_intent_from_order($order) {
1275
+		$intent_id = $order->get_meta('_stripe_intent_id');
1276 1276
 
1277
-		if ( $intent_id ) {
1278
-			return $this->get_intent( 'payment_intents', $intent_id );
1277
+		if ($intent_id) {
1278
+			return $this->get_intent('payment_intents', $intent_id);
1279 1279
 		}
1280 1280
 
1281 1281
 		// The order doesn't have a payment intent, but it may have a setup intent.
1282
-		$intent_id = $order->get_meta( '_stripe_setup_intent' );
1282
+		$intent_id = $order->get_meta('_stripe_setup_intent');
1283 1283
 
1284
-		if ( $intent_id ) {
1285
-			return $this->get_intent( 'setup_intents', $intent_id );
1284
+		if ($intent_id) {
1285
+			return $this->get_intent('setup_intents', $intent_id);
1286 1286
 		}
1287 1287
 
1288 1288
 		return false;
@@ -1296,15 +1296,15 @@  discard block
 block discarded – undo
1296 1296
 	 * @return object|bool 			Either the intent object or `false`.
1297 1297
 	 * @throws Exception 			Throws exception for unknown $intent_type.
1298 1298
 	 */
1299
-	private function get_intent( $intent_type, $intent_id ) {
1300
-		if ( ! in_array( $intent_type, [ 'payment_intents', 'setup_intents' ] ) ) {
1301
-			throw new Exception( "Failed to get intent of type $intent_type. Type is not allowed" );
1299
+	private function get_intent($intent_type, $intent_id) {
1300
+		if ( ! in_array($intent_type, ['payment_intents', 'setup_intents'])) {
1301
+			throw new Exception("Failed to get intent of type $intent_type. Type is not allowed");
1302 1302
 		}
1303 1303
 
1304
-		$response = WC_Stripe_API::request( array(), "$intent_type/$intent_id", 'GET' );
1304
+		$response = WC_Stripe_API::request(array(), "$intent_type/$intent_id", 'GET');
1305 1305
 
1306
-		if ( $response && isset( $response->{ 'error' } ) ) {
1307
-			$error_response_message = print_r( $response, true );
1306
+		if ($response && isset($response->{ 'error' } )) {
1307
+			$error_response_message = print_r($response, true);
1308 1308
 			WC_Stripe_Logger::log("Failed to get Stripe intent $intent_type/$intent_id.");
1309 1309
 			WC_Stripe_Logger::log("Response: $error_response_message");
1310 1310
 			return false;
@@ -1321,18 +1321,18 @@  discard block
 block discarded – undo
1321 1321
 	 * @param stdClass $intent The intent that is being processed.
1322 1322
 	 * @return bool            A flag that indicates whether the order is already locked.
1323 1323
 	 */
1324
-	public function lock_order_payment( $order, $intent = null ) {
1324
+	public function lock_order_payment($order, $intent = null) {
1325 1325
 		$order_id       = $order->get_id();
1326 1326
 		$transient_name = 'wc_stripe_processing_intent_' . $order_id;
1327
-		$processing     = get_transient( $transient_name );
1327
+		$processing     = get_transient($transient_name);
1328 1328
 
1329 1329
 		// Block the process if the same intent is already being handled.
1330
-		if ( "-1" === $processing || ( isset( $intent->id ) && $processing === $intent->id ) ) {
1330
+		if ("-1" === $processing || (isset($intent->id) && $processing === $intent->id)) {
1331 1331
 			return true;
1332 1332
 		}
1333 1333
 
1334 1334
 		// Save the new intent as a transient, eventually overwriting another one.
1335
-		set_transient( $transient_name, empty( $intent ) ? '-1' : $intent->id, 5 * MINUTE_IN_SECONDS );
1335
+		set_transient($transient_name, empty($intent) ? '-1' : $intent->id, 5 * MINUTE_IN_SECONDS);
1336 1336
 
1337 1337
 		return false;
1338 1338
 	}
@@ -1343,9 +1343,9 @@  discard block
 block discarded – undo
1343 1343
 	 * @since 4.2
1344 1344
 	 * @param WC_Order $order The order that is being unlocked.
1345 1345
 	 */
1346
-	public function unlock_order_payment( $order ) {
1346
+	public function unlock_order_payment($order) {
1347 1347
 		$order_id = $order->get_id();
1348
-		delete_transient( 'wc_stripe_processing_intent_' . $order_id );
1348
+		delete_transient('wc_stripe_processing_intent_' . $order_id);
1349 1349
 	}
1350 1350
 
1351 1351
 	/**
@@ -1355,9 +1355,9 @@  discard block
 block discarded – undo
1355 1355
 	 * @param object $response The response from Stripe.
1356 1356
 	 * @return boolean Whether or not it's a 'authentication_required' error
1357 1357
 	 */
1358
-	public function is_authentication_required_for_payment( $response ) {
1359
-		return ( ! empty( $response->error ) && 'authentication_required' === $response->error->code )
1360
-			|| ( ! empty( $response->last_payment_error ) && 'authentication_required' === $response->last_payment_error->code );
1358
+	public function is_authentication_required_for_payment($response) {
1359
+		return ( ! empty($response->error) && 'authentication_required' === $response->error->code)
1360
+			|| ( ! empty($response->last_payment_error) && 'authentication_required' === $response->last_payment_error->code);
1361 1361
 	}
1362 1362
 
1363 1363
 	/**
@@ -1367,18 +1367,18 @@  discard block
 block discarded – undo
1367 1367
 	 * @param object   $prepared_source The source, entered/chosen by the customer.
1368 1368
 	 * @return string                   The client secret of the intent, used for confirmation in JS.
1369 1369
 	 */
1370
-	public function setup_intent( $order, $prepared_source ) {
1370
+	public function setup_intent($order, $prepared_source) {
1371 1371
 		$order_id     = $order->get_id();
1372
-		$setup_intent = WC_Stripe_API::request( array(
1372
+		$setup_intent = WC_Stripe_API::request(array(
1373 1373
 			'payment_method' => $prepared_source->source,
1374 1374
 			'customer'       => $prepared_source->customer,
1375 1375
 			'confirm'        => 'true',
1376
-		), 'setup_intents' );
1376
+		), 'setup_intents');
1377 1377
 
1378
-		if ( is_wp_error( $setup_intent ) ) {
1379
-			WC_Stripe_Logger::log( "Unable to create SetupIntent for Order #$order_id: " . print_r( $setup_intent, true ) );
1380
-		} elseif ( 'requires_action' === $setup_intent->status ) {
1381
-			$order->update_meta_data( '_stripe_setup_intent', $setup_intent->id );
1378
+		if (is_wp_error($setup_intent)) {
1379
+			WC_Stripe_Logger::log("Unable to create SetupIntent for Order #$order_id: " . print_r($setup_intent, true));
1380
+		} elseif ('requires_action' === $setup_intent->status) {
1381
+			$order->update_meta_data('_stripe_setup_intent', $setup_intent->id);
1382 1382
 			$order->save();
1383 1383
 
1384 1384
 			return $setup_intent->client_secret;
@@ -1393,12 +1393,12 @@  discard block
 block discarded – undo
1393 1393
 	 * @param float    $amount          The amount to charge. If not specified, it will be read from the order.
1394 1394
 	 * @return object                   An intent or an error.
1395 1395
 	 */
1396
-	public function create_and_confirm_intent_for_off_session( $order, $prepared_source, $amount = NULL ) {
1396
+	public function create_and_confirm_intent_for_off_session($order, $prepared_source, $amount = NULL) {
1397 1397
 		// The request for a charge contains metadata for the intent.
1398
-		$full_request = $this->generate_payment_request( $order, $prepared_source );
1398
+		$full_request = $this->generate_payment_request($order, $prepared_source);
1399 1399
 
1400 1400
 		$request = array(
1401
-			'amount'               => $amount ? WC_Stripe_Helper::get_stripe_amount( $amount, $full_request['currency'] ) : $full_request['amount'],
1401
+			'amount'               => $amount ? WC_Stripe_Helper::get_stripe_amount($amount, $full_request['currency']) : $full_request['amount'],
1402 1402
 			'currency'             => $full_request['currency'],
1403 1403
 			'description'          => $full_request['description'],
1404 1404
 			'metadata'             => $full_request['metadata'],
@@ -1410,17 +1410,17 @@  discard block
 block discarded – undo
1410 1410
 			'confirmation_method'  => 'automatic',
1411 1411
 		);
1412 1412
 
1413
-		if ( isset( $full_request['statement_descriptor'] ) ) {
1413
+		if (isset($full_request['statement_descriptor'])) {
1414 1414
 			$request['statement_descriptor'] = $full_request['statement_descriptor'];
1415 1415
 		}
1416 1416
 
1417
-		if ( isset( $full_request['customer'] ) ) {
1417
+		if (isset($full_request['customer'])) {
1418 1418
 			$request['customer'] = $full_request['customer'];
1419 1419
 		}
1420 1420
 
1421
-		if ( isset( $full_request['source'] ) ) {
1422
-			$is_source = 'src_' === substr( $full_request['source'], 0, 4 );
1423
-			$request[ $is_source ? 'source' : 'payment_method' ] = $full_request['source'];
1421
+		if (isset($full_request['source'])) {
1422
+			$is_source = 'src_' === substr($full_request['source'], 0, 4);
1423
+			$request[$is_source ? 'source' : 'payment_method'] = $full_request['source'];
1424 1424
 		}
1425 1425
 
1426 1426
 		/**
@@ -1431,38 +1431,38 @@  discard block
 block discarded – undo
1431 1431
 		 * @param WC_Order $order
1432 1432
 		 * @param object $source
1433 1433
 		 */
1434
-		$request = apply_filters('wc_stripe_generate_create_intent_request', $request, $order, $prepared_source );
1434
+		$request = apply_filters('wc_stripe_generate_create_intent_request', $request, $order, $prepared_source);
1435 1435
 
1436
-		if ( isset( $full_request['shipping'] ) ) {
1436
+		if (isset($full_request['shipping'])) {
1437 1437
 			$request['shipping'] = $full_request['shipping'];
1438 1438
 		}
1439 1439
 
1440
-		$level3_data = $this->get_level3_data_from_order( $order );
1440
+		$level3_data = $this->get_level3_data_from_order($order);
1441 1441
 		$intent = WC_Stripe_API::request_with_level3_data(
1442 1442
 			$request,
1443 1443
 			'payment_intents',
1444 1444
 			$level3_data,
1445 1445
 			$order
1446 1446
 		);
1447
-		$is_authentication_required = $this->is_authentication_required_for_payment( $intent );
1447
+		$is_authentication_required = $this->is_authentication_required_for_payment($intent);
1448 1448
 
1449
-		if ( ! empty( $intent->error ) && ! $is_authentication_required ) {
1449
+		if ( ! empty($intent->error) && ! $is_authentication_required) {
1450 1450
 			return $intent;
1451 1451
 		}
1452 1452
 
1453
-		$intent_id      = ( ! empty( $intent->error )
1453
+		$intent_id = ( ! empty($intent->error)
1454 1454
 			? $intent->error->payment_intent->id
1455 1455
 			: $intent->id
1456 1456
 		);
1457
-		$payment_intent = ( ! empty( $intent->error )
1457
+		$payment_intent = ( ! empty($intent->error)
1458 1458
 			? $intent->error->payment_intent
1459 1459
 			: $intent
1460 1460
 		);
1461
-		$order_id       = $order->get_id();
1462
-		WC_Stripe_Logger::log( "Stripe PaymentIntent $intent_id initiated for order $order_id" );
1461
+		$order_id = $order->get_id();
1462
+		WC_Stripe_Logger::log("Stripe PaymentIntent $intent_id initiated for order $order_id");
1463 1463
 
1464 1464
 		// Save the intent ID to the order.
1465
-		$this->save_intent_to_order( $order, $payment_intent );
1465
+		$this->save_intent_to_order($order, $payment_intent);
1466 1466
 
1467 1467
 		return $intent;
1468 1468
 	}
@@ -1473,13 +1473,13 @@  discard block
 block discarded – undo
1473 1473
 	 * Fix renewal for existing subscriptions affected by https://github.com/woocommerce/woocommerce-gateway-stripe/issues/1072.
1474 1474
 	 * @param int $order_id subscription renewal order id.
1475 1475
 	 */
1476
-	public function ensure_subscription_has_customer_id( $order_id ) {
1477
-		$subscriptions_ids = wcs_get_subscriptions_for_order( $order_id, array( 'order_type' => 'any' ) );
1478
-		foreach( $subscriptions_ids as $subscription_id => $subscription ) {
1479
-			if ( ! metadata_exists( 'post', $subscription_id, '_stripe_customer_id' ) ) {
1480
-				$stripe_customer = new WC_Stripe_Customer( $subscription->get_user_id() );
1481
-				update_post_meta( $subscription_id, '_stripe_customer_id', $stripe_customer->get_id() );
1482
-				update_post_meta( $order_id, '_stripe_customer_id', $stripe_customer->get_id() );
1476
+	public function ensure_subscription_has_customer_id($order_id) {
1477
+		$subscriptions_ids = wcs_get_subscriptions_for_order($order_id, array('order_type' => 'any'));
1478
+		foreach ($subscriptions_ids as $subscription_id => $subscription) {
1479
+			if ( ! metadata_exists('post', $subscription_id, '_stripe_customer_id')) {
1480
+				$stripe_customer = new WC_Stripe_Customer($subscription->get_user_id());
1481
+				update_post_meta($subscription_id, '_stripe_customer_id', $stripe_customer->get_id());
1482
+				update_post_meta($order_id, '_stripe_customer_id', $stripe_customer->get_id());
1483 1483
 			}
1484 1484
 		}
1485 1485
 	}
@@ -1489,7 +1489,7 @@  discard block
 block discarded – undo
1489 1489
 	 * @param string $zip The ZIP code to verify.
1490 1490
 	 * @return boolean
1491 1491
 	 */
1492
-	public function is_valid_us_zip_code( $zip ) {
1493
-		return ! empty( $zip ) && preg_match( '/^\d{5,5}(-\d{4,4})?$/', $zip );
1492
+	public function is_valid_us_zip_code($zip) {
1493
+		return ! empty($zip) && preg_match('/^\d{5,5}(-\d{4,4})?$/', $zip);
1494 1494
 	}
1495 1495
 }
Please login to merge, or discard this patch.