Completed
Push — master ( 43caad...92ff09 )
by Marcin
01:44
created
includes/compat/class-wc-stripe-subs-compat.php 1 patch
Spacing   +200 added lines, -200 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
 
@@ -15,21 +15,21 @@  discard block
 block discarded – undo
15 15
 	public function __construct() {
16 16
 		parent::__construct();
17 17
 
18
-		if ( class_exists( 'WC_Subscriptions_Order' ) ) {
19
-			add_action( 'woocommerce_scheduled_subscription_payment_' . $this->id, array( $this, 'scheduled_subscription_payment' ), 10, 2 );
20
-			add_action( 'wcs_resubscribe_order_created', array( $this, 'delete_resubscribe_meta' ), 10 );
21
-			add_action( 'wcs_renewal_order_created', array( $this, 'delete_renewal_meta' ), 10 );
22
-			add_action( 'woocommerce_subscription_failing_payment_method_updated_stripe', array( $this, 'update_failing_payment_method' ), 10, 2 );
23
-			add_action( 'wc_stripe_cards_payment_fields', array( $this, 'display_update_subs_payment_checkout' ) );
24
-			add_action( 'wc_stripe_add_payment_method_' . $this->id . '_success', array( $this, 'handle_add_payment_method_success' ), 10, 2 );
18
+		if (class_exists('WC_Subscriptions_Order')) {
19
+			add_action('woocommerce_scheduled_subscription_payment_' . $this->id, array($this, 'scheduled_subscription_payment'), 10, 2);
20
+			add_action('wcs_resubscribe_order_created', array($this, 'delete_resubscribe_meta'), 10);
21
+			add_action('wcs_renewal_order_created', array($this, 'delete_renewal_meta'), 10);
22
+			add_action('woocommerce_subscription_failing_payment_method_updated_stripe', array($this, 'update_failing_payment_method'), 10, 2);
23
+			add_action('wc_stripe_cards_payment_fields', array($this, 'display_update_subs_payment_checkout'));
24
+			add_action('wc_stripe_add_payment_method_' . $this->id . '_success', array($this, 'handle_add_payment_method_success'), 10, 2);
25 25
 
26 26
 			// display the credit card used for a subscription in the "My Subscriptions" table
27
-			add_filter( 'woocommerce_my_subscriptions_payment_method', array( $this, 'maybe_render_subscription_payment_method' ), 10, 2 );
27
+			add_filter('woocommerce_my_subscriptions_payment_method', array($this, 'maybe_render_subscription_payment_method'), 10, 2);
28 28
 
29 29
 			// allow store managers to manually set Stripe as the payment method on a subscription
30
-			add_filter( 'woocommerce_subscription_payment_meta', array( $this, 'add_subscription_payment_meta' ), 10, 2 );
31
-			add_filter( 'woocommerce_subscription_validate_payment_meta', array( $this, 'validate_subscription_payment_meta' ), 10, 2 );
32
-			add_filter( 'wc_stripe_display_save_payment_method_checkbox', array( $this, 'maybe_hide_save_checkbox' ) );
30
+			add_filter('woocommerce_subscription_payment_meta', array($this, 'add_subscription_payment_meta'), 10, 2);
31
+			add_filter('woocommerce_subscription_validate_payment_meta', array($this, 'validate_subscription_payment_meta'), 10, 2);
32
+			add_filter('wc_stripe_display_save_payment_method_checkbox', array($this, 'maybe_hide_save_checkbox'));
33 33
 
34 34
 			/*
35 35
 			 * WC subscriptions hooks into the "template_redirect" hook with priority 100.
@@ -37,8 +37,8 @@  discard block
 block discarded – undo
37 37
 			 * See: https://github.com/woocommerce/woocommerce-subscriptions/blob/99a75687e109b64cbc07af6e5518458a6305f366/includes/class-wcs-cart-renewal.php#L165
38 38
 			 * If we are in the "You just need to authorize SCA" flow, we don't want that redirection to happen.
39 39
 			 */
40
-			add_action( 'template_redirect', array( $this, 'remove_order_pay_var' ), 99 );
41
-			add_action( 'template_redirect', array( $this, 'restore_order_pay_var' ), 101 );
40
+			add_action('template_redirect', array($this, 'remove_order_pay_var'), 99);
41
+			add_action('template_redirect', array($this, 'restore_order_pay_var'), 101);
42 42
 		}
43 43
 	}
44 44
 
@@ -49,8 +49,8 @@  discard block
 block discarded – undo
49 49
 	 * @since 4.0.0
50 50
 	 * @version 4.0.0
51 51
 	 */
52
-	public function maybe_hide_save_checkbox( $display_tokenization ) {
53
-		if ( WC_Subscriptions_Cart::cart_contains_subscription() ) {
52
+	public function maybe_hide_save_checkbox($display_tokenization) {
53
+		if (WC_Subscriptions_Cart::cart_contains_subscription()) {
54 54
 			return false;
55 55
 		}
56 56
 
@@ -62,8 +62,8 @@  discard block
 block discarded – undo
62 62
 	 * @param  int  $order_id
63 63
 	 * @return boolean
64 64
 	 */
65
-	public function has_subscription( $order_id ) {
66
-		return ( function_exists( 'wcs_order_contains_subscription' ) && ( wcs_order_contains_subscription( $order_id ) || wcs_is_subscription( $order_id ) || wcs_order_contains_renewal( $order_id ) ) );
65
+	public function has_subscription($order_id) {
66
+		return (function_exists('wcs_order_contains_subscription') && (wcs_order_contains_subscription($order_id) || wcs_is_subscription($order_id) || wcs_order_contains_renewal($order_id)));
67 67
 	}
68 68
 
69 69
 	/**
@@ -73,7 +73,7 @@  discard block
 block discarded – undo
73 73
 	 * @return bool
74 74
 	 */
75 75
 	public function is_subs_change_payment() {
76
-		return ( isset( $_GET['pay_for_order'] ) && isset( $_GET['change_payment_method'] ) );
76
+		return (isset($_GET['pay_for_order']) && isset($_GET['change_payment_method']));
77 77
 	}
78 78
 
79 79
 	/**
@@ -83,20 +83,20 @@  discard block
 block discarded – undo
83 83
 	 * @since 4.1.11
84 84
 	 */
85 85
 	public function display_update_subs_payment_checkout() {
86
-		$subs_statuses = apply_filters( 'wc_stripe_update_subs_payment_method_card_statuses', array( 'active' ) );
86
+		$subs_statuses = apply_filters('wc_stripe_update_subs_payment_method_card_statuses', array('active'));
87 87
 		if (
88
-			apply_filters( 'wc_stripe_display_update_subs_payment_method_card_checkbox', true ) &&
89
-			wcs_user_has_subscription( get_current_user_id(), '', $subs_statuses ) &&
88
+			apply_filters('wc_stripe_display_update_subs_payment_method_card_checkbox', true) &&
89
+			wcs_user_has_subscription(get_current_user_id(), '', $subs_statuses) &&
90 90
 			is_add_payment_method_page()
91 91
 		) {
92
-			$label = esc_html( apply_filters( 'wc_stripe_save_to_subs_text', __( 'Update the Payment Method used for all of my active subscriptions.', 'woocommerce-gateway-stripe' ) ) );
93
-			$id    = sprintf( 'wc-%1$s-update-subs-payment-method-card', $this->id );
92
+			$label = esc_html(apply_filters('wc_stripe_save_to_subs_text', __('Update the Payment Method used for all of my active subscriptions.', 'woocommerce-gateway-stripe')));
93
+			$id    = sprintf('wc-%1$s-update-subs-payment-method-card', $this->id);
94 94
 			woocommerce_form_field(
95 95
 				$id,
96 96
 				array(
97 97
 					'type'    => 'checkbox',
98 98
 					'label'   => $label,
99
-					'default' => apply_filters( 'wc_stripe_save_to_subs_checked', false ),
99
+					'default' => apply_filters('wc_stripe_save_to_subs_checked', false),
100 100
 				)
101 101
 			);
102 102
 		}
@@ -109,22 +109,22 @@  discard block
 block discarded – undo
109 109
 	 * @param string $source_id
110 110
 	 * @param object $source_object
111 111
 	 */
112
-	public function handle_add_payment_method_success( $source_id, $source_object ) {
113
-		if ( isset( $_POST[ 'wc-' . $this->id . '-update-subs-payment-method-card' ] ) ) {
112
+	public function handle_add_payment_method_success($source_id, $source_object) {
113
+		if (isset($_POST['wc-' . $this->id . '-update-subs-payment-method-card'])) {
114 114
 			$all_subs        = wcs_get_users_subscriptions();
115
-			$subs_statuses   = apply_filters( 'wc_stripe_update_subs_payment_method_card_statuses', array( 'active' ) );
116
-			$stripe_customer = new WC_Stripe_Customer( get_current_user_id() );
115
+			$subs_statuses   = apply_filters('wc_stripe_update_subs_payment_method_card_statuses', array('active'));
116
+			$stripe_customer = new WC_Stripe_Customer(get_current_user_id());
117 117
 
118
-			if ( ! empty( $all_subs ) ) {
119
-				foreach ( $all_subs as $sub ) {
120
-					if ( $sub->has_status( $subs_statuses ) ) {
118
+			if ( ! empty($all_subs)) {
119
+				foreach ($all_subs as $sub) {
120
+					if ($sub->has_status($subs_statuses)) {
121 121
 						WC_Subscriptions_Change_Payment_Gateway::update_payment_method(
122 122
 							$sub,
123 123
 							$this->id,
124 124
 							array(
125 125
 								'post_meta' => array(
126
-									'_stripe_source_id' => array( 'value' => $source_id ),
127
-									'_stripe_customer_id' => array( 'value' => $stripe_customer->get_id() ),
126
+									'_stripe_source_id' => array('value' => $source_id),
127
+									'_stripe_customer_id' => array('value' => $stripe_customer->get_id()),
128 128
 								),
129 129
 							)
130 130
 						);
@@ -141,24 +141,24 @@  discard block
 block discarded – undo
141 141
 	 * @since 4.1.11 Remove 3DS check as it is not needed.
142 142
 	 * @param int $order_id
143 143
 	 */
144
-	public function change_subs_payment_method( $order_id ) {
144
+	public function change_subs_payment_method($order_id) {
145 145
 		try {
146
-			$subscription    = wc_get_order( $order_id );
147
-			$prepared_source = $this->prepare_source( get_current_user_id(), true );
146
+			$subscription    = wc_get_order($order_id);
147
+			$prepared_source = $this->prepare_source(get_current_user_id(), true);
148 148
 
149
-			$this->maybe_disallow_prepaid_card( $prepared_source );
150
-			$this->check_source( $prepared_source );
151
-			$this->save_source_to_order( $subscription, $prepared_source );
149
+			$this->maybe_disallow_prepaid_card($prepared_source);
150
+			$this->check_source($prepared_source);
151
+			$this->save_source_to_order($subscription, $prepared_source);
152 152
 
153
-			do_action( 'wc_stripe_change_subs_payment_method_success', $prepared_source->source, $prepared_source );
153
+			do_action('wc_stripe_change_subs_payment_method_success', $prepared_source->source, $prepared_source);
154 154
 
155 155
 			return array(
156 156
 				'result'   => 'success',
157
-				'redirect' => $this->get_return_url( $subscription ),
157
+				'redirect' => $this->get_return_url($subscription),
158 158
 			);
159
-		} catch ( WC_Stripe_Exception $e ) {
160
-			wc_add_notice( $e->getLocalizedMessage(), 'error' );
161
-			WC_Stripe_Logger::log( 'Error: ' . $e->getMessage() );
159
+		} catch (WC_Stripe_Exception $e) {
160
+			wc_add_notice($e->getLocalizedMessage(), 'error');
161
+			WC_Stripe_Logger::log('Error: ' . $e->getMessage());
162 162
 		}
163 163
 	}
164 164
 
@@ -167,16 +167,16 @@  discard block
 block discarded – undo
167 167
 	 * @param  int $order_id
168 168
 	 * @return array
169 169
 	 */
170
-	public function process_payment( $order_id, $retry = true, $force_save_source = false, $previous_error = false, $use_order_source = false ) {
171
-		if ( $this->has_subscription( $order_id ) ) {
172
-			if ( $this->is_subs_change_payment() ) {
173
-				return $this->change_subs_payment_method( $order_id );
170
+	public function process_payment($order_id, $retry = true, $force_save_source = false, $previous_error = false, $use_order_source = false) {
171
+		if ($this->has_subscription($order_id)) {
172
+			if ($this->is_subs_change_payment()) {
173
+				return $this->change_subs_payment_method($order_id);
174 174
 			}
175 175
 
176 176
 			// Regular payment with force customer enabled
177
-			return parent::process_payment( $order_id, $retry, true, $previous_error, $use_order_source );
177
+			return parent::process_payment($order_id, $retry, true, $previous_error, $use_order_source);
178 178
 		} else {
179
-			return parent::process_payment( $order_id, $retry, $force_save_source, $previous_error, $use_order_source );
179
+			return parent::process_payment($order_id, $retry, $force_save_source, $previous_error, $use_order_source);
180 180
 		}
181 181
 	}
182 182
 
@@ -188,11 +188,11 @@  discard block
 block discarded – undo
188 188
 	 * @param object   $prepared_source The source that is used for the payment.
189 189
 	 * @return array                    The arguments for the request.
190 190
 	 */
191
-	public function generate_create_intent_request( $order, $prepared_source ) {
192
-		$request = parent::generate_create_intent_request( $order, $prepared_source );
191
+	public function generate_create_intent_request($order, $prepared_source) {
192
+		$request = parent::generate_create_intent_request($order, $prepared_source);
193 193
 
194 194
 		// Non-subscription orders do not need any additional parameters.
195
-		if ( ! $this->has_subscription( $order ) ) {
195
+		if ( ! $this->has_subscription($order)) {
196 196
 			return $request;
197 197
 		}
198 198
 
@@ -208,8 +208,8 @@  discard block
 block discarded – undo
208 208
 	 * @param $amount_to_charge float The amount to charge.
209 209
 	 * @param $renewal_order WC_Order A WC_Order object created to record the renewal payment.
210 210
 	 */
211
-	public function scheduled_subscription_payment( $amount_to_charge, $renewal_order ) {
212
-		$this->process_subscription_payment( $amount_to_charge, $renewal_order, true, false );
211
+	public function scheduled_subscription_payment($amount_to_charge, $renewal_order) {
212
+		$this->process_subscription_payment($amount_to_charge, $renewal_order, true, false);
213 213
 	}
214 214
 
215 215
 	/**
@@ -223,11 +223,11 @@  discard block
 block discarded – undo
223 223
 	 * @param bool $retry Should we retry the process?
224 224
 	 * @param object $previous_error
225 225
 	 */
226
-	public function process_subscription_payment( $amount, $renewal_order, $retry = true, $previous_error = false ) {
226
+	public function process_subscription_payment($amount, $renewal_order, $retry = true, $previous_error = false) {
227 227
 		try {
228
-			if ( $amount * 100 < WC_Stripe_Helper::get_minimum_amount() ) {
228
+			if ($amount * 100 < WC_Stripe_Helper::get_minimum_amount()) {
229 229
 				/* translators: minimum amount */
230
-				$message = 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 ) );
230
+				$message = 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));
231 231
 				throw new WC_Stripe_Exception(
232 232
 					'Error while processing renewal order ' . $renewal_order->get_id() . ' : ' . $message,
233 233
 					$message
@@ -236,141 +236,141 @@  discard block
 block discarded – undo
236 236
 
237 237
 			$order_id = $renewal_order->get_id();
238 238
 
239
-			$this->ensure_subscription_has_customer_id( $order_id );
239
+			$this->ensure_subscription_has_customer_id($order_id);
240 240
 
241 241
 			// Unlike regular off-session subscription payments, early renewals are treated as on-session payments, involving the customer.
242
-			if ( isset( $_REQUEST['process_early_renewal'] ) ) { // wpcs: csrf ok.
243
-				$response = parent::process_payment( $order_id, true, false, $previous_error, true );
242
+			if (isset($_REQUEST['process_early_renewal'])) { // wpcs: csrf ok.
243
+				$response = parent::process_payment($order_id, true, false, $previous_error, true);
244 244
 
245
-				if( 'success' === $response['result'] && isset( $response['payment_intent_secret'] ) ) {
245
+				if ('success' === $response['result'] && isset($response['payment_intent_secret'])) {
246 246
 					$verification_url = add_query_arg(
247 247
 						array(
248 248
 							'order'         => $order_id,
249
-							'nonce'         => wp_create_nonce( 'wc_stripe_confirm_pi' ),
250
-							'redirect_to'   => remove_query_arg( array( 'process_early_renewal', 'subscription_id', 'wcs_nonce' ) ),
249
+							'nonce'         => wp_create_nonce('wc_stripe_confirm_pi'),
250
+							'redirect_to'   => remove_query_arg(array('process_early_renewal', 'subscription_id', 'wcs_nonce')),
251 251
 							'early_renewal' => true,
252 252
 						),
253
-						WC_AJAX::get_endpoint( 'wc_stripe_verify_intent' )
253
+						WC_AJAX::get_endpoint('wc_stripe_verify_intent')
254 254
 					);
255 255
 
256
-					echo wp_json_encode( array(
256
+					echo wp_json_encode(array(
257 257
 						'stripe_sca_required' => true,
258 258
 						'intent_secret'       => $response['payment_intent_secret'],
259 259
 						'redirect_url'        => $verification_url,
260
-					) );
260
+					));
261 261
 
262 262
 					exit;
263 263
 				}
264 264
 
265 265
 				// Hijack all other redirects in order to do the redirection in JavaScript.
266
-				add_action( 'wp_redirect', array( $this, 'redirect_after_early_renewal' ), 100 );
266
+				add_action('wp_redirect', array($this, 'redirect_after_early_renewal'), 100);
267 267
 
268 268
 				return;
269 269
 			}
270 270
 
271 271
 			// Check for an existing intent, which is associated with the order.
272
-			if ( $this->has_authentication_already_failed( $renewal_order ) ) {
272
+			if ($this->has_authentication_already_failed($renewal_order)) {
273 273
 				return;
274 274
 			}
275 275
 
276 276
 			// Get source from order
277
-			$prepared_source = $this->prepare_order_source( $renewal_order );
277
+			$prepared_source = $this->prepare_order_source($renewal_order);
278 278
 			$source_object   = $prepared_source->source_object;
279 279
 
280
-			if ( ! $prepared_source->customer ) {
280
+			if ( ! $prepared_source->customer) {
281 281
 				throw new WC_Stripe_Exception(
282 282
 					'Failed to process renewal for order ' . $renewal_order->get_id() . '. Stripe customer id is missing in the order',
283
-					__( 'Customer not found', 'woocommerce-gateway-stripe' )
283
+					__('Customer not found', 'woocommerce-gateway-stripe')
284 284
 				);
285 285
 			}
286 286
 
287
-			WC_Stripe_Logger::log( "Info: Begin processing subscription payment for order {$order_id} for the amount of {$amount}" );
287
+			WC_Stripe_Logger::log("Info: Begin processing subscription payment for order {$order_id} for the amount of {$amount}");
288 288
 
289 289
 			/* If we're doing a retry and source is chargeable, we need to pass
290 290
 			 * a different idempotency key and retry for success.
291 291
 			 */
292
-			if ( is_object( $source_object ) && empty( $source_object->error ) && $this->need_update_idempotency_key( $source_object, $previous_error ) ) {
293
-				add_filter( 'wc_stripe_idempotency_key', array( $this, 'change_idempotency_key' ), 10, 2 );
292
+			if (is_object($source_object) && empty($source_object->error) && $this->need_update_idempotency_key($source_object, $previous_error)) {
293
+				add_filter('wc_stripe_idempotency_key', array($this, 'change_idempotency_key'), 10, 2);
294 294
 			}
295 295
 
296
-			if ( ( $this->is_no_such_source_error( $previous_error ) || $this->is_no_linked_source_error( $previous_error ) ) && apply_filters( 'wc_stripe_use_default_customer_source', true ) ) {
296
+			if (($this->is_no_such_source_error($previous_error) || $this->is_no_linked_source_error($previous_error)) && apply_filters('wc_stripe_use_default_customer_source', true)) {
297 297
 				// Passing empty source will charge customer default.
298 298
 				$prepared_source->source = '';
299 299
 			}
300 300
 
301
-			$this->lock_order_payment( $renewal_order );
301
+			$this->lock_order_payment($renewal_order);
302 302
 
303
-			$response                   = $this->create_and_confirm_intent_for_off_session( $renewal_order, $prepared_source, $amount );
304
-			$is_authentication_required = $this->is_authentication_required_for_payment( $response );
303
+			$response                   = $this->create_and_confirm_intent_for_off_session($renewal_order, $prepared_source, $amount);
304
+			$is_authentication_required = $this->is_authentication_required_for_payment($response);
305 305
 
306 306
 			// It's only a failed payment if it's an error and it's not of the type 'authentication_required'.
307 307
 			// If it's 'authentication_required', then we should email the user and ask them to authenticate.
308
-			if ( ! empty( $response->error ) && ! $is_authentication_required ) {
308
+			if ( ! empty($response->error) && ! $is_authentication_required) {
309 309
 				// We want to retry.
310
-				if ( $this->is_retryable_error( $response->error ) ) {
311
-					if ( $retry ) {
310
+				if ($this->is_retryable_error($response->error)) {
311
+					if ($retry) {
312 312
 						// Don't do anymore retries after this.
313
-						if ( 5 <= $this->retry_interval ) {
314
-							return $this->process_subscription_payment( $amount, $renewal_order, false, $response->error );
313
+						if (5 <= $this->retry_interval) {
314
+							return $this->process_subscription_payment($amount, $renewal_order, false, $response->error);
315 315
 						}
316 316
 
317
-						sleep( $this->retry_interval );
317
+						sleep($this->retry_interval);
318 318
 
319 319
 						$this->retry_interval++;
320 320
 
321
-						return $this->process_subscription_payment( $amount, $renewal_order, true, $response->error );
321
+						return $this->process_subscription_payment($amount, $renewal_order, true, $response->error);
322 322
 					} else {
323
-						$localized_message = __( 'Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe' );
324
-						$renewal_order->add_order_note( $localized_message );
325
-						throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message );
323
+						$localized_message = __('Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe');
324
+						$renewal_order->add_order_note($localized_message);
325
+						throw new WC_Stripe_Exception(print_r($response, true), $localized_message);
326 326
 					}
327 327
 				}
328 328
 
329 329
 				$localized_messages = WC_Stripe_Helper::get_localized_messages();
330 330
 
331
-				if ( 'card_error' === $response->error->type ) {
332
-					$localized_message = isset( $localized_messages[ $response->error->code ] ) ? $localized_messages[ $response->error->code ] : $response->error->message;
331
+				if ('card_error' === $response->error->type) {
332
+					$localized_message = isset($localized_messages[$response->error->code]) ? $localized_messages[$response->error->code] : $response->error->message;
333 333
 				} else {
334
-					$localized_message = isset( $localized_messages[ $response->error->type ] ) ? $localized_messages[ $response->error->type ] : $response->error->message;
334
+					$localized_message = isset($localized_messages[$response->error->type]) ? $localized_messages[$response->error->type] : $response->error->message;
335 335
 				}
336 336
 
337
-				$renewal_order->add_order_note( $localized_message );
337
+				$renewal_order->add_order_note($localized_message);
338 338
 
339
-				throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message );
339
+				throw new WC_Stripe_Exception(print_r($response, true), $localized_message);
340 340
 			}
341 341
 
342 342
 			// Either the charge was successfully captured, or it requires further authentication.
343 343
 
344
-			if ( $is_authentication_required ) {
345
-				do_action( 'wc_gateway_stripe_process_payment_authentication_required', $renewal_order, $response );
344
+			if ($is_authentication_required) {
345
+				do_action('wc_gateway_stripe_process_payment_authentication_required', $renewal_order, $response);
346 346
 
347
-				$error_message = __( 'This transaction requires authentication.', 'woocommerce-gateway-stripe' );
348
-				$renewal_order->add_order_note( $error_message );
347
+				$error_message = __('This transaction requires authentication.', 'woocommerce-gateway-stripe');
348
+				$renewal_order->add_order_note($error_message);
349 349
 
350
-				$charge = end( $response->error->payment_intent->charges->data );
350
+				$charge = end($response->error->payment_intent->charges->data);
351 351
 				$id = $charge->id;
352 352
 				$order_id = $renewal_order->get_id();
353 353
 
354
-				$renewal_order->set_transaction_id( $id );
355
-				$renewal_order->update_status( 'failed', sprintf( __( 'Stripe charge awaiting authentication by user: %s.', 'woocommerce-gateway-stripe' ), $id ) );
356
-				if ( is_callable( array( $renewal_order, 'save' ) ) ) {
354
+				$renewal_order->set_transaction_id($id);
355
+				$renewal_order->update_status('failed', sprintf(__('Stripe charge awaiting authentication by user: %s.', 'woocommerce-gateway-stripe'), $id));
356
+				if (is_callable(array($renewal_order, 'save'))) {
357 357
 					$renewal_order->save();
358 358
 				}
359 359
 			} else {
360 360
 				// The charge was successfully captured
361
-				do_action( 'wc_gateway_stripe_process_payment', $response, $renewal_order );
361
+				do_action('wc_gateway_stripe_process_payment', $response, $renewal_order);
362 362
 
363
-				$this->process_response( end( $response->charges->data ), $renewal_order );
363
+				$this->process_response(end($response->charges->data), $renewal_order);
364 364
 			}
365 365
 
366
-			$this->unlock_order_payment( $renewal_order );
367
-		} catch ( WC_Stripe_Exception $e ) {
368
-			WC_Stripe_Logger::log( 'Error: ' . $e->getMessage() );
366
+			$this->unlock_order_payment($renewal_order);
367
+		} catch (WC_Stripe_Exception $e) {
368
+			WC_Stripe_Logger::log('Error: ' . $e->getMessage());
369 369
 
370
-			do_action( 'wc_gateway_stripe_process_payment_error', $e, $renewal_order );
370
+			do_action('wc_gateway_stripe_process_payment_error', $e, $renewal_order);
371 371
 
372 372
 			/* translators: error message */
373
-			$renewal_order->update_status( 'failed' );
373
+			$renewal_order->update_status('failed');
374 374
 		}
375 375
 	}
376 376
 
@@ -380,24 +380,24 @@  discard block
 block discarded – undo
380 380
 	 * @since 3.1.0
381 381
 	 * @version 4.0.0
382 382
 	 */
383
-	public function save_source_to_order( $order, $source ) {
384
-		parent::save_source_to_order( $order, $source );
383
+	public function save_source_to_order($order, $source) {
384
+		parent::save_source_to_order($order, $source);
385 385
 
386 386
 		$order_id = $order->get_id();
387 387
 
388 388
 		// Also store it on the subscriptions being purchased or paid for in the order
389
-		if ( function_exists( 'wcs_order_contains_subscription' ) && wcs_order_contains_subscription( $order_id ) ) {
390
-			$subscriptions = wcs_get_subscriptions_for_order( $order_id );
391
-		} elseif ( function_exists( 'wcs_order_contains_renewal' ) && wcs_order_contains_renewal( $order_id ) ) {
392
-			$subscriptions = wcs_get_subscriptions_for_renewal_order( $order_id );
389
+		if (function_exists('wcs_order_contains_subscription') && wcs_order_contains_subscription($order_id)) {
390
+			$subscriptions = wcs_get_subscriptions_for_order($order_id);
391
+		} elseif (function_exists('wcs_order_contains_renewal') && wcs_order_contains_renewal($order_id)) {
392
+			$subscriptions = wcs_get_subscriptions_for_renewal_order($order_id);
393 393
 		} else {
394 394
 			$subscriptions = array();
395 395
 		}
396 396
 
397
-		foreach ( $subscriptions as $subscription ) {
397
+		foreach ($subscriptions as $subscription) {
398 398
 			$subscription_id = $subscription->get_id();
399
-			update_post_meta( $subscription_id, '_stripe_customer_id', $source->customer );
400
-			update_post_meta( $subscription_id, '_stripe_source_id', $source->source );
399
+			update_post_meta($subscription_id, '_stripe_customer_id', $source->customer);
400
+			update_post_meta($subscription_id, '_stripe_source_id', $source->source);
401 401
 		}
402 402
 	}
403 403
 
@@ -405,26 +405,26 @@  discard block
 block discarded – undo
405 405
 	 * Don't transfer Stripe customer/token meta to resubscribe orders.
406 406
 	 * @param int $resubscribe_order The order created for the customer to resubscribe to the old expired/cancelled subscription
407 407
 	 */
408
-	public function delete_resubscribe_meta( $resubscribe_order ) {
409
-		delete_post_meta( $resubscribe_order->get_id(), '_stripe_customer_id' );
410
-		delete_post_meta( $resubscribe_order->get_id(), '_stripe_source_id' );
408
+	public function delete_resubscribe_meta($resubscribe_order) {
409
+		delete_post_meta($resubscribe_order->get_id(), '_stripe_customer_id');
410
+		delete_post_meta($resubscribe_order->get_id(), '_stripe_source_id');
411 411
 		// For BW compat will remove in future
412
-		delete_post_meta( $resubscribe_order->get_id(), '_stripe_card_id' );
412
+		delete_post_meta($resubscribe_order->get_id(), '_stripe_card_id');
413 413
 		// delete payment intent ID
414
-		delete_post_meta( $resubscribe_order->get_id(), '_stripe_intent_id' );
415
-		$this->delete_renewal_meta( $resubscribe_order );
414
+		delete_post_meta($resubscribe_order->get_id(), '_stripe_intent_id');
415
+		$this->delete_renewal_meta($resubscribe_order);
416 416
 	}
417 417
 
418 418
 	/**
419 419
 	 * Don't transfer Stripe fee/ID meta to renewal orders.
420 420
 	 * @param int $resubscribe_order The order created for the customer to resubscribe to the old expired/cancelled subscription
421 421
 	 */
422
-	public function delete_renewal_meta( $renewal_order ) {
423
-		WC_Stripe_Helper::delete_stripe_fee( $renewal_order );
424
-		WC_Stripe_Helper::delete_stripe_net( $renewal_order );
422
+	public function delete_renewal_meta($renewal_order) {
423
+		WC_Stripe_Helper::delete_stripe_fee($renewal_order);
424
+		WC_Stripe_Helper::delete_stripe_net($renewal_order);
425 425
 
426 426
 		// delete payment intent ID
427
-		delete_post_meta( $renewal_order->get_id(), '_stripe_intent_id' );
427
+		delete_post_meta($renewal_order->get_id(), '_stripe_intent_id');
428 428
 
429 429
 		return $renewal_order;
430 430
 	}
@@ -438,9 +438,9 @@  discard block
 block discarded – undo
438 438
 	 * @param WC_Order $renewal_order The order which recorded the successful payment (to make up for the failed automatic payment).
439 439
 	 * @return void
440 440
 	 */
441
-	public function update_failing_payment_method( $subscription, $renewal_order ) {
442
-		update_post_meta( $subscription->get_id(), '_stripe_customer_id', $renewal_order->get_meta( '_stripe_customer_id', true ) );
443
-		update_post_meta( $subscription->get_id(), '_stripe_source_id', $renewal_order->get_meta( '_stripe_source_id', true ) );
441
+	public function update_failing_payment_method($subscription, $renewal_order) {
442
+		update_post_meta($subscription->get_id(), '_stripe_customer_id', $renewal_order->get_meta('_stripe_customer_id', true));
443
+		update_post_meta($subscription->get_id(), '_stripe_source_id', $renewal_order->get_meta('_stripe_source_id', true));
444 444
 	}
445 445
 
446 446
 	/**
@@ -452,23 +452,23 @@  discard block
 block discarded – undo
452 452
 	 * @param WC_Subscription $subscription An instance of a subscription object
453 453
 	 * @return array
454 454
 	 */
455
-	public function add_subscription_payment_meta( $payment_meta, $subscription ) {
455
+	public function add_subscription_payment_meta($payment_meta, $subscription) {
456 456
 		$subscription_id = $subscription->get_id();
457
-		$source_id       = get_post_meta( $subscription_id, '_stripe_source_id', true );
457
+		$source_id       = get_post_meta($subscription_id, '_stripe_source_id', true);
458 458
 
459 459
 		// For BW compat will remove in future.
460
-		if ( empty( $source_id ) ) {
461
-			$source_id = get_post_meta( $subscription_id, '_stripe_card_id', true );
460
+		if (empty($source_id)) {
461
+			$source_id = get_post_meta($subscription_id, '_stripe_card_id', true);
462 462
 
463 463
 			// Take this opportunity to update the key name.
464
-			update_post_meta( $subscription_id, '_stripe_source_id', $source_id );
465
-			delete_post_meta( $subscription_id, '_stripe_card_id', $source_id );
464
+			update_post_meta($subscription_id, '_stripe_source_id', $source_id);
465
+			delete_post_meta($subscription_id, '_stripe_card_id', $source_id);
466 466
 		}
467 467
 
468
-		$payment_meta[ $this->id ] = array(
468
+		$payment_meta[$this->id] = array(
469 469
 			'post_meta' => array(
470 470
 				'_stripe_customer_id' => array(
471
-					'value' => get_post_meta( $subscription_id, '_stripe_customer_id', true ),
471
+					'value' => get_post_meta($subscription_id, '_stripe_customer_id', true),
472 472
 					'label' => 'Stripe Customer ID',
473 473
 				),
474 474
 				'_stripe_source_id'   => array(
@@ -491,27 +491,27 @@  discard block
 block discarded – undo
491 491
 	 * @param array $payment_meta associative array of meta data required for automatic payments
492 492
 	 * @return array
493 493
 	 */
494
-	public function validate_subscription_payment_meta( $payment_method_id, $payment_meta ) {
495
-		if ( $this->id === $payment_method_id ) {
494
+	public function validate_subscription_payment_meta($payment_method_id, $payment_meta) {
495
+		if ($this->id === $payment_method_id) {
496 496
 
497
-			if ( ! isset( $payment_meta['post_meta']['_stripe_customer_id']['value'] ) || empty( $payment_meta['post_meta']['_stripe_customer_id']['value'] ) ) {
497
+			if ( ! isset($payment_meta['post_meta']['_stripe_customer_id']['value']) || empty($payment_meta['post_meta']['_stripe_customer_id']['value'])) {
498 498
 
499 499
 				// Allow empty stripe customer id during subscription renewal. It will be added when processing payment if required.
500
-				if ( ! isset( $_POST['wc_order_action'] ) || 'wcs_process_renewal' !== $_POST['wc_order_action'] ) {
501
-					throw new Exception( __( 'A "Stripe Customer ID" value is required.', 'woocommerce-gateway-stripe' ) );
500
+				if ( ! isset($_POST['wc_order_action']) || 'wcs_process_renewal' !== $_POST['wc_order_action']) {
501
+					throw new Exception(__('A "Stripe Customer ID" value is required.', 'woocommerce-gateway-stripe'));
502 502
 				}
503
-			} elseif ( 0 !== strpos( $payment_meta['post_meta']['_stripe_customer_id']['value'], 'cus_' ) ) {
504
-				throw new Exception( __( 'Invalid customer ID. A valid "Stripe Customer ID" must begin with "cus_".', 'woocommerce-gateway-stripe' ) );
503
+			} elseif (0 !== strpos($payment_meta['post_meta']['_stripe_customer_id']['value'], 'cus_')) {
504
+				throw new Exception(__('Invalid customer ID. A valid "Stripe Customer ID" must begin with "cus_".', 'woocommerce-gateway-stripe'));
505 505
 			}
506 506
 
507 507
 			if (
508
-				! empty( $payment_meta['post_meta']['_stripe_source_id']['value'] ) && (
509
-					0 !== strpos( $payment_meta['post_meta']['_stripe_source_id']['value'], 'card_' )
510
-					&& 0 !== strpos( $payment_meta['post_meta']['_stripe_source_id']['value'], 'src_' )
511
-					&& 0 !== strpos( $payment_meta['post_meta']['_stripe_source_id']['value'], 'pm_' )
508
+				! empty($payment_meta['post_meta']['_stripe_source_id']['value']) && (
509
+					0 !== strpos($payment_meta['post_meta']['_stripe_source_id']['value'], 'card_')
510
+					&& 0 !== strpos($payment_meta['post_meta']['_stripe_source_id']['value'], 'src_')
511
+					&& 0 !== strpos($payment_meta['post_meta']['_stripe_source_id']['value'], 'pm_')
512 512
 				)
513 513
 			) {
514
-				throw new Exception( __( 'Invalid source ID. A valid source "Stripe Source ID" must begin with "src_", "pm_", or "card_".', 'woocommerce-gateway-stripe' ) );
514
+				throw new Exception(__('Invalid source ID. A valid source "Stripe Source ID" must begin with "src_", "pm_", or "card_".', 'woocommerce-gateway-stripe'));
515 515
 			}
516 516
 		}
517 517
 	}
@@ -524,75 +524,75 @@  discard block
 block discarded – undo
524 524
 	 * @param WC_Subscription $subscription the subscription details
525 525
 	 * @return string the subscription payment method
526 526
 	 */
527
-	public function maybe_render_subscription_payment_method( $payment_method_to_display, $subscription ) {
527
+	public function maybe_render_subscription_payment_method($payment_method_to_display, $subscription) {
528 528
 		$customer_user = $subscription->get_customer_id();
529 529
 
530 530
 		// bail for other payment methods
531
-		if ( $subscription->get_payment_method() !== $this->id || ! $customer_user ) {
531
+		if ($subscription->get_payment_method() !== $this->id || ! $customer_user) {
532 532
 			return $payment_method_to_display;
533 533
 		}
534 534
 
535
-		$stripe_source_id = get_post_meta( $subscription->get_id(), '_stripe_source_id', true );
535
+		$stripe_source_id = get_post_meta($subscription->get_id(), '_stripe_source_id', true);
536 536
 
537 537
 		// For BW compat will remove in future.
538
-		if ( empty( $stripe_source_id ) ) {
539
-			$stripe_source_id = get_post_meta( $subscription->get_id(), '_stripe_card_id', true );
538
+		if (empty($stripe_source_id)) {
539
+			$stripe_source_id = get_post_meta($subscription->get_id(), '_stripe_card_id', true);
540 540
 
541 541
 			// Take this opportunity to update the key name.
542
-			update_post_meta( $subscription->get_id(), '_stripe_source_id', $stripe_source_id );
542
+			update_post_meta($subscription->get_id(), '_stripe_source_id', $stripe_source_id);
543 543
 		}
544 544
 
545 545
 		$stripe_customer    = new WC_Stripe_Customer();
546
-		$stripe_customer_id = get_post_meta( $subscription->get_id(), '_stripe_customer_id', true );
546
+		$stripe_customer_id = get_post_meta($subscription->get_id(), '_stripe_customer_id', true);
547 547
 
548 548
 		// If we couldn't find a Stripe customer linked to the subscription, fallback to the user meta data.
549
-		if ( ! $stripe_customer_id || ! is_string( $stripe_customer_id ) ) {
549
+		if ( ! $stripe_customer_id || ! is_string($stripe_customer_id)) {
550 550
 			$user_id            = $customer_user;
551
-			$stripe_customer_id = get_user_option( '_stripe_customer_id', $user_id );
552
-			$stripe_source_id   = get_user_option( '_stripe_source_id', $user_id );
551
+			$stripe_customer_id = get_user_option('_stripe_customer_id', $user_id);
552
+			$stripe_source_id   = get_user_option('_stripe_source_id', $user_id);
553 553
 
554 554
 			// For BW compat will remove in future.
555
-			if ( empty( $stripe_source_id ) ) {
556
-				$stripe_source_id = get_user_option( '_stripe_card_id', $user_id );
555
+			if (empty($stripe_source_id)) {
556
+				$stripe_source_id = get_user_option('_stripe_card_id', $user_id);
557 557
 
558 558
 				// Take this opportunity to update the key name.
559
-				update_user_option( $user_id, '_stripe_source_id', $stripe_source_id, false );
559
+				update_user_option($user_id, '_stripe_source_id', $stripe_source_id, false);
560 560
 			}
561 561
 		}
562 562
 
563 563
 		// If we couldn't find a Stripe customer linked to the account, fallback to the order meta data.
564
-		if ( ( ! $stripe_customer_id || ! is_string( $stripe_customer_id ) ) && false !== $subscription->order ) {
565
-			$stripe_customer_id = get_post_meta( $subscription->get_parent_id(), '_stripe_customer_id', true );
566
-			$stripe_source_id   = get_post_meta( $subscription->get_parent_id(), '_stripe_source_id', true );
564
+		if (( ! $stripe_customer_id || ! is_string($stripe_customer_id)) && false !== $subscription->order) {
565
+			$stripe_customer_id = get_post_meta($subscription->get_parent_id(), '_stripe_customer_id', true);
566
+			$stripe_source_id   = get_post_meta($subscription->get_parent_id(), '_stripe_source_id', true);
567 567
 
568 568
 			// For BW compat will remove in future.
569
-			if ( empty( $stripe_source_id ) ) {
570
-				$stripe_source_id = get_post_meta( $subscription->get_parent_id(), '_stripe_card_id', true );
569
+			if (empty($stripe_source_id)) {
570
+				$stripe_source_id = get_post_meta($subscription->get_parent_id(), '_stripe_card_id', true);
571 571
 
572 572
 				// Take this opportunity to update the key name.
573
-				update_post_meta( $subscription->get_parent_id(), '_stripe_source_id', $stripe_source_id );
573
+				update_post_meta($subscription->get_parent_id(), '_stripe_source_id', $stripe_source_id);
574 574
 			}
575 575
 		}
576 576
 
577
-		$stripe_customer->set_id( $stripe_customer_id );
577
+		$stripe_customer->set_id($stripe_customer_id);
578 578
 
579 579
 		$sources                   = $stripe_customer->get_sources();
580
-		$payment_method_to_display = __( 'N/A', 'woocommerce-gateway-stripe' );
580
+		$payment_method_to_display = __('N/A', 'woocommerce-gateway-stripe');
581 581
 
582
-		if ( $sources ) {
582
+		if ($sources) {
583 583
 			$card = false;
584 584
 
585
-			foreach ( $sources as $source ) {
586
-				if ( isset( $source->type ) && 'card' === $source->type ) {
585
+			foreach ($sources as $source) {
586
+				if (isset($source->type) && 'card' === $source->type) {
587 587
 					$card = $source->card;
588
-				} elseif ( isset( $source->object ) && 'card' === $source->object ) {
588
+				} elseif (isset($source->object) && 'card' === $source->object) {
589 589
 					$card = $source;
590 590
 				}
591 591
 
592
-				if ( $source->id === $stripe_source_id ) {
593
-					if ( $card ) {
592
+				if ($source->id === $stripe_source_id) {
593
+					if ($card) {
594 594
 						/* translators: 1) card brand 2) last 4 digits */
595
-						$payment_method_to_display = sprintf( __( 'Via %1$s card ending in %2$s', 'woocommerce-gateway-stripe' ), ( isset( $card->brand ) ? $card->brand : __( 'N/A', 'woocommerce-gateway-stripe' ) ), $card->last4 );
595
+						$payment_method_to_display = sprintf(__('Via %1$s card ending in %2$s', 'woocommerce-gateway-stripe'), (isset($card->brand) ? $card->brand : __('N/A', 'woocommerce-gateway-stripe')), $card->last4);
596 596
 					}
597 597
 
598 598
 					break;
@@ -609,7 +609,7 @@  discard block
 block discarded – undo
609 609
 	 */
610 610
 	public function remove_order_pay_var() {
611 611
 		global $wp;
612
-		if ( isset( $_GET['wc-stripe-confirmation'] ) ) {
612
+		if (isset($_GET['wc-stripe-confirmation'])) {
613 613
 			$this->order_pay_var = $wp->query_vars['order-pay'];
614 614
 			$wp->query_vars['order-pay'] = null;
615 615
 		}
@@ -620,7 +620,7 @@  discard block
 block discarded – undo
620 620
 	 */
621 621
 	public function restore_order_pay_var() {
622 622
 		global $wp;
623
-		if ( isset( $this->order_pay_var ) ) {
623
+		if (isset($this->order_pay_var)) {
624 624
 			$wp->query_vars['order-pay'] = $this->order_pay_var;
625 625
 		}
626 626
 	}
@@ -631,13 +631,13 @@  discard block
 block discarded – undo
631 631
 	 * @param WC_Order $renewal_order The renewal order.
632 632
 	 * @return boolean
633 633
 	 */
634
-	public function has_authentication_already_failed( $renewal_order ) {
635
-		$existing_intent = $this->get_intent_from_order( $renewal_order );
634
+	public function has_authentication_already_failed($renewal_order) {
635
+		$existing_intent = $this->get_intent_from_order($renewal_order);
636 636
 
637 637
 		if (
638 638
 			! $existing_intent
639 639
 			|| 'requires_payment_method' !== $existing_intent->status
640
-			|| empty( $existing_intent->last_payment_error )
640
+			|| empty($existing_intent->last_payment_error)
641 641
 			|| 'authentication_required' !== $existing_intent->last_payment_error->code
642 642
 		) {
643 643
 			return false;
@@ -651,12 +651,12 @@  discard block
 block discarded – undo
651 651
 		 *
652 652
 		 * @param WC_Order $renewal_order The order that is being renewed.
653 653
 		 */
654
-		do_action( 'wc_gateway_stripe_process_payment_authentication_required', $renewal_order );
654
+		do_action('wc_gateway_stripe_process_payment_authentication_required', $renewal_order);
655 655
 
656 656
 		// Fail the payment attempt (order would be currently pending because of retry rules).
657
-		$charge    = end( $existing_intent->charges->data );
657
+		$charge    = end($existing_intent->charges->data);
658 658
 		$charge_id = $charge->id;
659
-		$renewal_order->update_status( 'failed', sprintf( __( 'Stripe charge awaiting authentication by user: %s.', 'woocommerce-gateway-stripe' ), $charge_id ) );
659
+		$renewal_order->update_status('failed', sprintf(__('Stripe charge awaiting authentication by user: %s.', 'woocommerce-gateway-stripe'), $charge_id));
660 660
 
661 661
 		return true;
662 662
 	}
@@ -667,7 +667,7 @@  discard block
 block discarded – undo
667 667
 	 * @param string $url The URL that Subscriptions attempts a redirect to.
668 668
 	 * @return void
669 669
 	 */
670
-	public function redirect_after_early_renewal( $url ) {
670
+	public function redirect_after_early_renewal($url) {
671 671
 		echo wp_json_encode(
672 672
 			array(
673 673
 				'stripe_sca_required' => false,
@@ -684,12 +684,12 @@  discard block
 block discarded – undo
684 684
 	 * @param WC_Order $order The renewal order.
685 685
 	 * @param stdClass $intent The Payment Intent object.
686 686
 	 */
687
-	protected function handle_intent_verification_success( $order, $intent ) {
688
-		parent::handle_intent_verification_success( $order, $intent );
687
+	protected function handle_intent_verification_success($order, $intent) {
688
+		parent::handle_intent_verification_success($order, $intent);
689 689
 
690
-		if ( isset( $_GET['early_renewal'] ) ) { // wpcs: csrf ok.
691
-			wcs_update_dates_after_early_renewal( wcs_get_subscription( $order->get_meta( '_subscription_renewal' ) ), $order );
692
-			wc_add_notice( __( 'Your early renewal order was successful.', 'woocommerce-gateway-stripe' ), 'success' );
690
+		if (isset($_GET['early_renewal'])) { // wpcs: csrf ok.
691
+			wcs_update_dates_after_early_renewal(wcs_get_subscription($order->get_meta('_subscription_renewal')), $order);
692
+			wc_add_notice(__('Your early renewal order was successful.', 'woocommerce-gateway-stripe'), 'success');
693 693
 		}
694 694
 	}
695 695
 
@@ -699,12 +699,12 @@  discard block
 block discarded – undo
699 699
 	 * @param WC_Order $order The renewal order.
700 700
 	 * @param stdClass $intent The Payment Intent object (unused).
701 701
 	 */
702
-	protected function handle_intent_verification_failure( $order, $intent ) {
703
-		if ( isset( $_GET['early_renewal'] ) ) {
704
-			$order->delete( true );
705
-			wc_add_notice( __( 'Payment authorization for the renewal order was unsuccessful, please try again.', 'woocommerce-gateway-stripe' ), 'error' );
706
-			$renewal_url = wcs_get_early_renewal_url( wcs_get_subscription( $order->get_meta( '_subscription_renewal' ) ) );
707
-			wp_redirect( $renewal_url ); exit;
702
+	protected function handle_intent_verification_failure($order, $intent) {
703
+		if (isset($_GET['early_renewal'])) {
704
+			$order->delete(true);
705
+			wc_add_notice(__('Payment authorization for the renewal order was unsuccessful, please try again.', 'woocommerce-gateway-stripe'), 'error');
706
+			$renewal_url = wcs_get_early_renewal_url(wcs_get_subscription($order->get_meta('_subscription_renewal')));
707
+			wp_redirect($renewal_url); exit;
708 708
 		}
709 709
 	}
710 710
 }
Please login to merge, or discard this patch.
includes/compat/class-wc-stripe-sepa-subs-compat.php 1 patch
Spacing   +152 added lines, -152 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
 
@@ -15,21 +15,21 @@  discard block
 block discarded – undo
15 15
 	public function __construct() {
16 16
 		parent::__construct();
17 17
 
18
-		if ( class_exists( 'WC_Subscriptions_Order' ) ) {
19
-			add_action( 'woocommerce_scheduled_subscription_payment_' . $this->id, array( $this, 'scheduled_subscription_payment' ), 10, 2 );
20
-			add_action( 'wcs_resubscribe_order_created', array( $this, 'delete_resubscribe_meta' ), 10 );
21
-			add_action( 'wcs_renewal_order_created', array( $this, 'delete_renewal_meta' ), 10 );
22
-			add_action( 'woocommerce_subscription_failing_payment_method_updated_stripe', array( $this, 'update_failing_payment_method' ), 10, 2 );
23
-			add_action( 'wc_stripe_sepa_payment_fields', array( $this, 'display_update_subs_payment_checkout' ) );
24
-			add_action( 'wc_stripe_add_payment_method_' . $this->id . '_success', array( $this, 'handle_add_payment_method_success' ), 10, 2 );
18
+		if (class_exists('WC_Subscriptions_Order')) {
19
+			add_action('woocommerce_scheduled_subscription_payment_' . $this->id, array($this, 'scheduled_subscription_payment'), 10, 2);
20
+			add_action('wcs_resubscribe_order_created', array($this, 'delete_resubscribe_meta'), 10);
21
+			add_action('wcs_renewal_order_created', array($this, 'delete_renewal_meta'), 10);
22
+			add_action('woocommerce_subscription_failing_payment_method_updated_stripe', array($this, 'update_failing_payment_method'), 10, 2);
23
+			add_action('wc_stripe_sepa_payment_fields', array($this, 'display_update_subs_payment_checkout'));
24
+			add_action('wc_stripe_add_payment_method_' . $this->id . '_success', array($this, 'handle_add_payment_method_success'), 10, 2);
25 25
 
26 26
 			// Display the credit card used for a subscription in the "My Subscriptions" table.
27
-			add_filter( 'woocommerce_my_subscriptions_payment_method', array( $this, 'maybe_render_subscription_payment_method' ), 10, 2 );
27
+			add_filter('woocommerce_my_subscriptions_payment_method', array($this, 'maybe_render_subscription_payment_method'), 10, 2);
28 28
 
29 29
 			// Allow store managers to manually set Stripe as the payment method on a subscription.
30
-			add_filter( 'woocommerce_subscription_payment_meta', array( $this, 'add_subscription_payment_meta' ), 10, 2 );
31
-			add_filter( 'woocommerce_subscription_validate_payment_meta', array( $this, 'validate_subscription_payment_meta' ), 10, 2 );
32
-			add_filter( 'wc_stripe_display_save_payment_method_checkbox', array( $this, 'maybe_hide_save_checkbox' ) );
30
+			add_filter('woocommerce_subscription_payment_meta', array($this, 'add_subscription_payment_meta'), 10, 2);
31
+			add_filter('woocommerce_subscription_validate_payment_meta', array($this, 'validate_subscription_payment_meta'), 10, 2);
32
+			add_filter('wc_stripe_display_save_payment_method_checkbox', array($this, 'maybe_hide_save_checkbox'));
33 33
 		}
34 34
 	}
35 35
 
@@ -40,8 +40,8 @@  discard block
 block discarded – undo
40 40
 	 * @since 4.0.0
41 41
 	 * @version 4.0.0
42 42
 	 */
43
-	public function maybe_hide_save_checkbox( $display_tokenization ) {
44
-		if ( WC_Subscriptions_Cart::cart_contains_subscription() ) {
43
+	public function maybe_hide_save_checkbox($display_tokenization) {
44
+		if (WC_Subscriptions_Cart::cart_contains_subscription()) {
45 45
 			return false;
46 46
 		}
47 47
 
@@ -53,8 +53,8 @@  discard block
 block discarded – undo
53 53
 	 * @param  int  $order_id
54 54
 	 * @return boolean
55 55
 	 */
56
-	public function has_subscription( $order_id ) {
57
-		return ( function_exists( 'wcs_order_contains_subscription' ) && ( wcs_order_contains_subscription( $order_id ) || wcs_is_subscription( $order_id ) || wcs_order_contains_renewal( $order_id ) ) );
56
+	public function has_subscription($order_id) {
57
+		return (function_exists('wcs_order_contains_subscription') && (wcs_order_contains_subscription($order_id) || wcs_is_subscription($order_id) || wcs_order_contains_renewal($order_id)));
58 58
 	}
59 59
 
60 60
 	/**
@@ -64,7 +64,7 @@  discard block
 block discarded – undo
64 64
 	 * @return bool
65 65
 	 */
66 66
 	public function is_subs_change_payment() {
67
-		return ( isset( $_GET['pay_for_order'] ) && isset( $_GET['change_payment_method'] ) );
67
+		return (isset($_GET['pay_for_order']) && isset($_GET['change_payment_method']));
68 68
 	}
69 69
 
70 70
 	/**
@@ -74,20 +74,20 @@  discard block
 block discarded – undo
74 74
 	 * @since 4.1.11
75 75
 	 */
76 76
 	public function display_update_subs_payment_checkout() {
77
-		$subs_statuses = apply_filters( 'wc_stripe_update_subs_payment_method_card_statuses', array( 'active' ) );
77
+		$subs_statuses = apply_filters('wc_stripe_update_subs_payment_method_card_statuses', array('active'));
78 78
 		if (
79
-			apply_filters( 'wc_stripe_display_update_subs_payment_method_card_checkbox', true ) &&
80
-			wcs_user_has_subscription( get_current_user_id(), '', $subs_statuses ) &&
79
+			apply_filters('wc_stripe_display_update_subs_payment_method_card_checkbox', true) &&
80
+			wcs_user_has_subscription(get_current_user_id(), '', $subs_statuses) &&
81 81
 			is_add_payment_method_page()
82 82
 		) {
83
-			$label = esc_html( apply_filters( 'wc_stripe_save_to_subs_text', __( 'Update the Payment Method used for all of my active subscriptions.', 'woocommerce-gateway-stripe' ) ) );
84
-			$id    = sprintf( 'wc-%1$s-update-subs-payment-method-card', $this->id );
83
+			$label = esc_html(apply_filters('wc_stripe_save_to_subs_text', __('Update the Payment Method used for all of my active subscriptions.', 'woocommerce-gateway-stripe')));
84
+			$id    = sprintf('wc-%1$s-update-subs-payment-method-card', $this->id);
85 85
 			woocommerce_form_field(
86 86
 				$id,
87 87
 				array(
88 88
 					'type'    => 'checkbox',
89 89
 					'label'   => $label,
90
-					'default' => apply_filters( 'wc_stripe_save_to_subs_checked', false ),
90
+					'default' => apply_filters('wc_stripe_save_to_subs_checked', false),
91 91
 				)
92 92
 			);
93 93
 		}
@@ -100,22 +100,22 @@  discard block
 block discarded – undo
100 100
 	 * @param string $source_id
101 101
 	 * @param object $source_object
102 102
 	 */
103
-	public function handle_add_payment_method_success( $source_id, $source_object ) {
104
-		if ( isset( $_POST[ 'wc-' . $this->id . '-update-subs-payment-method-card' ] ) ) {
103
+	public function handle_add_payment_method_success($source_id, $source_object) {
104
+		if (isset($_POST['wc-' . $this->id . '-update-subs-payment-method-card'])) {
105 105
 			$all_subs        = wcs_get_users_subscriptions();
106
-			$subs_statuses   = apply_filters( 'wc_stripe_update_subs_payment_method_card_statuses', array( 'active' ) );
107
-			$stripe_customer = new WC_Stripe_Customer( get_current_user_id() );
106
+			$subs_statuses   = apply_filters('wc_stripe_update_subs_payment_method_card_statuses', array('active'));
107
+			$stripe_customer = new WC_Stripe_Customer(get_current_user_id());
108 108
 
109
-			if ( ! empty( $all_subs ) ) {
110
-				foreach ( $all_subs as $sub ) {
111
-					if ( $sub->has_status( $subs_statuses ) ) {
109
+			if ( ! empty($all_subs)) {
110
+				foreach ($all_subs as $sub) {
111
+					if ($sub->has_status($subs_statuses)) {
112 112
 						WC_Subscriptions_Change_Payment_Gateway::update_payment_method(
113 113
 							$sub,
114 114
 							$this->id,
115 115
 							array(
116 116
 								'post_meta' => array(
117
-									'_stripe_source_id' => array( 'value' => $source_id ),
118
-									'_stripe_customer_id' => array( 'value' => $stripe_customer->get_id() ),
117
+									'_stripe_source_id' => array('value' => $source_id),
118
+									'_stripe_customer_id' => array('value' => $stripe_customer->get_id()),
119 119
 								),
120 120
 							)
121 121
 						);
@@ -131,24 +131,24 @@  discard block
 block discarded – undo
131 131
 	 * @since 3.1.0
132 132
 	 * @version 4.0.0
133 133
 	 */
134
-	public function save_source_to_order( $order, $source ) {
135
-		parent::save_source_to_order( $order, $source );
134
+	public function save_source_to_order($order, $source) {
135
+		parent::save_source_to_order($order, $source);
136 136
 
137 137
 		$order_id = $order->get_id();
138 138
 
139 139
 		// Also store it on the subscriptions being purchased or paid for in the order.
140
-		if ( function_exists( 'wcs_order_contains_subscription' ) && wcs_order_contains_subscription( $order_id ) ) {
141
-			$subscriptions = wcs_get_subscriptions_for_order( $order_id );
142
-		} elseif ( function_exists( 'wcs_order_contains_renewal' ) && wcs_order_contains_renewal( $order_id ) ) {
143
-			$subscriptions = wcs_get_subscriptions_for_renewal_order( $order_id );
140
+		if (function_exists('wcs_order_contains_subscription') && wcs_order_contains_subscription($order_id)) {
141
+			$subscriptions = wcs_get_subscriptions_for_order($order_id);
142
+		} elseif (function_exists('wcs_order_contains_renewal') && wcs_order_contains_renewal($order_id)) {
143
+			$subscriptions = wcs_get_subscriptions_for_renewal_order($order_id);
144 144
 		} else {
145 145
 			$subscriptions = array();
146 146
 		}
147 147
 
148
-		foreach ( $subscriptions as $subscription ) {
148
+		foreach ($subscriptions as $subscription) {
149 149
 			$subscription_id = $subscription->get_id();
150
-			update_post_meta( $subscription_id, '_stripe_customer_id', $source->customer );
151
-			update_post_meta( $subscription_id, '_stripe_source_id', $source->source );
150
+			update_post_meta($subscription_id, '_stripe_customer_id', $source->customer);
151
+			update_post_meta($subscription_id, '_stripe_source_id', $source->source);
152 152
 		}
153 153
 	}
154 154
 
@@ -157,16 +157,16 @@  discard block
 block discarded – undo
157 157
 	 * @param  int $order_id
158 158
 	 * @return array
159 159
 	 */
160
-	public function process_payment( $order_id, $retry = true, $force_save_source = false, $previous_error = false ) {
161
-		if ( $this->has_subscription( $order_id ) ) {
162
-			if ( $this->is_subs_change_payment() ) {
163
-				return $this->change_subs_payment_method( $order_id );
160
+	public function process_payment($order_id, $retry = true, $force_save_source = false, $previous_error = false) {
161
+		if ($this->has_subscription($order_id)) {
162
+			if ($this->is_subs_change_payment()) {
163
+				return $this->change_subs_payment_method($order_id);
164 164
 			}
165 165
 
166 166
 			// Regular payment with force customer enabled
167
-			return parent::process_payment( $order_id, $retry, true, $previous_error );
167
+			return parent::process_payment($order_id, $retry, true, $previous_error);
168 168
 		} else {
169
-			return parent::process_payment( $order_id, $retry, $force_save_source, $previous_error );
169
+			return parent::process_payment($order_id, $retry, $force_save_source, $previous_error);
170 170
 		}
171 171
 	}
172 172
 
@@ -176,27 +176,27 @@  discard block
 block discarded – undo
176 176
 	 * @since 4.0.4
177 177
 	 * @param int $order_id
178 178
 	 */
179
-	public function change_subs_payment_method( $order_id ) {
179
+	public function change_subs_payment_method($order_id) {
180 180
 		try {
181
-			$subscription    = wc_get_order( $order_id );
182
-			$prepared_source = $this->prepare_source( get_current_user_id(), true );
181
+			$subscription    = wc_get_order($order_id);
182
+			$prepared_source = $this->prepare_source(get_current_user_id(), true);
183 183
 
184
-			if ( empty( $prepared_source->source ) ) {
185
-				$localized_message = __( 'Payment processing failed. Please retry.', 'woocommerce-gateway-stripe' );
186
-				throw new WC_Stripe_Exception( print_r( $prepared_source, true ), $localized_message );
184
+			if (empty($prepared_source->source)) {
185
+				$localized_message = __('Payment processing failed. Please retry.', 'woocommerce-gateway-stripe');
186
+				throw new WC_Stripe_Exception(print_r($prepared_source, true), $localized_message);
187 187
 			}
188 188
 
189
-			$this->save_source_to_order( $subscription, $prepared_source );
189
+			$this->save_source_to_order($subscription, $prepared_source);
190 190
 
191
-			do_action( 'wc_stripe_change_subs_payment_method_success', $prepared_source->source, $prepared_source );
191
+			do_action('wc_stripe_change_subs_payment_method_success', $prepared_source->source, $prepared_source);
192 192
 
193 193
 			return array(
194 194
 				'result'   => 'success',
195
-				'redirect' => $this->get_return_url( $subscription ),
195
+				'redirect' => $this->get_return_url($subscription),
196 196
 			);
197
-		} catch ( WC_Stripe_Exception $e ) {
198
-			wc_add_notice( $e->getLocalizedMessage(), 'error' );
199
-			WC_Stripe_Logger::log( 'Error: ' . $e->getMessage() );
197
+		} catch (WC_Stripe_Exception $e) {
198
+			wc_add_notice($e->getLocalizedMessage(), 'error');
199
+			WC_Stripe_Logger::log('Error: ' . $e->getMessage());
200 200
 		}
201 201
 	}
202 202
 
@@ -206,8 +206,8 @@  discard block
 block discarded – undo
206 206
 	 * @param $amount_to_charge float The amount to charge.
207 207
 	 * @param $renewal_order WC_Order A WC_Order object created to record the renewal payment.
208 208
 	 */
209
-	public function scheduled_subscription_payment( $amount_to_charge, $renewal_order ) {
210
-		$this->process_subscription_payment( $amount_to_charge, $renewal_order, true, false );
209
+	public function scheduled_subscription_payment($amount_to_charge, $renewal_order) {
210
+		$this->process_subscription_payment($amount_to_charge, $renewal_order, true, false);
211 211
 	}
212 212
 
213 213
 	/**
@@ -221,11 +221,11 @@  discard block
 block discarded – undo
221 221
 	 * @param bool $retry Should we retry the process?
222 222
 	 * @param object $previous_error
223 223
 	 */
224
-	public function process_subscription_payment( $amount, $renewal_order, $retry = true, $previous_error = false ) {
224
+	public function process_subscription_payment($amount, $renewal_order, $retry = true, $previous_error = false) {
225 225
 		try {
226
-			if ( $amount * 100 < WC_Stripe_Helper::get_minimum_amount() ) {
226
+			if ($amount * 100 < WC_Stripe_Helper::get_minimum_amount()) {
227 227
 				/* translators: minimum amount */
228
-				$message = 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 ) );
228
+				$message = 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));
229 229
 				throw new WC_Stripe_Exception(
230 230
 					'Error while processing renewal order ' . $renewal_order->get_id() . ' : ' . $message,
231 231
 					$message
@@ -234,82 +234,82 @@  discard block
 block discarded – undo
234 234
 
235 235
 			$order_id = $renewal_order->get_id();
236 236
 
237
-			$this->ensure_subscription_has_customer_id( $order_id );
237
+			$this->ensure_subscription_has_customer_id($order_id);
238 238
 
239 239
 			// Get source from order
240
-			$prepared_source = $this->prepare_order_source( $renewal_order );
240
+			$prepared_source = $this->prepare_order_source($renewal_order);
241 241
 			$source_object   = $prepared_source->source_object;
242 242
 
243
-			if ( ! $prepared_source->customer ) {
243
+			if ( ! $prepared_source->customer) {
244 244
 				throw new WC_Stripe_Exception(
245 245
 					'Failed to process renewal for order ' . $renewal_order->get_id() . '. Stripe customer id is missing in the order',
246
-					__( 'Customer not found', 'woocommerce-gateway-stripe' )
246
+					__('Customer not found', 'woocommerce-gateway-stripe')
247 247
 				);
248 248
 			}
249 249
 
250
-			WC_Stripe_Logger::log( "Info: Begin processing subscription payment for order {$order_id} for the amount of {$amount}" );
250
+			WC_Stripe_Logger::log("Info: Begin processing subscription payment for order {$order_id} for the amount of {$amount}");
251 251
 
252 252
 			/* If we're doing a retry and source is chargeable, we need to pass
253 253
 			 * a different idempotency key and retry for success.
254 254
 			 */
255
-			if ( is_object( $source_object ) && empty( $source_object->error ) && $this->need_update_idempotency_key( $source_object, $previous_error ) ) {
256
-				add_filter( 'wc_stripe_idempotency_key', array( $this, 'change_idempotency_key' ), 10, 2 );
255
+			if (is_object($source_object) && empty($source_object->error) && $this->need_update_idempotency_key($source_object, $previous_error)) {
256
+				add_filter('wc_stripe_idempotency_key', array($this, 'change_idempotency_key'), 10, 2);
257 257
 			}
258 258
 
259
-			if ( ( $this->is_no_such_source_error( $previous_error ) || $this->is_no_linked_source_error( $previous_error ) ) && apply_filters( 'wc_stripe_use_default_customer_source', true ) ) {
259
+			if (($this->is_no_such_source_error($previous_error) || $this->is_no_linked_source_error($previous_error)) && apply_filters('wc_stripe_use_default_customer_source', true)) {
260 260
 				// Passing empty source will charge customer default.
261 261
 				$prepared_source->source = '';
262 262
 			}
263 263
 
264
-			$request            = $this->generate_payment_request( $renewal_order, $prepared_source );
264
+			$request            = $this->generate_payment_request($renewal_order, $prepared_source);
265 265
 			$request['capture'] = 'true';
266
-			$request['amount']  = WC_Stripe_Helper::get_stripe_amount( $amount, $request['currency'] );
267
-			$response           = WC_Stripe_API::request( $request );
266
+			$request['amount']  = WC_Stripe_Helper::get_stripe_amount($amount, $request['currency']);
267
+			$response           = WC_Stripe_API::request($request);
268 268
 
269
-			if ( ! empty( $response->error ) ) {
269
+			if ( ! empty($response->error)) {
270 270
 				// We want to retry.
271
-				if ( $this->is_retryable_error( $response->error ) ) {
272
-					if ( $retry ) {
271
+				if ($this->is_retryable_error($response->error)) {
272
+					if ($retry) {
273 273
 						// Don't do anymore retries after this.
274
-						if ( 5 <= $this->retry_interval ) {
275
-							return $this->process_subscription_payment( $amount, $renewal_order, false, $response->error );
274
+						if (5 <= $this->retry_interval) {
275
+							return $this->process_subscription_payment($amount, $renewal_order, false, $response->error);
276 276
 						}
277 277
 
278
-						sleep( $this->retry_interval );
278
+						sleep($this->retry_interval);
279 279
 
280 280
 						$this->retry_interval++;
281 281
 
282
-						return $this->process_subscription_payment( $amount, $renewal_order, true, $response->error );
282
+						return $this->process_subscription_payment($amount, $renewal_order, true, $response->error);
283 283
 					} else {
284
-						$localized_message = __( 'Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe' );
285
-						$renewal_order->add_order_note( $localized_message );
286
-						throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message );
284
+						$localized_message = __('Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe');
285
+						$renewal_order->add_order_note($localized_message);
286
+						throw new WC_Stripe_Exception(print_r($response, true), $localized_message);
287 287
 					}
288 288
 				}
289 289
 
290 290
 				$localized_messages = WC_Stripe_Helper::get_localized_messages();
291 291
 
292
-				if ( 'card_error' === $response->error->type ) {
293
-					$localized_message = isset( $localized_messages[ $response->error->code ] ) ? $localized_messages[ $response->error->code ] : $response->error->message;
292
+				if ('card_error' === $response->error->type) {
293
+					$localized_message = isset($localized_messages[$response->error->code]) ? $localized_messages[$response->error->code] : $response->error->message;
294 294
 				} else {
295
-					$localized_message = isset( $localized_messages[ $response->error->type ] ) ? $localized_messages[ $response->error->type ] : $response->error->message;
295
+					$localized_message = isset($localized_messages[$response->error->type]) ? $localized_messages[$response->error->type] : $response->error->message;
296 296
 				}
297 297
 
298
-				$renewal_order->add_order_note( $localized_message );
298
+				$renewal_order->add_order_note($localized_message);
299 299
 
300
-				throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message );
300
+				throw new WC_Stripe_Exception(print_r($response, true), $localized_message);
301 301
 			}
302 302
 
303
-			do_action( 'wc_gateway_stripe_process_payment', $response, $renewal_order );
303
+			do_action('wc_gateway_stripe_process_payment', $response, $renewal_order);
304 304
 
305
-			$this->process_response( $response, $renewal_order );
306
-		} catch ( WC_Stripe_Exception $e ) {
307
-			WC_Stripe_Logger::log( 'Error: ' . $e->getMessage() );
305
+			$this->process_response($response, $renewal_order);
306
+		} catch (WC_Stripe_Exception $e) {
307
+			WC_Stripe_Logger::log('Error: ' . $e->getMessage());
308 308
 
309
-			do_action( 'wc_gateway_stripe_process_payment_error', $e, $renewal_order );
309
+			do_action('wc_gateway_stripe_process_payment_error', $e, $renewal_order);
310 310
 
311 311
 			/* translators: error message */
312
-			$renewal_order->update_status( 'failed' );
312
+			$renewal_order->update_status('failed');
313 313
 		}
314 314
 	}
315 315
 
@@ -317,21 +317,21 @@  discard block
 block discarded – undo
317 317
 	 * Don't transfer Stripe customer/token meta to resubscribe orders.
318 318
 	 * @param int $resubscribe_order The order created for the customer to resubscribe to the old expired/cancelled subscription
319 319
 	 */
320
-	public function delete_resubscribe_meta( $resubscribe_order ) {
321
-		delete_post_meta( $resubscribe_order->get_id(), '_stripe_customer_id' );
322
-		delete_post_meta( $resubscribe_order->get_id(), '_stripe_source_id' );
320
+	public function delete_resubscribe_meta($resubscribe_order) {
321
+		delete_post_meta($resubscribe_order->get_id(), '_stripe_customer_id');
322
+		delete_post_meta($resubscribe_order->get_id(), '_stripe_source_id');
323 323
 		// For BW compat will remove in future
324
-		delete_post_meta( $resubscribe_order->get_id(), '_stripe_card_id' );
325
-		$this->delete_renewal_meta( $resubscribe_order );
324
+		delete_post_meta($resubscribe_order->get_id(), '_stripe_card_id');
325
+		$this->delete_renewal_meta($resubscribe_order);
326 326
 	}
327 327
 
328 328
 	/**
329 329
 	 * Don't transfer Stripe fee/ID meta to renewal orders.
330 330
 	 * @param int $resubscribe_order The order created for the customer to resubscribe to the old expired/cancelled subscription
331 331
 	 */
332
-	public function delete_renewal_meta( $renewal_order ) {
333
-		WC_Stripe_Helper::delete_stripe_fee( $renewal_order );
334
-		WC_Stripe_Helper::delete_stripe_net( $renewal_order );
332
+	public function delete_renewal_meta($renewal_order) {
333
+		WC_Stripe_Helper::delete_stripe_fee($renewal_order);
334
+		WC_Stripe_Helper::delete_stripe_net($renewal_order);
335 335
 
336 336
 		return $renewal_order;
337 337
 	}
@@ -345,9 +345,9 @@  discard block
 block discarded – undo
345 345
 	 * @param WC_Order $renewal_order The order which recorded the successful payment (to make up for the failed automatic payment).
346 346
 	 * @return void
347 347
 	 */
348
-	public function update_failing_payment_method( $subscription, $renewal_order ) {
349
-		update_post_meta( $subscription->get_id(), '_stripe_customer_id', $renewal_order->get_meta( '_stripe_customer_id', true ) );
350
-		update_post_meta( $subscription->get_id(), '_stripe_source_id', $renewal_order->get_meta( '_stripe_source_id', true ) );
348
+	public function update_failing_payment_method($subscription, $renewal_order) {
349
+		update_post_meta($subscription->get_id(), '_stripe_customer_id', $renewal_order->get_meta('_stripe_customer_id', true));
350
+		update_post_meta($subscription->get_id(), '_stripe_source_id', $renewal_order->get_meta('_stripe_source_id', true));
351 351
 	}
352 352
 
353 353
 	/**
@@ -359,21 +359,21 @@  discard block
 block discarded – undo
359 359
 	 * @param WC_Subscription $subscription An instance of a subscription object
360 360
 	 * @return array
361 361
 	 */
362
-	public function add_subscription_payment_meta( $payment_meta, $subscription ) {
363
-		$source_id = get_post_meta( $subscription->get_id(), '_stripe_source_id', true );
362
+	public function add_subscription_payment_meta($payment_meta, $subscription) {
363
+		$source_id = get_post_meta($subscription->get_id(), '_stripe_source_id', true);
364 364
 
365 365
 		// For BW compat will remove in future.
366
-		if ( empty( $source_id ) ) {
367
-			$source_id = get_post_meta( $subscription->get_id(), '_stripe_card_id', true );
366
+		if (empty($source_id)) {
367
+			$source_id = get_post_meta($subscription->get_id(), '_stripe_card_id', true);
368 368
 
369 369
 			// Take this opportunity to update the key name.
370
-			update_post_meta( $subscription->get_id(), '_stripe_source_id', $source_id );
370
+			update_post_meta($subscription->get_id(), '_stripe_source_id', $source_id);
371 371
 		}
372 372
 
373
-		$payment_meta[ $this->id ] = array(
373
+		$payment_meta[$this->id] = array(
374 374
 			'post_meta' => array(
375 375
 				'_stripe_customer_id' => array(
376
-					'value' => get_post_meta( $subscription->get_id(), '_stripe_customer_id', true ),
376
+					'value' => get_post_meta($subscription->get_id(), '_stripe_customer_id', true),
377 377
 					'label' => 'Stripe Customer ID',
378 378
 				),
379 379
 				'_stripe_source_id'   => array(
@@ -394,26 +394,26 @@  discard block
 block discarded – undo
394 394
 	 * @param array $payment_meta associative array of meta data required for automatic payments
395 395
 	 * @return array
396 396
 	 */
397
-	public function validate_subscription_payment_meta( $payment_method_id, $payment_meta ) {
398
-		if ( $this->id === $payment_method_id ) {
397
+	public function validate_subscription_payment_meta($payment_method_id, $payment_meta) {
398
+		if ($this->id === $payment_method_id) {
399 399
 
400
-			if ( ! isset( $payment_meta['post_meta']['_stripe_customer_id']['value'] ) || empty( $payment_meta['post_meta']['_stripe_customer_id']['value'] ) ) {
400
+			if ( ! isset($payment_meta['post_meta']['_stripe_customer_id']['value']) || empty($payment_meta['post_meta']['_stripe_customer_id']['value'])) {
401 401
 
402 402
 				// Allow empty stripe customer id during subscription renewal. It will be added when processing payment if required.
403
-				if ( ! isset( $_POST['wc_order_action'] ) || 'wcs_process_renewal' !== $_POST['wc_order_action'] ) {
404
-					throw new Exception( __( 'A "Stripe Customer ID" value is required.', 'woocommerce-gateway-stripe' ) );
403
+				if ( ! isset($_POST['wc_order_action']) || 'wcs_process_renewal' !== $_POST['wc_order_action']) {
404
+					throw new Exception(__('A "Stripe Customer ID" value is required.', 'woocommerce-gateway-stripe'));
405 405
 				}
406
-			} elseif ( 0 !== strpos( $payment_meta['post_meta']['_stripe_customer_id']['value'], 'cus_' ) ) {
407
-				throw new Exception( __( 'Invalid customer ID. A valid "Stripe Customer ID" must begin with "cus_".', 'woocommerce-gateway-stripe' ) );
406
+			} elseif (0 !== strpos($payment_meta['post_meta']['_stripe_customer_id']['value'], 'cus_')) {
407
+				throw new Exception(__('Invalid customer ID. A valid "Stripe Customer ID" must begin with "cus_".', 'woocommerce-gateway-stripe'));
408 408
 			}
409 409
 
410 410
 			if (
411
-				( ! empty( $payment_meta['post_meta']['_stripe_source_id']['value'] )
412
-				&& 0 !== strpos( $payment_meta['post_meta']['_stripe_source_id']['value'], 'card_' ) )
413
-				&& ( ! empty( $payment_meta['post_meta']['_stripe_source_id']['value'] )
414
-				&& 0 !== strpos( $payment_meta['post_meta']['_stripe_source_id']['value'], 'src_' ) ) ) {
411
+				( ! empty($payment_meta['post_meta']['_stripe_source_id']['value'])
412
+				&& 0 !== strpos($payment_meta['post_meta']['_stripe_source_id']['value'], 'card_'))
413
+				&& ( ! empty($payment_meta['post_meta']['_stripe_source_id']['value'])
414
+				&& 0 !== strpos($payment_meta['post_meta']['_stripe_source_id']['value'], 'src_')) ) {
415 415
 
416
-				throw new Exception( __( 'Invalid source ID. A valid source "Stripe Source ID" must begin with "src_" or "card_".', 'woocommerce-gateway-stripe' ) );
416
+				throw new Exception(__('Invalid source ID. A valid source "Stripe Source ID" must begin with "src_" or "card_".', 'woocommerce-gateway-stripe'));
417 417
 			}
418 418
 		}
419 419
 	}
@@ -426,67 +426,67 @@  discard block
 block discarded – undo
426 426
 	 * @param WC_Subscription $subscription the subscription details
427 427
 	 * @return string the subscription payment method
428 428
 	 */
429
-	public function maybe_render_subscription_payment_method( $payment_method_to_display, $subscription ) {
429
+	public function maybe_render_subscription_payment_method($payment_method_to_display, $subscription) {
430 430
 		$customer_user = $subscription->get_customer_id();
431 431
 
432 432
 		// bail for other payment methods
433
-		if ( $subscription->get_payment_method() !== $this->id || ! $customer_user ) {
433
+		if ($subscription->get_payment_method() !== $this->id || ! $customer_user) {
434 434
 			return $payment_method_to_display;
435 435
 		}
436 436
 
437
-		$stripe_source_id = get_post_meta( $subscription->get_id(), '_stripe_source_id', true );
437
+		$stripe_source_id = get_post_meta($subscription->get_id(), '_stripe_source_id', true);
438 438
 
439 439
 		// For BW compat will remove in future.
440
-		if ( empty( $stripe_source_id ) ) {
441
-			$stripe_source_id = get_post_meta( $subscription->get_id(), '_stripe_card_id', true );
440
+		if (empty($stripe_source_id)) {
441
+			$stripe_source_id = get_post_meta($subscription->get_id(), '_stripe_card_id', true);
442 442
 
443 443
 			// Take this opportunity to update the key name.
444
-			update_post_meta( $subscription->get_id(), '_stripe_source_id', $stripe_source_id );
444
+			update_post_meta($subscription->get_id(), '_stripe_source_id', $stripe_source_id);
445 445
 		}
446 446
 
447 447
 		$stripe_customer    = new WC_Stripe_Customer();
448
-		$stripe_customer_id = get_post_meta( $subscription->get_id(), '_stripe_customer_id', true );
448
+		$stripe_customer_id = get_post_meta($subscription->get_id(), '_stripe_customer_id', true);
449 449
 
450 450
 		// If we couldn't find a Stripe customer linked to the subscription, fallback to the user meta data.
451
-		if ( ! $stripe_customer_id || ! is_string( $stripe_customer_id ) ) {
451
+		if ( ! $stripe_customer_id || ! is_string($stripe_customer_id)) {
452 452
 			$user_id            = $customer_user;
453
-			$stripe_customer_id = get_user_option( '_stripe_customer_id', $user_id );
454
-			$stripe_source_id   = get_user_option( '_stripe_source_id', $user_id );
453
+			$stripe_customer_id = get_user_option('_stripe_customer_id', $user_id);
454
+			$stripe_source_id   = get_user_option('_stripe_source_id', $user_id);
455 455
 
456 456
 			// For BW compat will remove in future.
457
-			if ( empty( $stripe_source_id ) ) {
458
-				$stripe_source_id = get_user_option( '_stripe_card_id', $user_id );
457
+			if (empty($stripe_source_id)) {
458
+				$stripe_source_id = get_user_option('_stripe_card_id', $user_id);
459 459
 
460 460
 				// Take this opportunity to update the key name.
461
-				update_user_option( $user_id, '_stripe_source_id', $stripe_source_id, false );
461
+				update_user_option($user_id, '_stripe_source_id', $stripe_source_id, false);
462 462
 			}
463 463
 		}
464 464
 
465 465
 		// If we couldn't find a Stripe customer linked to the account, fallback to the order meta data.
466
-		if ( ( ! $stripe_customer_id || ! is_string( $stripe_customer_id ) ) && false !== $subscription->order ) {
467
-			$stripe_customer_id = get_post_meta( $subscription->get_parent_id(), '_stripe_customer_id', true );
468
-			$stripe_source_id   = get_post_meta( $subscription->get_parent_id(), '_stripe_source_id', true );
466
+		if (( ! $stripe_customer_id || ! is_string($stripe_customer_id)) && false !== $subscription->order) {
467
+			$stripe_customer_id = get_post_meta($subscription->get_parent_id(), '_stripe_customer_id', true);
468
+			$stripe_source_id   = get_post_meta($subscription->get_parent_id(), '_stripe_source_id', true);
469 469
 
470 470
 			// For BW compat will remove in future.
471
-			if ( empty( $stripe_source_id ) ) {
472
-				$stripe_source_id = get_post_meta( $subscription->get_parent_id(), '_stripe_card_id', true );
471
+			if (empty($stripe_source_id)) {
472
+				$stripe_source_id = get_post_meta($subscription->get_parent_id(), '_stripe_card_id', true);
473 473
 
474 474
 				// Take this opportunity to update the key name.
475
-				update_post_meta( $subscription->get_parent_id(), '_stripe_source_id', $stripe_source_id );
475
+				update_post_meta($subscription->get_parent_id(), '_stripe_source_id', $stripe_source_id);
476 476
 			}
477 477
 		}
478 478
 
479
-		$stripe_customer->set_id( $stripe_customer_id );
479
+		$stripe_customer->set_id($stripe_customer_id);
480 480
 
481 481
 		$sources                   = $stripe_customer->get_sources();
482
-		$payment_method_to_display = __( 'N/A', 'woocommerce-gateway-stripe' );
482
+		$payment_method_to_display = __('N/A', 'woocommerce-gateway-stripe');
483 483
 
484
-		if ( $sources ) {
485
-			foreach ( $sources as $source ) {
486
-				if ( $source->id === $stripe_source_id ) {
487
-					if ( $source->sepa_debit ) {
484
+		if ($sources) {
485
+			foreach ($sources as $source) {
486
+				if ($source->id === $stripe_source_id) {
487
+					if ($source->sepa_debit) {
488 488
 						/* translators: 1) last 4 digits of SEPA Direct Debit */
489
-						$payment_method_to_display = sprintf( __( 'Via SEPA Direct Debit ending in %1$s', 'woocommerce-gateway-stripe' ), $source->sepa_debit->last4 );
489
+						$payment_method_to_display = sprintf(__('Via SEPA Direct Debit ending in %1$s', 'woocommerce-gateway-stripe'), $source->sepa_debit->last4);
490 490
 					}
491 491
 
492 492
 					break;
Please login to merge, or discard this patch.