Completed
Push — master ( 618f3c...a704e3 )
by Valerie
01:56
created
includes/abstracts/abstract-wc-stripe-payment-gateway.php 1 patch
Spacing   +335 added lines, -335 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
 	/**
@@ -602,64 +602,64 @@  discard block
 block discarded – undo
602 602
 	 * @throws Exception When card was not added or for and invalid card.
603 603
 	 * @return object
604 604
 	 */
605
-	public function prepare_source( $user_id, $force_save_source = false, $existing_customer_id = null ) {
606
-		$customer = new WC_Stripe_Customer( $user_id );
607
-		if ( ! empty( $existing_customer_id ) ) {
608
-			$customer->set_id( $existing_customer_id );
605
+	public function prepare_source($user_id, $force_save_source = false, $existing_customer_id = null) {
606
+		$customer = new WC_Stripe_Customer($user_id);
607
+		if ( ! empty($existing_customer_id)) {
608
+			$customer->set_id($existing_customer_id);
609 609
 		}
610 610
 
611
-		$force_save_source = apply_filters( 'wc_stripe_force_save_source', $force_save_source, $customer );
611
+		$force_save_source = apply_filters('wc_stripe_force_save_source', $force_save_source, $customer);
612 612
 		$source_object     = '';
613 613
 		$source_id         = '';
614 614
 		$wc_token_id       = false;
615
-		$payment_method    = isset( $_POST['payment_method'] ) ? wc_clean( $_POST['payment_method'] ) : 'stripe';
615
+		$payment_method    = isset($_POST['payment_method']) ? wc_clean($_POST['payment_method']) : 'stripe';
616 616
 		$is_token          = false;
617 617
 
618 618
 		// New CC info was entered and we have a new source to process.
619
-		if ( ! empty( $_POST['stripe_source'] ) ) {
620
-			$source_object = self::get_source_object( wc_clean( $_POST['stripe_source'] ) );
619
+		if ( ! empty($_POST['stripe_source'])) {
620
+			$source_object = self::get_source_object(wc_clean($_POST['stripe_source']));
621 621
 			$source_id     = $source_object->id;
622 622
 
623 623
 			// This checks to see if customer opted to save the payment method to file.
624
-			$maybe_saved_card = isset( $_POST[ 'wc-' . $payment_method . '-new-payment-method' ] ) && ! empty( $_POST[ 'wc-' . $payment_method . '-new-payment-method' ] );
624
+			$maybe_saved_card = isset($_POST['wc-' . $payment_method . '-new-payment-method']) && ! empty($_POST['wc-' . $payment_method . '-new-payment-method']);
625 625
 
626 626
 			/**
627 627
 			 * This is true if the user wants to store the card to their account.
628 628
 			 * Criteria to save to file is they are logged in, they opted to save or product requirements and the source is
629 629
 			 * actually reusable. Either that or force_save_source is true.
630 630
 			 */
631
-			if ( ( $user_id && $this->saved_cards && $maybe_saved_card && 'reusable' === $source_object->usage ) || $force_save_source ) {
632
-				$response = $customer->add_source( $source_object->id );
631
+			if (($user_id && $this->saved_cards && $maybe_saved_card && 'reusable' === $source_object->usage) || $force_save_source) {
632
+				$response = $customer->add_source($source_object->id);
633 633
 
634
-				if ( ! empty( $response->error ) ) {
635
-					throw new WC_Stripe_Exception( print_r( $response, true ), $this->get_localized_error_message_from_response( $response ) );
634
+				if ( ! empty($response->error)) {
635
+					throw new WC_Stripe_Exception(print_r($response, true), $this->get_localized_error_message_from_response($response));
636 636
 				}
637 637
 			}
638
-		} elseif ( $this->is_using_saved_payment_method() ) {
638
+		} elseif ($this->is_using_saved_payment_method()) {
639 639
 			// Use an existing token, and then process the payment.
640
-			$wc_token_id = wc_clean( $_POST[ 'wc-' . $payment_method . '-payment-token' ] );
641
-			$wc_token    = WC_Payment_Tokens::get( $wc_token_id );
640
+			$wc_token_id = wc_clean($_POST['wc-' . $payment_method . '-payment-token']);
641
+			$wc_token    = WC_Payment_Tokens::get($wc_token_id);
642 642
 
643
-			if ( ! $wc_token || $wc_token->get_user_id() !== get_current_user_id() ) {
644
-				WC()->session->set( 'refresh_totals', true );
645
-				throw new WC_Stripe_Exception( 'Invalid payment method', __( 'Invalid payment method. Please input a new card number.', 'woocommerce-gateway-stripe' ) );
643
+			if ( ! $wc_token || $wc_token->get_user_id() !== get_current_user_id()) {
644
+				WC()->session->set('refresh_totals', true);
645
+				throw new WC_Stripe_Exception('Invalid payment method', __('Invalid payment method. Please input a new card number.', 'woocommerce-gateway-stripe'));
646 646
 			}
647 647
 
648 648
 			$source_id = $wc_token->get_token();
649 649
 
650
-			if ( $this->is_type_legacy_card( $source_id ) ) {
650
+			if ($this->is_type_legacy_card($source_id)) {
651 651
 				$is_token = true;
652 652
 			}
653
-		} elseif ( isset( $_POST['stripe_token'] ) && 'new' !== $_POST['stripe_token'] ) {
654
-			$stripe_token     = wc_clean( $_POST['stripe_token'] );
655
-			$maybe_saved_card = isset( $_POST[ 'wc-' . $payment_method . '-new-payment-method' ] ) && ! empty( $_POST[ 'wc-' . $payment_method . '-new-payment-method' ] );
653
+		} elseif (isset($_POST['stripe_token']) && 'new' !== $_POST['stripe_token']) {
654
+			$stripe_token     = wc_clean($_POST['stripe_token']);
655
+			$maybe_saved_card = isset($_POST['wc-' . $payment_method . '-new-payment-method']) && ! empty($_POST['wc-' . $payment_method . '-new-payment-method']);
656 656
 
657 657
 			// This is true if the user wants to store the card to their account.
658
-			if ( ( $user_id && $this->saved_cards && $maybe_saved_card ) || $force_save_source ) {
659
-				$response = $customer->add_source( $stripe_token );
658
+			if (($user_id && $this->saved_cards && $maybe_saved_card) || $force_save_source) {
659
+				$response = $customer->add_source($stripe_token);
660 660
 
661
-				if ( ! empty( $response->error ) ) {
662
-					throw new WC_Stripe_Exception( print_r( $response, true ), $response->error->message );
661
+				if ( ! empty($response->error)) {
662
+					throw new WC_Stripe_Exception(print_r($response, true), $response->error->message);
663 663
 				}
664 664
 				$source_id    = $response;
665 665
 			} else {
@@ -669,15 +669,15 @@  discard block
 block discarded – undo
669 669
 		}
670 670
 
671 671
 		$customer_id = $customer->get_id();
672
-		if ( ! $customer_id ) {
673
-			$customer->set_id( $customer->create_customer() );
672
+		if ( ! $customer_id) {
673
+			$customer->set_id($customer->create_customer());
674 674
 			$customer_id = $customer->get_id();
675 675
 		} else {
676 676
 			$customer_id = $customer->update_customer();
677 677
 		}
678 678
 
679
-		if ( empty( $source_object ) && ! $is_token ) {
680
-			$source_object = self::get_source_object( $source_id );
679
+		if (empty($source_object) && ! $is_token) {
680
+			$source_object = self::get_source_object($source_id);
681 681
 		}
682 682
 
683 683
 		return (object) array(
@@ -701,39 +701,39 @@  discard block
 block discarded – undo
701 701
 	 * @param object $order
702 702
 	 * @return object
703 703
 	 */
704
-	public function prepare_order_source( $order = null ) {
704
+	public function prepare_order_source($order = null) {
705 705
 		$stripe_customer = new WC_Stripe_Customer();
706 706
 		$stripe_source   = false;
707 707
 		$token_id        = false;
708 708
 		$source_object   = false;
709 709
 
710
-		if ( $order ) {
710
+		if ($order) {
711 711
 			$order_id = $order->get_id();
712 712
 
713
-			$stripe_customer_id = get_post_meta( $order_id, '_stripe_customer_id', true );
713
+			$stripe_customer_id = get_post_meta($order_id, '_stripe_customer_id', true);
714 714
 
715
-			if ( $stripe_customer_id ) {
716
-				$stripe_customer->set_id( $stripe_customer_id );
715
+			if ($stripe_customer_id) {
716
+				$stripe_customer->set_id($stripe_customer_id);
717 717
 			}
718 718
 
719
-			$source_id = $order->get_meta( '_stripe_source_id', true );
719
+			$source_id = $order->get_meta('_stripe_source_id', true);
720 720
 
721 721
 			// Since 4.0.0, we changed card to source so we need to account for that.
722
-			if ( empty( $source_id ) ) {
723
-				$source_id = $order->get_meta( '_stripe_card_id', true );
722
+			if (empty($source_id)) {
723
+				$source_id = $order->get_meta('_stripe_card_id', true);
724 724
 
725 725
 				// Take this opportunity to update the key name.
726
-				$order->update_meta_data( '_stripe_source_id', $source_id );
726
+				$order->update_meta_data('_stripe_source_id', $source_id);
727 727
 
728
-				if ( is_callable( array( $order, 'save' ) ) ) {
728
+				if (is_callable(array($order, 'save'))) {
729 729
 					$order->save();
730 730
 				}
731 731
 			}
732 732
 
733
-			if ( $source_id ) {
733
+			if ($source_id) {
734 734
 				$stripe_source = $source_id;
735
-				$source_object = WC_Stripe_API::retrieve( 'sources/' . $source_id );
736
-			} elseif ( apply_filters( 'wc_stripe_use_default_customer_source', true ) ) {
735
+				$source_object = WC_Stripe_API::retrieve('sources/' . $source_id);
736
+			} elseif (apply_filters('wc_stripe_use_default_customer_source', true)) {
737 737
 				/*
738 738
 				 * We can attempt to charge the customer's default source
739 739
 				 * by sending empty source id.
@@ -758,17 +758,17 @@  discard block
 block discarded – undo
758 758
 	 * @param WC_Order $order For to which the source applies.
759 759
 	 * @param stdClass $source Source information.
760 760
 	 */
761
-	public function save_source_to_order( $order, $source ) {
761
+	public function save_source_to_order($order, $source) {
762 762
 		// Store source in the order.
763
-		if ( $source->customer ) {
764
-			$order->update_meta_data( '_stripe_customer_id', $source->customer );
763
+		if ($source->customer) {
764
+			$order->update_meta_data('_stripe_customer_id', $source->customer);
765 765
 		}
766 766
 
767
-		if ( $source->source ) {
768
-			$order->update_meta_data( '_stripe_source_id', $source->source );
767
+		if ($source->source) {
768
+			$order->update_meta_data('_stripe_source_id', $source->source);
769 769
 		}
770 770
 
771
-		if ( is_callable( array( $order, 'save' ) ) ) {
771
+		if (is_callable(array($order, 'save'))) {
772 772
 			$order->save();
773 773
 		}
774 774
 	}
@@ -782,36 +782,36 @@  discard block
 block discarded – undo
782 782
 	 * @param object $order The order object
783 783
 	 * @param int $balance_transaction_id
784 784
 	 */
785
-	public function update_fees( $order, $balance_transaction_id ) {
786
-		$balance_transaction = WC_Stripe_API::retrieve( 'balance/history/' . $balance_transaction_id );
785
+	public function update_fees($order, $balance_transaction_id) {
786
+		$balance_transaction = WC_Stripe_API::retrieve('balance/history/' . $balance_transaction_id);
787 787
 
788
-		if ( empty( $balance_transaction->error ) ) {
789
-			if ( isset( $balance_transaction ) && isset( $balance_transaction->fee ) ) {
788
+		if (empty($balance_transaction->error)) {
789
+			if (isset($balance_transaction) && isset($balance_transaction->fee)) {
790 790
 				// Fees and Net needs to both come from Stripe to be accurate as the returned
791 791
 				// values are in the local currency of the Stripe account, not from WC.
792
-				$fee_refund = ! empty( $balance_transaction->fee ) ? WC_Stripe_Helper::format_balance_fee( $balance_transaction, 'fee' ) : 0;
793
-				$net_refund = ! empty( $balance_transaction->net ) ? WC_Stripe_Helper::format_balance_fee( $balance_transaction, 'net' ) : 0;
792
+				$fee_refund = ! empty($balance_transaction->fee) ? WC_Stripe_Helper::format_balance_fee($balance_transaction, 'fee') : 0;
793
+				$net_refund = ! empty($balance_transaction->net) ? WC_Stripe_Helper::format_balance_fee($balance_transaction, 'net') : 0;
794 794
 
795 795
 				// Current data fee & net.
796
-				$fee_current = WC_Stripe_Helper::get_stripe_fee( $order );
797
-				$net_current = WC_Stripe_Helper::get_stripe_net( $order );
796
+				$fee_current = WC_Stripe_Helper::get_stripe_fee($order);
797
+				$net_current = WC_Stripe_Helper::get_stripe_net($order);
798 798
 
799 799
 				// Calculation.
800 800
 				$fee = (float) $fee_current + (float) $fee_refund;
801 801
 				$net = (float) $net_current + (float) $net_refund;
802 802
 
803
-				WC_Stripe_Helper::update_stripe_fee( $order, $fee );
804
-				WC_Stripe_Helper::update_stripe_net( $order, $net );
803
+				WC_Stripe_Helper::update_stripe_fee($order, $fee);
804
+				WC_Stripe_Helper::update_stripe_net($order, $net);
805 805
 
806
-				$currency = ! empty( $balance_transaction->currency ) ? strtoupper( $balance_transaction->currency ) : null;
807
-				WC_Stripe_Helper::update_stripe_currency( $order, $currency );
806
+				$currency = ! empty($balance_transaction->currency) ? strtoupper($balance_transaction->currency) : null;
807
+				WC_Stripe_Helper::update_stripe_currency($order, $currency);
808 808
 
809
-				if ( is_callable( array( $order, 'save' ) ) ) {
809
+				if (is_callable(array($order, 'save'))) {
810 810
 					$order->save();
811 811
 				}
812 812
 			}
813 813
 		} else {
814
-			WC_Stripe_Logger::log( 'Unable to update fees/net meta for order: ' . $order->get_id() );
814
+			WC_Stripe_Logger::log('Unable to update fees/net meta for order: ' . $order->get_id());
815 815
 		}
816 816
 	}
817 817
 
@@ -824,93 +824,93 @@  discard block
 block discarded – undo
824 824
 	 * @param  float $amount
825 825
 	 * @return bool
826 826
 	 */
827
-	public function process_refund( $order_id, $amount = null, $reason = '' ) {
828
-		$order = wc_get_order( $order_id );
827
+	public function process_refund($order_id, $amount = null, $reason = '') {
828
+		$order = wc_get_order($order_id);
829 829
 
830
-		if ( ! $order ) {
830
+		if ( ! $order) {
831 831
 			return false;
832 832
 		}
833 833
 
834 834
 		$request = array();
835 835
 
836 836
 		$order_currency = $order->get_currency();
837
-		$captured       = $order->get_meta( '_stripe_charge_captured', true );
837
+		$captured       = $order->get_meta('_stripe_charge_captured', true);
838 838
 		$charge_id      = $order->get_transaction_id();
839 839
 
840
-		if ( ! $charge_id ) {
840
+		if ( ! $charge_id) {
841 841
 			return false;
842 842
 		}
843 843
 
844
-		if ( ! is_null( $amount ) ) {
845
-			$request['amount'] = WC_Stripe_Helper::get_stripe_amount( $amount, $order_currency );
844
+		if ( ! is_null($amount)) {
845
+			$request['amount'] = WC_Stripe_Helper::get_stripe_amount($amount, $order_currency);
846 846
 		}
847 847
 
848 848
 		// If order is only authorized, don't pass amount.
849
-		if ( 'yes' !== $captured ) {
850
-			unset( $request['amount'] );
849
+		if ('yes' !== $captured) {
850
+			unset($request['amount']);
851 851
 		}
852 852
 
853
-		if ( $reason ) {
853
+		if ($reason) {
854 854
 			$request['metadata'] = array(
855 855
 				'reason' => $reason,
856 856
 			);
857 857
 		}
858 858
 
859 859
 		$request['charge'] = $charge_id;
860
-		WC_Stripe_Logger::log( "Info: Beginning refund for order {$charge_id} for the amount of {$amount}" );
860
+		WC_Stripe_Logger::log("Info: Beginning refund for order {$charge_id} for the amount of {$amount}");
861 861
 
862
-		$request = apply_filters( 'wc_stripe_refund_request', $request, $order );
862
+		$request = apply_filters('wc_stripe_refund_request', $request, $order);
863 863
 
864
-		$intent = $this->get_intent_from_order( $order );
864
+		$intent = $this->get_intent_from_order($order);
865 865
 		$intent_cancelled = false;
866
-		if ( $intent ) {
866
+		if ($intent) {
867 867
 			// If the order has a Payment Intent pending capture, then the Intent itself must be refunded (cancelled), not the Charge
868
-			if ( ! empty( $intent->error ) ) {
868
+			if ( ! empty($intent->error)) {
869 869
 				$response = $intent;
870 870
 				$intent_cancelled = true;
871
-			} elseif ( 'requires_capture' === $intent->status ) {
871
+			} elseif ('requires_capture' === $intent->status) {
872 872
 				$result = WC_Stripe_API::request(
873 873
 					array(),
874 874
 					'payment_intents/' . $intent->id . '/cancel'
875 875
 				);
876 876
 				$intent_cancelled = true;
877 877
 
878
-				if ( ! empty( $result->error ) ) {
878
+				if ( ! empty($result->error)) {
879 879
 					$response = $result;
880 880
 				} else {
881
-					$charge = end( $result->charges->data );
882
-					$response = end( $charge->refunds->data );
881
+					$charge = end($result->charges->data);
882
+					$response = end($charge->refunds->data);
883 883
 				}
884 884
 			}
885 885
 		}
886 886
 
887
-		if ( ! $intent_cancelled ) {
888
-			$response = WC_Stripe_API::request( $request, 'refunds' );
887
+		if ( ! $intent_cancelled) {
888
+			$response = WC_Stripe_API::request($request, 'refunds');
889 889
 		}
890 890
 
891
-		if ( ! empty( $response->error ) ) {
892
-			WC_Stripe_Logger::log( 'Error: ' . $response->error->message );
891
+		if ( ! empty($response->error)) {
892
+			WC_Stripe_Logger::log('Error: ' . $response->error->message);
893 893
 
894 894
 			return $response;
895 895
 
896
-		} elseif ( ! empty( $response->id ) ) {
897
-			$order->update_meta_data( '_stripe_refund_id', $response->id );
896
+		} elseif ( ! empty($response->id)) {
897
+			$order->update_meta_data('_stripe_refund_id', $response->id);
898 898
 
899
-			$amount = wc_price( $response->amount / 100 );
899
+			$amount = wc_price($response->amount / 100);
900 900
 
901
-			if ( in_array( strtolower( $order->get_currency() ), WC_Stripe_Helper::no_decimal_currencies() ) ) {
902
-				$amount = wc_price( $response->amount );
901
+			if (in_array(strtolower($order->get_currency()), WC_Stripe_Helper::no_decimal_currencies())) {
902
+				$amount = wc_price($response->amount);
903 903
 			}
904 904
 
905
-			if ( isset( $response->balance_transaction ) ) {
906
-				$this->update_fees( $order, $response->balance_transaction );
905
+			if (isset($response->balance_transaction)) {
906
+				$this->update_fees($order, $response->balance_transaction);
907 907
 			}
908 908
 
909 909
 			/* translators: 1) dollar amount 2) transaction id 3) refund message */
910
-			$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' );
910
+			$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');
911 911
 
912
-			$order->add_order_note( $refund_message );
913
-			WC_Stripe_Logger::log( 'Success: ' . html_entity_decode( wp_strip_all_tags( $refund_message ) ) );
912
+			$order->add_order_note($refund_message);
913
+			WC_Stripe_Logger::log('Success: ' . html_entity_decode(wp_strip_all_tags($refund_message)));
914 914
 
915 915
 			return true;
916 916
 		}
@@ -925,46 +925,46 @@  discard block
 block discarded – undo
925 925
 	 */
926 926
 	public function add_payment_method() {
927 927
 		$error     = false;
928
-		$error_msg = __( 'There was a problem adding the payment method.', 'woocommerce-gateway-stripe' );
928
+		$error_msg = __('There was a problem adding the payment method.', 'woocommerce-gateway-stripe');
929 929
 		$source_id = '';
930 930
 
931
-		if ( empty( $_POST['stripe_source'] ) && empty( $_POST['stripe_token'] ) || ! is_user_logged_in() ) {
931
+		if (empty($_POST['stripe_source']) && empty($_POST['stripe_token']) || ! is_user_logged_in()) {
932 932
 			$error = true;
933 933
 		}
934 934
 
935
-		$stripe_customer = new WC_Stripe_Customer( get_current_user_id() );
935
+		$stripe_customer = new WC_Stripe_Customer(get_current_user_id());
936 936
 
937
-		$source = ! empty( $_POST['stripe_source'] ) ? wc_clean( $_POST['stripe_source'] ) : '';
937
+		$source = ! empty($_POST['stripe_source']) ? wc_clean($_POST['stripe_source']) : '';
938 938
 
939
-		$source_object = WC_Stripe_API::retrieve( 'sources/' . $source );
939
+		$source_object = WC_Stripe_API::retrieve('sources/' . $source);
940 940
 
941
-		if ( isset( $source_object ) ) {
942
-			if ( ! empty( $source_object->error ) ) {
941
+		if (isset($source_object)) {
942
+			if ( ! empty($source_object->error)) {
943 943
 				$error = true;
944 944
 			}
945 945
 
946 946
 			$source_id = $source_object->id;
947
-		} elseif ( isset( $_POST['stripe_token'] ) ) {
948
-			$source_id = wc_clean( $_POST['stripe_token'] );
947
+		} elseif (isset($_POST['stripe_token'])) {
948
+			$source_id = wc_clean($_POST['stripe_token']);
949 949
 		}
950 950
 
951
-		$response = $stripe_customer->add_source( $source_id );
951
+		$response = $stripe_customer->add_source($source_id);
952 952
 
953
-		if ( ! $response || is_wp_error( $response ) || ! empty( $response->error ) ) {
953
+		if ( ! $response || is_wp_error($response) || ! empty($response->error)) {
954 954
 			$error = true;
955 955
 		}
956 956
 
957
-		if ( $error ) {
958
-			wc_add_notice( $error_msg, 'error' );
959
-			WC_Stripe_Logger::log( 'Add payment method Error: ' . $error_msg );
957
+		if ($error) {
958
+			wc_add_notice($error_msg, 'error');
959
+			WC_Stripe_Logger::log('Add payment method Error: ' . $error_msg);
960 960
 			return;
961 961
 		}
962 962
 
963
-		do_action( 'wc_stripe_add_payment_method_' . $_POST['payment_method'] . '_success', $source_id, $source_object );
963
+		do_action('wc_stripe_add_payment_method_' . $_POST['payment_method'] . '_success', $source_id, $source_object);
964 964
 
965 965
 		return array(
966 966
 			'result'   => 'success',
967
-			'redirect' => wc_get_endpoint_url( 'payment-methods' ),
967
+			'redirect' => wc_get_endpoint_url('payment-methods'),
968 968
 		);
969 969
 	}
970 970
 
@@ -981,10 +981,10 @@  discard block
 block discarded – undo
981 981
 		 * Stripe expects Norwegian to only be passed NO.
982 982
 		 * But WP has different dialects.
983 983
 		 */
984
-		if ( 'NO' === substr( $locale, 3, 2 ) ) {
984
+		if ('NO' === substr($locale, 3, 2)) {
985 985
 			$locale = 'no';
986 986
 		} else {
987
-			$locale = substr( get_locale(), 0, 2 );
987
+			$locale = substr(get_locale(), 0, 2);
988 988
 		}
989 989
 
990 990
 		return $locale;
@@ -998,9 +998,9 @@  discard block
 block discarded – undo
998 998
 	 * @param string $idempotency_key
999 999
 	 * @param array $request
1000 1000
 	 */
1001
-	public function change_idempotency_key( $idempotency_key, $request ) {
1002
-		$customer = ! empty( $request['customer'] ) ? $request['customer'] : '';
1003
-		$source   = ! empty( $request['source'] ) ? $request['source'] : $customer;
1001
+	public function change_idempotency_key($idempotency_key, $request) {
1002
+		$customer = ! empty($request['customer']) ? $request['customer'] : '';
1003
+		$source   = ! empty($request['source']) ? $request['source'] : $customer;
1004 1004
 		$count    = $this->retry_interval;
1005 1005
 
1006 1006
 		return $request['metadata']['order_id'] . '-' . $count . '-' . $source;
@@ -1014,8 +1014,8 @@  discard block
 block discarded – undo
1014 1014
 	 * @since 4.0.6
1015 1015
 	 * @param array $headers
1016 1016
 	 */
1017
-	public function is_original_request( $headers ) {
1018
-		if ( $headers['original-request'] === $headers['request-id'] ) {
1017
+	public function is_original_request($headers) {
1018
+		if ($headers['original-request'] === $headers['request-id']) {
1019 1019
 			return true;
1020 1020
 		}
1021 1021
 
@@ -1029,31 +1029,31 @@  discard block
 block discarded – undo
1029 1029
 	 * @param object   $prepared_source The source that is used for the payment.
1030 1030
 	 * @return array                    The arguments for the request.
1031 1031
 	 */
1032
-	public function generate_create_intent_request( $order, $prepared_source ) {
1032
+	public function generate_create_intent_request($order, $prepared_source) {
1033 1033
 		// The request for a charge contains metadata for the intent.
1034
-		$full_request = $this->generate_payment_request( $order, $prepared_source );
1034
+		$full_request = $this->generate_payment_request($order, $prepared_source);
1035 1035
 
1036 1036
 		$request = array(
1037 1037
 			'source'               => $prepared_source->source,
1038
-			'amount'               => WC_Stripe_Helper::get_stripe_amount( $order->get_total() ),
1039
-			'currency'             => strtolower( $order->get_currency() ),
1038
+			'amount'               => WC_Stripe_Helper::get_stripe_amount($order->get_total()),
1039
+			'currency'             => strtolower($order->get_currency()),
1040 1040
 			'description'          => $full_request['description'],
1041 1041
 			'metadata'             => $full_request['metadata'],
1042
-			'capture_method'       => ( 'true' === $full_request['capture'] ) ? 'automatic' : 'manual',
1042
+			'capture_method'       => ('true' === $full_request['capture']) ? 'automatic' : 'manual',
1043 1043
 			'payment_method_types' => array(
1044 1044
 				'card',
1045 1045
 			),
1046 1046
 		);
1047 1047
 
1048
-		if ( $prepared_source->customer ) {
1048
+		if ($prepared_source->customer) {
1049 1049
 			$request['customer'] = $prepared_source->customer;
1050 1050
 		}
1051 1051
 
1052
-		if ( isset( $full_request['statement_descriptor'] ) ) {
1052
+		if (isset($full_request['statement_descriptor'])) {
1053 1053
 			$request['statement_descriptor'] = $full_request['statement_descriptor'];
1054 1054
 		}
1055 1055
 
1056
-		if ( isset( $full_request['shipping'] ) ) {
1056
+		if (isset($full_request['shipping'])) {
1057 1057
 			$request['shipping'] = $full_request['shipping'];
1058 1058
 		}
1059 1059
 
@@ -1065,7 +1065,7 @@  discard block
 block discarded – undo
1065 1065
 		 * @param WC_Order $order
1066 1066
 		 * @param object $source
1067 1067
 		 */
1068
-		return apply_filters( 'wc_stripe_generate_create_intent_request', $request, $order, $prepared_source );
1068
+		return apply_filters('wc_stripe_generate_create_intent_request', $request, $order, $prepared_source);
1069 1069
 	}
1070 1070
 
1071 1071
 	/**
@@ -1074,21 +1074,21 @@  discard block
 block discarded – undo
1074 1074
 	 * @param WC_Order $order The order that is being paid for.
1075 1075
 	 * @return array          The level 3 data to send to Stripe.
1076 1076
 	 */
1077
-	public function get_level3_data_from_order( $order ) {
1077
+	public function get_level3_data_from_order($order) {
1078 1078
 		// Get the order items. Don't need their keys, only their values.
1079 1079
 		// Order item IDs are used as keys in the original order items array.
1080
-		$order_items = array_values( $order->get_items() );
1080
+		$order_items = array_values($order->get_items());
1081 1081
 		$currency    = $order->get_currency();
1082 1082
 
1083
-		$stripe_line_items = array_map(function( $item ) use ( $currency ) {
1083
+		$stripe_line_items = array_map(function($item) use ($currency) {
1084 1084
 			$product_id          = $item->get_variation_id()
1085 1085
 				? $item->get_variation_id()
1086 1086
 				: $item->get_product_id();
1087
-			$product_description = substr( $item->get_name(), 0, 26 );
1087
+			$product_description = substr($item->get_name(), 0, 26);
1088 1088
 			$quantity            = $item->get_quantity();
1089
-			$unit_cost           = WC_Stripe_Helper::get_stripe_amount( ( $item->get_subtotal() / $quantity ), $currency );
1090
-			$tax_amount          = WC_Stripe_Helper::get_stripe_amount( $item->get_total_tax(), $currency );
1091
-			$discount_amount     = WC_Stripe_Helper::get_stripe_amount( $item->get_subtotal() - $item->get_total(), $currency );
1089
+			$unit_cost           = WC_Stripe_Helper::get_stripe_amount(($item->get_subtotal() / $quantity), $currency);
1090
+			$tax_amount          = WC_Stripe_Helper::get_stripe_amount($item->get_total_tax(), $currency);
1091
+			$discount_amount     = WC_Stripe_Helper::get_stripe_amount($item->get_subtotal() - $item->get_total(), $currency);
1092 1092
 
1093 1093
 			return (object) array(
1094 1094
 				'product_code'        => (string) $product_id, // Up to 12 characters that uniquely identify the product.
@@ -1102,19 +1102,19 @@  discard block
 block discarded – undo
1102 1102
 
1103 1103
 		$level3_data = array(
1104 1104
 			'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”.
1105
-			'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.
1105
+			'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.
1106 1106
 			'line_items'           => $stripe_line_items,
1107 1107
 		);
1108 1108
 
1109 1109
 		// The customer’s U.S. shipping ZIP code.
1110 1110
 		$shipping_address_zip = $order->get_shipping_postcode();
1111
-		if ( $this->is_valid_us_zip_code( $shipping_address_zip ) ) {
1111
+		if ($this->is_valid_us_zip_code($shipping_address_zip)) {
1112 1112
 			$level3_data['shipping_address_zip'] = $shipping_address_zip;
1113 1113
 		}
1114 1114
 
1115 1115
 		// The merchant’s U.S. shipping ZIP code.
1116
-		$store_postcode = get_option( 'woocommerce_store_postcode' );
1117
-		if ( $this->is_valid_us_zip_code( $store_postcode ) ) {
1116
+		$store_postcode = get_option('woocommerce_store_postcode');
1117
+		if ($this->is_valid_us_zip_code($store_postcode)) {
1118 1118
 			$level3_data['shipping_from_zip'] = $store_postcode;
1119 1119
 		}
1120 1120
 
@@ -1128,20 +1128,20 @@  discard block
 block discarded – undo
1128 1128
 	 * @param object   $prepared_source The source that is used for the payment.
1129 1129
 	 * @return object                   An intent or an error.
1130 1130
 	 */
1131
-	public function create_intent( $order, $prepared_source ) {
1132
-		$request = $this->generate_create_intent_request( $order, $prepared_source );
1131
+	public function create_intent($order, $prepared_source) {
1132
+		$request = $this->generate_create_intent_request($order, $prepared_source);
1133 1133
 
1134 1134
 		// Create an intent that awaits an action.
1135
-		$intent = WC_Stripe_API::request( $request, 'payment_intents' );
1136
-		if ( ! empty( $intent->error ) ) {
1135
+		$intent = WC_Stripe_API::request($request, 'payment_intents');
1136
+		if ( ! empty($intent->error)) {
1137 1137
 			return $intent;
1138 1138
 		}
1139 1139
 
1140 1140
 		$order_id = $order->get_id();
1141
-		WC_Stripe_Logger::log( "Stripe PaymentIntent $intent->id initiated for order $order_id" );
1141
+		WC_Stripe_Logger::log("Stripe PaymentIntent $intent->id initiated for order $order_id");
1142 1142
 
1143 1143
 		// Save the intent ID to the order.
1144
-		$this->save_intent_to_order( $order, $intent );
1144
+		$this->save_intent_to_order($order, $intent);
1145 1145
 
1146 1146
 		return $intent;
1147 1147
 	}
@@ -1154,33 +1154,33 @@  discard block
 block discarded – undo
1154 1154
 	 * @param object   $prepared_source Currently selected source.
1155 1155
 	 * @return object                   An updated intent.
1156 1156
 	 */
1157
-	public function update_existing_intent( $intent, $order, $prepared_source ) {
1157
+	public function update_existing_intent($intent, $order, $prepared_source) {
1158 1158
 		$request = array();
1159 1159
 
1160
-		if ( $prepared_source->source !== $intent->source ) {
1160
+		if ($prepared_source->source !== $intent->source) {
1161 1161
 			$request['source'] = $prepared_source->source;
1162 1162
 		}
1163 1163
 
1164
-		$new_amount = WC_Stripe_Helper::get_stripe_amount( $order->get_total() );
1165
-		if ( $intent->amount !== $new_amount ) {
1164
+		$new_amount = WC_Stripe_Helper::get_stripe_amount($order->get_total());
1165
+		if ($intent->amount !== $new_amount) {
1166 1166
 			$request['amount'] = $new_amount;
1167 1167
 		}
1168 1168
 
1169
-		if ( $prepared_source->customer && $intent->customer !== $prepared_source->customer ) {
1169
+		if ($prepared_source->customer && $intent->customer !== $prepared_source->customer) {
1170 1170
 			$request['customer'] = $prepared_source->customer;
1171 1171
 		}
1172 1172
 
1173
-		if ( $this->has_subscription( $order ) ) {
1173
+		if ($this->has_subscription($order)) {
1174 1174
 			// If this is a failed subscription order payment, the intent should be
1175 1175
 			// prepared for future usage.
1176 1176
 			$request['setup_future_usage'] = 'off_session';
1177 1177
 		}
1178 1178
 
1179
-		if ( empty( $request ) ) {
1179
+		if (empty($request)) {
1180 1180
 			return $intent;
1181 1181
 		}
1182 1182
 
1183
-		$level3_data = $this->get_level3_data_from_order( $order );
1183
+		$level3_data = $this->get_level3_data_from_order($order);
1184 1184
 		return WC_Stripe_API::request_with_level3_data(
1185 1185
 			$request,
1186 1186
 			"payment_intents/$intent->id",
@@ -1198,8 +1198,8 @@  discard block
 block discarded – undo
1198 1198
 	 * @param object   $prepared_source The source that is being charged.
1199 1199
 	 * @return object                   Either an error or the updated intent.
1200 1200
 	 */
1201
-	public function confirm_intent( $intent, $order, $prepared_source ) {
1202
-		if ( 'requires_confirmation' !== $intent->status ) {
1201
+	public function confirm_intent($intent, $order, $prepared_source) {
1202
+		if ('requires_confirmation' !== $intent->status) {
1203 1203
 			return $intent;
1204 1204
 		}
1205 1205
 
@@ -1208,7 +1208,7 @@  discard block
 block discarded – undo
1208 1208
 			'source' => $prepared_source->source,
1209 1209
 		);
1210 1210
 
1211
-		$level3_data = $this->get_level3_data_from_order( $order );
1211
+		$level3_data = $this->get_level3_data_from_order($order);
1212 1212
 		$confirmed_intent = WC_Stripe_API::request_with_level3_data(
1213 1213
 			$confirm_request,
1214 1214
 			"payment_intents/$intent->id/confirm",
@@ -1216,16 +1216,16 @@  discard block
 block discarded – undo
1216 1216
 			$order
1217 1217
 		);
1218 1218
 
1219
-		if ( ! empty( $confirmed_intent->error ) ) {
1219
+		if ( ! empty($confirmed_intent->error)) {
1220 1220
 			return $confirmed_intent;
1221 1221
 		}
1222 1222
 
1223 1223
 		// Save a note about the status of the intent.
1224 1224
 		$order_id = $order->get_id();
1225
-		if ( 'succeeded' === $confirmed_intent->status ) {
1226
-			WC_Stripe_Logger::log( "Stripe PaymentIntent $intent->id succeeded for order $order_id" );
1227
-		} elseif ( 'requires_action' === $confirmed_intent->status ) {
1228
-			WC_Stripe_Logger::log( "Stripe PaymentIntent $intent->id requires authentication for order $order_id" );
1225
+		if ('succeeded' === $confirmed_intent->status) {
1226
+			WC_Stripe_Logger::log("Stripe PaymentIntent $intent->id succeeded for order $order_id");
1227
+		} elseif ('requires_action' === $confirmed_intent->status) {
1228
+			WC_Stripe_Logger::log("Stripe PaymentIntent $intent->id requires authentication for order $order_id");
1229 1229
 		}
1230 1230
 
1231 1231
 		return $confirmed_intent;
@@ -1238,10 +1238,10 @@  discard block
 block discarded – undo
1238 1238
 	 * @param WC_Order $order For to which the source applies.
1239 1239
 	 * @param stdClass $intent Payment intent information.
1240 1240
 	 */
1241
-	public function save_intent_to_order( $order, $intent ) {
1242
-		$order->update_meta_data( '_stripe_intent_id', $intent->id );
1241
+	public function save_intent_to_order($order, $intent) {
1242
+		$order->update_meta_data('_stripe_intent_id', $intent->id);
1243 1243
 
1244
-		if ( is_callable( array( $order, 'save' ) ) ) {
1244
+		if (is_callable(array($order, 'save'))) {
1245 1245
 			$order->save();
1246 1246
 		}
1247 1247
 	}
@@ -1253,18 +1253,18 @@  discard block
 block discarded – undo
1253 1253
 	 * @param WC_Order $order The order to retrieve an intent for.
1254 1254
 	 * @return obect|bool     Either the intent object or `false`.
1255 1255
 	 */
1256
-	public function get_intent_from_order( $order ) {
1257
-		$intent_id = $order->get_meta( '_stripe_intent_id' );
1256
+	public function get_intent_from_order($order) {
1257
+		$intent_id = $order->get_meta('_stripe_intent_id');
1258 1258
 
1259
-		if ( $intent_id ) {
1260
-			return $this->get_intent( 'payment_intents', $intent_id );
1259
+		if ($intent_id) {
1260
+			return $this->get_intent('payment_intents', $intent_id);
1261 1261
 		}
1262 1262
 
1263 1263
 		// The order doesn't have a payment intent, but it may have a setup intent.
1264
-		$intent_id = $order->get_meta( '_stripe_setup_intent' );
1264
+		$intent_id = $order->get_meta('_stripe_setup_intent');
1265 1265
 
1266
-		if ( $intent_id ) {
1267
-			return $this->get_intent( 'setup_intents', $intent_id );
1266
+		if ($intent_id) {
1267
+			return $this->get_intent('setup_intents', $intent_id);
1268 1268
 		}
1269 1269
 
1270 1270
 		return false;
@@ -1278,15 +1278,15 @@  discard block
 block discarded – undo
1278 1278
 	 * @return object|bool 			Either the intent object or `false`.
1279 1279
 	 * @throws Exception 			Throws exception for unknown $intent_type.
1280 1280
 	 */
1281
-	private function get_intent( $intent_type, $intent_id ) {
1282
-		if ( ! in_array( $intent_type, [ 'payment_intents', 'setup_intents' ] ) ) {
1283
-			throw new Exception( "Failed to get intent of type $intent_type. Type is not allowed" );
1281
+	private function get_intent($intent_type, $intent_id) {
1282
+		if ( ! in_array($intent_type, ['payment_intents', 'setup_intents'])) {
1283
+			throw new Exception("Failed to get intent of type $intent_type. Type is not allowed");
1284 1284
 		}
1285 1285
 
1286
-		$response = WC_Stripe_API::request( array(), "$intent_type/$intent_id", 'GET' );
1286
+		$response = WC_Stripe_API::request(array(), "$intent_type/$intent_id", 'GET');
1287 1287
 
1288
-		if ( $response && isset( $response->{ 'error' } ) ) {
1289
-			$error_response_message = print_r( $response, true );
1288
+		if ($response && isset($response->{ 'error' } )) {
1289
+			$error_response_message = print_r($response, true);
1290 1290
 			WC_Stripe_Logger::log("Failed to get Stripe intent $intent_type/$intent_id.");
1291 1291
 			WC_Stripe_Logger::log("Response: $error_response_message");
1292 1292
 			return false;
@@ -1303,18 +1303,18 @@  discard block
 block discarded – undo
1303 1303
 	 * @param stdClass $intent The intent that is being processed.
1304 1304
 	 * @return bool            A flag that indicates whether the order is already locked.
1305 1305
 	 */
1306
-	public function lock_order_payment( $order, $intent = null ) {
1306
+	public function lock_order_payment($order, $intent = null) {
1307 1307
 		$order_id       = $order->get_id();
1308 1308
 		$transient_name = 'wc_stripe_processing_intent_' . $order_id;
1309
-		$processing     = get_transient( $transient_name );
1309
+		$processing     = get_transient($transient_name);
1310 1310
 
1311 1311
 		// Block the process if the same intent is already being handled.
1312
-		if ( "-1" === $processing || ( isset( $intent->id ) && $processing === $intent->id ) ) {
1312
+		if ("-1" === $processing || (isset($intent->id) && $processing === $intent->id)) {
1313 1313
 			return true;
1314 1314
 		}
1315 1315
 
1316 1316
 		// Save the new intent as a transient, eventually overwriting another one.
1317
-		set_transient( $transient_name, empty( $intent ) ? '-1' : $intent->id, 5 * MINUTE_IN_SECONDS );
1317
+		set_transient($transient_name, empty($intent) ? '-1' : $intent->id, 5 * MINUTE_IN_SECONDS);
1318 1318
 
1319 1319
 		return false;
1320 1320
 	}
@@ -1325,9 +1325,9 @@  discard block
 block discarded – undo
1325 1325
 	 * @since 4.2
1326 1326
 	 * @param WC_Order $order The order that is being unlocked.
1327 1327
 	 */
1328
-	public function unlock_order_payment( $order ) {
1328
+	public function unlock_order_payment($order) {
1329 1329
 		$order_id = $order->get_id();
1330
-		delete_transient( 'wc_stripe_processing_intent_' . $order_id );
1330
+		delete_transient('wc_stripe_processing_intent_' . $order_id);
1331 1331
 	}
1332 1332
 
1333 1333
 	/**
@@ -1337,9 +1337,9 @@  discard block
 block discarded – undo
1337 1337
 	 * @param object $response The response from Stripe.
1338 1338
 	 * @return boolean Whether or not it's a 'authentication_required' error
1339 1339
 	 */
1340
-	public function is_authentication_required_for_payment( $response ) {
1341
-		return ( ! empty( $response->error ) && 'authentication_required' === $response->error->code )
1342
-			|| ( ! empty( $response->last_payment_error ) && 'authentication_required' === $response->last_payment_error->code );
1340
+	public function is_authentication_required_for_payment($response) {
1341
+		return ( ! empty($response->error) && 'authentication_required' === $response->error->code)
1342
+			|| ( ! empty($response->last_payment_error) && 'authentication_required' === $response->last_payment_error->code);
1343 1343
 	}
1344 1344
 
1345 1345
 	/**
@@ -1349,18 +1349,18 @@  discard block
 block discarded – undo
1349 1349
 	 * @param object   $prepared_source The source, entered/chosen by the customer.
1350 1350
 	 * @return string                   The client secret of the intent, used for confirmation in JS.
1351 1351
 	 */
1352
-	public function setup_intent( $order, $prepared_source ) {
1352
+	public function setup_intent($order, $prepared_source) {
1353 1353
 		$order_id     = $order->get_id();
1354
-		$setup_intent = WC_Stripe_API::request( array(
1354
+		$setup_intent = WC_Stripe_API::request(array(
1355 1355
 			'payment_method' => $prepared_source->source,
1356 1356
 			'customer'       => $prepared_source->customer,
1357 1357
 			'confirm'        => 'true',
1358
-		), 'setup_intents' );
1358
+		), 'setup_intents');
1359 1359
 
1360
-		if ( is_wp_error( $setup_intent ) ) {
1361
-			WC_Stripe_Logger::log( "Unable to create SetupIntent for Order #$order_id: " . print_r( $setup_intent, true ) );
1362
-		} elseif ( 'requires_action' === $setup_intent->status ) {
1363
-			$order->update_meta_data( '_stripe_setup_intent', $setup_intent->id );
1360
+		if (is_wp_error($setup_intent)) {
1361
+			WC_Stripe_Logger::log("Unable to create SetupIntent for Order #$order_id: " . print_r($setup_intent, true));
1362
+		} elseif ('requires_action' === $setup_intent->status) {
1363
+			$order->update_meta_data('_stripe_setup_intent', $setup_intent->id);
1364 1364
 			$order->save();
1365 1365
 
1366 1366
 			return $setup_intent->client_secret;
@@ -1375,12 +1375,12 @@  discard block
 block discarded – undo
1375 1375
 	 * @param float    $amount          The amount to charge. If not specified, it will be read from the order.
1376 1376
 	 * @return object                   An intent or an error.
1377 1377
 	 */
1378
-	public function create_and_confirm_intent_for_off_session( $order, $prepared_source, $amount = NULL ) {
1378
+	public function create_and_confirm_intent_for_off_session($order, $prepared_source, $amount = NULL) {
1379 1379
 		// The request for a charge contains metadata for the intent.
1380
-		$full_request = $this->generate_payment_request( $order, $prepared_source );
1380
+		$full_request = $this->generate_payment_request($order, $prepared_source);
1381 1381
 
1382 1382
 		$request = array(
1383
-			'amount'               => $amount ? WC_Stripe_Helper::get_stripe_amount( $amount, $full_request['currency'] ) : $full_request['amount'],
1383
+			'amount'               => $amount ? WC_Stripe_Helper::get_stripe_amount($amount, $full_request['currency']) : $full_request['amount'],
1384 1384
 			'currency'             => $full_request['currency'],
1385 1385
 			'description'          => $full_request['description'],
1386 1386
 			'metadata'             => $full_request['metadata'],
@@ -1392,17 +1392,17 @@  discard block
 block discarded – undo
1392 1392
 			'confirmation_method'  => 'automatic',
1393 1393
 		);
1394 1394
 
1395
-		if ( isset( $full_request['statement_descriptor'] ) ) {
1395
+		if (isset($full_request['statement_descriptor'])) {
1396 1396
 			$request['statement_descriptor'] = $full_request['statement_descriptor'];
1397 1397
 		}
1398 1398
 
1399
-		if ( isset( $full_request['customer'] ) ) {
1399
+		if (isset($full_request['customer'])) {
1400 1400
 			$request['customer'] = $full_request['customer'];
1401 1401
 		}
1402 1402
 
1403
-		if ( isset( $full_request['source'] ) ) {
1404
-			$is_source = 'src_' === substr( $full_request['source'], 0, 4 );
1405
-			$request[ $is_source ? 'source' : 'payment_method' ] = $full_request['source'];
1403
+		if (isset($full_request['source'])) {
1404
+			$is_source = 'src_' === substr($full_request['source'], 0, 4);
1405
+			$request[$is_source ? 'source' : 'payment_method'] = $full_request['source'];
1406 1406
 		}
1407 1407
 
1408 1408
 		/**
@@ -1413,38 +1413,38 @@  discard block
 block discarded – undo
1413 1413
 		 * @param WC_Order $order
1414 1414
 		 * @param object $source
1415 1415
 		 */
1416
-		$request = apply_filters('wc_stripe_generate_create_intent_request', $request, $order, $prepared_source );
1416
+		$request = apply_filters('wc_stripe_generate_create_intent_request', $request, $order, $prepared_source);
1417 1417
 
1418
-		if ( isset( $full_request['shipping'] ) ) {
1418
+		if (isset($full_request['shipping'])) {
1419 1419
 			$request['shipping'] = $full_request['shipping'];
1420 1420
 		}
1421 1421
 
1422
-		$level3_data = $this->get_level3_data_from_order( $order );
1422
+		$level3_data = $this->get_level3_data_from_order($order);
1423 1423
 		$intent = WC_Stripe_API::request_with_level3_data(
1424 1424
 			$request,
1425 1425
 			'payment_intents',
1426 1426
 			$level3_data,
1427 1427
 			$order
1428 1428
 		);
1429
-		$is_authentication_required = $this->is_authentication_required_for_payment( $intent );
1429
+		$is_authentication_required = $this->is_authentication_required_for_payment($intent);
1430 1430
 
1431
-		if ( ! empty( $intent->error ) && ! $is_authentication_required ) {
1431
+		if ( ! empty($intent->error) && ! $is_authentication_required) {
1432 1432
 			return $intent;
1433 1433
 		}
1434 1434
 
1435
-		$intent_id      = ( ! empty( $intent->error )
1435
+		$intent_id = ( ! empty($intent->error)
1436 1436
 			? $intent->error->payment_intent->id
1437 1437
 			: $intent->id
1438 1438
 		);
1439
-		$payment_intent = ( ! empty( $intent->error )
1439
+		$payment_intent = ( ! empty($intent->error)
1440 1440
 			? $intent->error->payment_intent
1441 1441
 			: $intent
1442 1442
 		);
1443
-		$order_id       = $order->get_id();
1444
-		WC_Stripe_Logger::log( "Stripe PaymentIntent $intent_id initiated for order $order_id" );
1443
+		$order_id = $order->get_id();
1444
+		WC_Stripe_Logger::log("Stripe PaymentIntent $intent_id initiated for order $order_id");
1445 1445
 
1446 1446
 		// Save the intent ID to the order.
1447
-		$this->save_intent_to_order( $order, $payment_intent );
1447
+		$this->save_intent_to_order($order, $payment_intent);
1448 1448
 
1449 1449
 		return $intent;
1450 1450
 	}
@@ -1455,13 +1455,13 @@  discard block
 block discarded – undo
1455 1455
 	 * Fix renewal for existing subscriptions affected by https://github.com/woocommerce/woocommerce-gateway-stripe/issues/1072.
1456 1456
 	 * @param int $order_id subscription renewal order id.
1457 1457
 	 */
1458
-	public function ensure_subscription_has_customer_id( $order_id ) {
1459
-		$subscriptions_ids = wcs_get_subscriptions_for_order( $order_id, array( 'order_type' => 'any' ) );
1460
-		foreach( $subscriptions_ids as $subscription_id => $subscription ) {
1461
-			if ( ! metadata_exists( 'post', $subscription_id, '_stripe_customer_id' ) ) {
1462
-				$stripe_customer = new WC_Stripe_Customer( $subscription->get_user_id() );
1463
-				update_post_meta( $subscription_id, '_stripe_customer_id', $stripe_customer->get_id() );
1464
-				update_post_meta( $order_id, '_stripe_customer_id', $stripe_customer->get_id() );
1458
+	public function ensure_subscription_has_customer_id($order_id) {
1459
+		$subscriptions_ids = wcs_get_subscriptions_for_order($order_id, array('order_type' => 'any'));
1460
+		foreach ($subscriptions_ids as $subscription_id => $subscription) {
1461
+			if ( ! metadata_exists('post', $subscription_id, '_stripe_customer_id')) {
1462
+				$stripe_customer = new WC_Stripe_Customer($subscription->get_user_id());
1463
+				update_post_meta($subscription_id, '_stripe_customer_id', $stripe_customer->get_id());
1464
+				update_post_meta($order_id, '_stripe_customer_id', $stripe_customer->get_id());
1465 1465
 			}
1466 1466
 		}
1467 1467
 	}
@@ -1471,7 +1471,7 @@  discard block
 block discarded – undo
1471 1471
 	 * @param string $zip The ZIP code to verify.
1472 1472
 	 * @return boolean
1473 1473
 	 */
1474
-	public function is_valid_us_zip_code( $zip ) {
1475
-		return ! empty( $zip ) && preg_match( '/^\d{5,5}(-\d{4,4})?$/', $zip );
1474
+	public function is_valid_us_zip_code($zip) {
1475
+		return ! empty($zip) && preg_match('/^\d{5,5}(-\d{4,4})?$/', $zip);
1476 1476
 	}
1477 1477
 }
Please login to merge, or discard this patch.