Completed
Push — master ( 60eba6...3f5bac )
by Roy
02:10
created
includes/class-wc-gateway-stripe.php 1 patch
Spacing   +261 added lines, -261 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
 
@@ -120,9 +120,9 @@  discard block
 block discarded – undo
120 120
 	public function __construct() {
121 121
 		$this->retry_interval       = 1;
122 122
 		$this->id                   = 'stripe';
123
-		$this->method_title         = __( 'Stripe', 'woocommerce-gateway-stripe' );
123
+		$this->method_title         = __('Stripe', 'woocommerce-gateway-stripe');
124 124
 		/* translators: 1) link to Stripe register page 2) link to Stripe api keys page */
125
-		$this->method_description   = sprintf( __( 'Stripe works by adding payment fields on the checkout and then sending the details to Stripe for verification. <a href="%1$s" target="_blank">Sign up</a> for a Stripe account, and <a href="%2$s" target="_blank">get your Stripe account keys</a>.', 'woocommerce-gateway-stripe' ), 'https://dashboard.stripe.com/register', 'https://dashboard.stripe.com/account/apikeys' );
125
+		$this->method_description   = sprintf(__('Stripe works by adding payment fields on the checkout and then sending the details to Stripe for verification. <a href="%1$s" target="_blank">Sign up</a> for a Stripe account, and <a href="%2$s" target="_blank">get your Stripe account keys</a>.', 'woocommerce-gateway-stripe'), 'https://dashboard.stripe.com/register', 'https://dashboard.stripe.com/account/apikeys');
126 126
 		$this->has_fields           = true;
127 127
 		$this->supports             = array(
128 128
 			'products',
@@ -149,43 +149,43 @@  discard block
 block discarded – undo
149 149
 		$this->init_settings();
150 150
 
151 151
 		// Get setting values.
152
-		$this->title                       = $this->get_option( 'title' );
153
-		$this->description                 = $this->get_option( 'description' );
154
-		$this->enabled                     = $this->get_option( 'enabled' );
155
-		$this->testmode                    = 'yes' === $this->get_option( 'testmode' );
156
-		$this->inline_cc_form              = 'yes' === $this->get_option( 'inline_cc_form' );
157
-		$this->capture                     = 'yes' === $this->get_option( 'capture', 'yes' );
158
-		$this->statement_descriptor        = WC_Stripe_Helper::clean_statement_descriptor( $this->get_option( 'statement_descriptor' ) );
159
-		$this->three_d_secure              = 'yes' === $this->get_option( 'three_d_secure' );
160
-		$this->stripe_checkout             = 'yes' === $this->get_option( 'stripe_checkout' );
161
-		$this->stripe_checkout_image       = $this->get_option( 'stripe_checkout_image', '' );
162
-		$this->stripe_checkout_description = $this->get_option( 'stripe_checkout_description' );
163
-		$this->saved_cards                 = 'yes' === $this->get_option( 'saved_cards' );
164
-		$this->secret_key                  = $this->testmode ? $this->get_option( 'test_secret_key' ) : $this->get_option( 'secret_key' );
165
-		$this->publishable_key             = $this->testmode ? $this->get_option( 'test_publishable_key' ) : $this->get_option( 'publishable_key' );
166
-		$this->bitcoin                     = 'USD' === strtoupper( get_woocommerce_currency() ) && 'yes' === $this->get_option( 'stripe_bitcoin' );
167
-		$this->payment_request             = 'yes' === $this->get_option( 'payment_request', 'yes' );
168
-
169
-		if ( $this->stripe_checkout ) {
170
-			$this->order_button_text = __( 'Continue to payment', 'woocommerce-gateway-stripe' );
171
-		}
172
-
173
-		WC_Stripe_API::set_secret_key( $this->secret_key );
152
+		$this->title                       = $this->get_option('title');
153
+		$this->description                 = $this->get_option('description');
154
+		$this->enabled                     = $this->get_option('enabled');
155
+		$this->testmode                    = 'yes' === $this->get_option('testmode');
156
+		$this->inline_cc_form              = 'yes' === $this->get_option('inline_cc_form');
157
+		$this->capture                     = 'yes' === $this->get_option('capture', 'yes');
158
+		$this->statement_descriptor        = WC_Stripe_Helper::clean_statement_descriptor($this->get_option('statement_descriptor'));
159
+		$this->three_d_secure              = 'yes' === $this->get_option('three_d_secure');
160
+		$this->stripe_checkout             = 'yes' === $this->get_option('stripe_checkout');
161
+		$this->stripe_checkout_image       = $this->get_option('stripe_checkout_image', '');
162
+		$this->stripe_checkout_description = $this->get_option('stripe_checkout_description');
163
+		$this->saved_cards                 = 'yes' === $this->get_option('saved_cards');
164
+		$this->secret_key                  = $this->testmode ? $this->get_option('test_secret_key') : $this->get_option('secret_key');
165
+		$this->publishable_key             = $this->testmode ? $this->get_option('test_publishable_key') : $this->get_option('publishable_key');
166
+		$this->bitcoin                     = 'USD' === strtoupper(get_woocommerce_currency()) && 'yes' === $this->get_option('stripe_bitcoin');
167
+		$this->payment_request             = 'yes' === $this->get_option('payment_request', 'yes');
168
+
169
+		if ($this->stripe_checkout) {
170
+			$this->order_button_text = __('Continue to payment', 'woocommerce-gateway-stripe');
171
+		}
172
+
173
+		WC_Stripe_API::set_secret_key($this->secret_key);
174 174
 
175 175
 		// Hooks.
176
-		add_action( 'wp_enqueue_scripts', array( $this, 'payment_scripts' ) );
177
-		add_action( 'admin_enqueue_scripts', array( $this, 'admin_scripts' ) );
178
-		add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, array( $this, 'process_admin_options' ) );
179
-		add_action( 'woocommerce_admin_order_totals_after_total', array( $this, 'display_order_fee' ), 10, 1 );
180
-		add_action( 'woocommerce_admin_order_totals_after_total', array( $this, 'display_order_payout' ), 20, 1 );
181
-		add_action( 'woocommerce_customer_save_address', array( $this, 'show_update_card_notice' ), 10, 2 );
182
-		add_action( 'woocommerce_receipt_stripe', array( $this, 'stripe_checkout_receipt_page' ) );
183
-		add_action( 'woocommerce_api_' . strtolower( get_class( $this ) ), array( $this, 'stripe_checkout_return_handler' ) );
184
-
185
-		if ( WC_Stripe_Helper::is_pre_orders_exists() ) {
176
+		add_action('wp_enqueue_scripts', array($this, 'payment_scripts'));
177
+		add_action('admin_enqueue_scripts', array($this, 'admin_scripts'));
178
+		add_action('woocommerce_update_options_payment_gateways_' . $this->id, array($this, 'process_admin_options'));
179
+		add_action('woocommerce_admin_order_totals_after_total', array($this, 'display_order_fee'), 10, 1);
180
+		add_action('woocommerce_admin_order_totals_after_total', array($this, 'display_order_payout'), 20, 1);
181
+		add_action('woocommerce_customer_save_address', array($this, 'show_update_card_notice'), 10, 2);
182
+		add_action('woocommerce_receipt_stripe', array($this, 'stripe_checkout_receipt_page'));
183
+		add_action('woocommerce_api_' . strtolower(get_class($this)), array($this, 'stripe_checkout_return_handler'));
184
+
185
+		if (WC_Stripe_Helper::is_pre_orders_exists()) {
186 186
 			$this->pre_orders = new WC_Stripe_Pre_Orders_Compat();
187 187
 
188
-			add_action( 'wc_pre_orders_process_pre_order_completion_payment_' . $this->id, array( $this->pre_orders, 'process_pre_order_release_payment' ) );
188
+			add_action('wc_pre_orders_process_pre_order_completion_payment_' . $this->id, array($this->pre_orders, 'process_pre_order_release_payment'));
189 189
 		}
190 190
 	}
191 191
 
@@ -196,7 +196,7 @@  discard block
 block discarded – undo
196 196
 	 * @return bool
197 197
 	 */
198 198
 	public function are_keys_set() {
199
-		if ( empty( $this->secret_key ) || empty( $this->publishable_key ) ) {
199
+		if (empty($this->secret_key) || empty($this->publishable_key)) {
200 200
 			return false;
201 201
 		}
202 202
 
@@ -209,7 +209,7 @@  discard block
 block discarded – undo
209 209
 	 * @since 4.0.2
210 210
 	 */
211 211
 	public function is_available() {
212
-		if ( is_add_payment_method_page() && ! $this->saved_cards ) {
212
+		if (is_add_payment_method_page() && ! $this->saved_cards) {
213 213
 			return false;
214 214
 		}
215 215
 
@@ -223,13 +223,13 @@  discard block
 block discarded – undo
223 223
 	 * @param int $user_id
224 224
 	 * @param array $load_address
225 225
 	 */
226
-	public function show_update_card_notice( $user_id, $load_address ) {
227
-		if ( ! $this->saved_cards || ! WC_Stripe_Payment_Tokens::customer_has_saved_methods( $user_id ) || 'billing' !== $load_address ) {
226
+	public function show_update_card_notice($user_id, $load_address) {
227
+		if ( ! $this->saved_cards || ! WC_Stripe_Payment_Tokens::customer_has_saved_methods($user_id) || 'billing' !== $load_address) {
228 228
 			return;
229 229
 		}
230 230
 
231 231
 		/* translators: 1) Opening anchor tag 2) closing anchor tag */
232
-		wc_add_notice( sprintf( __( 'If your billing address has been changed for saved payment methods, be sure to remove any %1$ssaved payment methods%2$s on file and re-add them.', 'woocommerce-gateway-stripe' ), '<a href="' . esc_url( wc_get_endpoint_url( 'payment-methods' ) ) . '" class="wc-stripe-update-card-notice" style="text-decoration:underline;">', '</a>' ), 'notice' );
232
+		wc_add_notice(sprintf(__('If your billing address has been changed for saved payment methods, be sure to remove any %1$ssaved payment methods%2$s on file and re-add them.', 'woocommerce-gateway-stripe'), '<a href="' . esc_url(wc_get_endpoint_url('payment-methods')) . '" class="wc-stripe-update-card-notice" style="text-decoration:underline;">', '</a>'), 'notice');
233 233
 	}
234 234
 
235 235
 	/**
@@ -248,24 +248,24 @@  discard block
 block discarded – undo
248 248
 		$icons_str .= $icons['amex'];
249 249
 		$icons_str .= $icons['mastercard'];
250 250
 
251
-		if ( 'USD' === get_woocommerce_currency() ) {
251
+		if ('USD' === get_woocommerce_currency()) {
252 252
 			$icons_str .= $icons['discover'];
253 253
 			$icons_str .= $icons['jcb'];
254 254
 			$icons_str .= $icons['diners'];
255 255
 		}
256 256
 
257
-		if ( $this->bitcoin && $this->stripe_checkout ) {
257
+		if ($this->bitcoin && $this->stripe_checkout) {
258 258
 			$icons_str .= $icons['bitcoin'];
259 259
 		}
260 260
 
261
-		return apply_filters( 'woocommerce_gateway_icon', $icons_str, $this->id );
261
+		return apply_filters('woocommerce_gateway_icon', $icons_str, $this->id);
262 262
 	}
263 263
 
264 264
 	/**
265 265
 	 * Initialise Gateway Settings Form Fields
266 266
 	 */
267 267
 	public function init_form_fields() {
268
-		$this->form_fields = require( dirname( __FILE__ ) . '/admin/stripe-settings.php' );
268
+		$this->form_fields = require(dirname(__FILE__) . '/admin/stripe-settings.php');
269 269
 	}
270 270
 
271 271
 	/**
@@ -273,28 +273,28 @@  discard block
 block discarded – undo
273 273
 	 */
274 274
 	public function payment_fields() {
275 275
 		$user                 = wp_get_current_user();
276
-		$display_tokenization = $this->supports( 'tokenization' ) && is_checkout() && $this->saved_cards;
276
+		$display_tokenization = $this->supports('tokenization') && is_checkout() && $this->saved_cards;
277 277
 		$total                = WC()->cart->total;
278 278
 		$user_email           = '';
279 279
 		$description          = $this->get_description() ? $this->get_description() : '';
280 280
 
281 281
 		// If paying from order, we need to get total from order not cart.
282
-		if ( isset( $_GET['pay_for_order'] ) && ! empty( $_GET['key'] ) ) {
283
-			$order      = wc_get_order( wc_get_order_id_by_order_key( wc_clean( $_GET['key'] ) ) );
282
+		if (isset($_GET['pay_for_order']) && ! empty($_GET['key'])) {
283
+			$order      = wc_get_order(wc_get_order_id_by_order_key(wc_clean($_GET['key'])));
284 284
 			$total      = $order->get_total();
285 285
 			$user_email = WC_Stripe_Helper::is_pre_30() ? $order->billing_email : $order->get_billing_email();
286 286
 		} else {
287
-			if ( $user->ID ) {
288
-				$user_email = get_user_meta( $user->ID, 'billing_email', true );
287
+			if ($user->ID) {
288
+				$user_email = get_user_meta($user->ID, 'billing_email', true);
289 289
 				$user_email = $user_email ? $user_email : $user->user_email;
290 290
 			}
291 291
 		}
292 292
 
293
-		if ( is_add_payment_method_page() ) {
294
-			$pay_button_text = __( 'Add Card', 'woocommerce-gateway-stripe' );
293
+		if (is_add_payment_method_page()) {
294
+			$pay_button_text = __('Add Card', 'woocommerce-gateway-stripe');
295 295
 			$total        = '';
296
-		} elseif ( function_exists( 'wcs_order_contains_subscription' ) && isset( $_GET['change_payment_method'] ) ) {
297
-			$pay_button_text = __( 'Change Payment Method', 'woocommerce-gateway-stripe' );
296
+		} elseif (function_exists('wcs_order_contains_subscription') && isset($_GET['change_payment_method'])) {
297
+			$pay_button_text = __('Change Payment Method', 'woocommerce-gateway-stripe');
298 298
 			$total        = '';
299 299
 		} else {
300 300
 			$pay_button_text = '';
@@ -304,45 +304,45 @@  discard block
 block discarded – undo
304 304
 
305 305
 		echo '<div
306 306
 			id="stripe-payment-data"
307
-			data-panel-label="' . esc_attr( $pay_button_text ) . '"
308
-			data-description="' . esc_attr( strip_tags( $this->stripe_checkout_description ) ) . '"
309
-			data-email="' . esc_attr( $user_email ) . '"
310
-			data-verify-zip="' . esc_attr( apply_filters( 'wc_stripe_checkout_verify_zip', false ) ? 'true' : 'false' ) . '"
311
-			data-billing-address="' . esc_attr( apply_filters( 'wc_stripe_checkout_require_billing_address', false ) ? 'true' : 'false' ) . '"
312
-			data-shipping-address="' . esc_attr( apply_filters( 'wc_stripe_checkout_require_shipping_address', false ) ? 'true' : 'false' ) . '" 
313
-			data-amount="' . esc_attr( WC_Stripe_Helper::get_stripe_amount( $total ) ) . '"
314
-			data-name="' . esc_attr( $this->statement_descriptor ) . '"
315
-			data-currency="' . esc_attr( strtolower( get_woocommerce_currency() ) ) . '"
316
-			data-image="' . esc_attr( $this->stripe_checkout_image ) . '"
317
-			data-bitcoin="' . esc_attr( ( $this->bitcoin && $this->capture ) ? 'true' : 'false' ) . '"
318
-			data-locale="' . esc_attr( apply_filters( 'wc_stripe_checkout_locale', $this->get_locale() ) ) . '"
319
-			data-three-d-secure="' . esc_attr( $this->three_d_secure ? 'true' : 'false' ) . '"
320
-			data-allow-remember-me="' . esc_attr( apply_filters( 'wc_stripe_allow_remember_me', true ) ? 'true' : 'false' ) . '">';
321
-
322
-		if ( $description ) {
323
-			if ( $this->testmode ) {
307
+			data-panel-label="' . esc_attr($pay_button_text) . '"
308
+			data-description="' . esc_attr(strip_tags($this->stripe_checkout_description)) . '"
309
+			data-email="' . esc_attr($user_email) . '"
310
+			data-verify-zip="' . esc_attr(apply_filters('wc_stripe_checkout_verify_zip', false) ? 'true' : 'false') . '"
311
+			data-billing-address="' . esc_attr(apply_filters('wc_stripe_checkout_require_billing_address', false) ? 'true' : 'false') . '"
312
+			data-shipping-address="' . esc_attr(apply_filters('wc_stripe_checkout_require_shipping_address', false) ? 'true' : 'false') . '" 
313
+			data-amount="' . esc_attr(WC_Stripe_Helper::get_stripe_amount($total)) . '"
314
+			data-name="' . esc_attr($this->statement_descriptor) . '"
315
+			data-currency="' . esc_attr(strtolower(get_woocommerce_currency())) . '"
316
+			data-image="' . esc_attr($this->stripe_checkout_image) . '"
317
+			data-bitcoin="' . esc_attr(($this->bitcoin && $this->capture) ? 'true' : 'false') . '"
318
+			data-locale="' . esc_attr(apply_filters('wc_stripe_checkout_locale', $this->get_locale())) . '"
319
+			data-three-d-secure="' . esc_attr($this->three_d_secure ? 'true' : 'false') . '"
320
+			data-allow-remember-me="' . esc_attr(apply_filters('wc_stripe_allow_remember_me', true) ? 'true' : 'false') . '">';
321
+
322
+		if ($description) {
323
+			if ($this->testmode) {
324 324
 				/* translators: link to Stripe testing page */
325
-				$description .= ' ' . sprintf( __( 'TEST MODE ENABLED. In test mode, you can use the card number 4242424242424242 with any CVC and a valid expiration date or check the <a href="%s" target="_blank">Testing Stripe documentation</a> for more card numbers.', 'woocommerce-gateway-stripe' ), 'https://stripe.com/docs/testing' );
326
-				$description  = trim( $description );
325
+				$description .= ' ' . sprintf(__('TEST MODE ENABLED. In test mode, you can use the card number 4242424242424242 with any CVC and a valid expiration date or check the <a href="%s" target="_blank">Testing Stripe documentation</a> for more card numbers.', 'woocommerce-gateway-stripe'), 'https://stripe.com/docs/testing');
326
+				$description  = trim($description);
327 327
 			}
328 328
 
329
-			echo apply_filters( 'wc_stripe_description', wpautop( wp_kses_post( $description ) ), $this->id );
329
+			echo apply_filters('wc_stripe_description', wpautop(wp_kses_post($description)), $this->id);
330 330
 		}
331 331
 
332
-		if ( $display_tokenization ) {
332
+		if ($display_tokenization) {
333 333
 			$this->tokenization_script();
334 334
 			$this->saved_payment_methods();
335 335
 		}
336 336
 
337
-		if ( ! $this->stripe_checkout ) {
337
+		if ( ! $this->stripe_checkout) {
338 338
 			$this->elements_form();
339 339
 		}
340 340
 
341
-		if ( apply_filters( 'wc_stripe_display_save_payment_method_checkbox', $display_tokenization ) && ! is_add_payment_method_page() && ! isset( $_GET['change_payment_method'] ) ) {
341
+		if (apply_filters('wc_stripe_display_save_payment_method_checkbox', $display_tokenization) && ! is_add_payment_method_page() && ! isset($_GET['change_payment_method'])) {
342 342
 
343
-			if ( ! $this->stripe_checkout ) {
343
+			if ( ! $this->stripe_checkout) {
344 344
 				$this->save_payment_method_checkbox();
345
-			} elseif ( $this->stripe_checkout && isset( $_GET['pay_for_order'] ) && ! empty( $_GET['key'] ) ) {
345
+			} elseif ($this->stripe_checkout && isset($_GET['pay_for_order']) && ! empty($_GET['key'])) {
346 346
 				$this->save_payment_method_checkbox();
347 347
 			}
348 348
 		}
@@ -360,12 +360,12 @@  discard block
 block discarded – undo
360 360
 	 */
361 361
 	public function elements_form() {
362 362
 		?>
363
-		<fieldset id="wc-<?php echo esc_attr( $this->id ); ?>-cc-form" class="wc-credit-card-form wc-payment-form" style="background:transparent;">
364
-			<?php do_action( 'woocommerce_credit_card_form_start', $this->id ); ?>
363
+		<fieldset id="wc-<?php echo esc_attr($this->id); ?>-cc-form" class="wc-credit-card-form wc-payment-form" style="background:transparent;">
364
+			<?php do_action('woocommerce_credit_card_form_start', $this->id); ?>
365 365
 
366
-			<?php if ( $this->inline_cc_form ) { ?>
366
+			<?php if ($this->inline_cc_form) { ?>
367 367
 				<label for="card-element">
368
-					<?php esc_html_e( 'Credit or debit card', 'woocommerce-gateway-stripe' ); ?>
368
+					<?php esc_html_e('Credit or debit card', 'woocommerce-gateway-stripe'); ?>
369 369
 				</label>
370 370
 
371 371
 				<div id="stripe-card-element" style="background:#fff;padding:0 1em;border:1px solid #ddd;margin:5px 0;padding:10px 5px;">
@@ -373,7 +373,7 @@  discard block
 block discarded – undo
373 373
 				</div>
374 374
 			<?php } else { ?>
375 375
 				<div class="form-row form-row-wide">
376
-					<label><?php esc_html_e( 'Card Number', 'woocommerce-gateway-stripe' ); ?> <span class="required">*</span></label>
376
+					<label><?php esc_html_e('Card Number', 'woocommerce-gateway-stripe'); ?> <span class="required">*</span></label>
377 377
 					<div class="stripe-card-group">
378 378
 						<div id="stripe-card-element" style="background:#fff;padding:0 1em;border:1px solid #ddd;margin:5px 0;padding:10px 5px;">
379 379
 						<!-- a Stripe Element will be inserted here. -->
@@ -384,7 +384,7 @@  discard block
 block discarded – undo
384 384
 				</div>
385 385
 
386 386
 				<div class="form-row form-row-first">
387
-					<label><?php esc_html_e( 'Expiry Date', 'woocommerce-gateway-stripe' ); ?> <span class="required">*</span></label>
387
+					<label><?php esc_html_e('Expiry Date', 'woocommerce-gateway-stripe'); ?> <span class="required">*</span></label>
388 388
 
389 389
 					<div id="stripe-exp-element" style="background:#fff;padding:0 1em;border:1px solid #ddd;margin:5px 0;padding:10px 5px;">
390 390
 					<!-- a Stripe Element will be inserted here. -->
@@ -392,7 +392,7 @@  discard block
 block discarded – undo
392 392
 				</div>
393 393
 
394 394
 				<div class="form-row form-row-last">
395
-					<label><?php esc_html_e( 'Card Code (CVC)', 'woocommerce-gateway-stripe' ); ?> <span class="required">*</span></label>
395
+					<label><?php esc_html_e('Card Code (CVC)', 'woocommerce-gateway-stripe'); ?> <span class="required">*</span></label>
396 396
 				<div id="stripe-cvc-element" style="background:#fff;padding:0 1em;border:1px solid #ddd;margin:5px 0;padding:10px 5px;">
397 397
 				<!-- a Stripe Element will be inserted here. -->
398 398
 				</div>
@@ -402,7 +402,7 @@  discard block
 block discarded – undo
402 402
 
403 403
 			<!-- Used to display form errors -->
404 404
 			<div class="stripe-source-errors" role="alert"></div>
405
-			<?php do_action( 'woocommerce_credit_card_form_end', $this->id ); ?>
405
+			<?php do_action('woocommerce_credit_card_form_end', $this->id); ?>
406 406
 			<div class="clear"></div>
407 407
 		</fieldset>
408 408
 		<?php
@@ -415,13 +415,13 @@  discard block
 block discarded – undo
415 415
 	 * @version 3.1.0
416 416
 	 */
417 417
 	public function admin_scripts() {
418
-		if ( 'woocommerce_page_wc-settings' !== get_current_screen()->id ) {
418
+		if ('woocommerce_page_wc-settings' !== get_current_screen()->id) {
419 419
 			return;
420 420
 		}
421 421
 
422
-		$suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
422
+		$suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
423 423
 
424
-		wp_enqueue_script( 'woocommerce_stripe_admin', plugins_url( 'assets/js/stripe-admin' . $suffix . '.js', WC_STRIPE_MAIN_FILE ), array(), WC_STRIPE_VERSION, true );
424
+		wp_enqueue_script('woocommerce_stripe_admin', plugins_url('assets/js/stripe-admin' . $suffix . '.js', WC_STRIPE_MAIN_FILE), array(), WC_STRIPE_VERSION, true);
425 425
 	}
426 426
 
427 427
 	/**
@@ -433,44 +433,44 @@  discard block
 block discarded – undo
433 433
 	 * @version 4.0.0
434 434
 	 */
435 435
 	public function payment_scripts() {
436
-		if ( ! is_cart() && ! is_checkout() && ! isset( $_GET['pay_for_order'] ) && ! is_add_payment_method_page() && ! isset( $_GET['change_payment_method'] ) ) {
436
+		if ( ! is_cart() && ! is_checkout() && ! isset($_GET['pay_for_order']) && ! is_add_payment_method_page() && ! isset($_GET['change_payment_method'])) {
437 437
 			return;
438 438
 		}
439 439
 
440 440
 		// If Stripe is not enabled bail.
441
-		if ( 'no' === $this->enabled ) {
441
+		if ('no' === $this->enabled) {
442 442
 			return;
443 443
 		}
444 444
 
445 445
 		// If keys are not set bail.
446
-		if ( ! $this->are_keys_set() ) {
447
-			WC_Stripe_Logger::log( 'Keys are not set correctly.' );
446
+		if ( ! $this->are_keys_set()) {
447
+			WC_Stripe_Logger::log('Keys are not set correctly.');
448 448
 			return;
449 449
 		}
450 450
 
451 451
 		// If no SSL bail.
452
-		if ( ! $this->testmode && ! is_ssl() ) {
453
-			WC_Stripe_Logger::log( 'Stripe live mode requires SSL.' );
452
+		if ( ! $this->testmode && ! is_ssl()) {
453
+			WC_Stripe_Logger::log('Stripe live mode requires SSL.');
454 454
 		}
455 455
 
456
-		$suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
456
+		$suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
457 457
 
458
-		wp_register_style( 'stripe_styles', plugins_url( 'assets/css/stripe-styles.css', WC_STRIPE_MAIN_FILE ), array(), WC_STRIPE_VERSION );
459
-		wp_enqueue_style( 'stripe_styles' );
460
-		wp_register_script( 'stripe_checkout', 'https://checkout.stripe.com/checkout.js', '', WC_STRIPE_VERSION, true );
461
-		wp_register_script( 'stripe', 'https://js.stripe.com/v3/', '', '3.0', true );
462
-		wp_register_script( 'woocommerce_stripe', plugins_url( 'assets/js/stripe' . $suffix . '.js', WC_STRIPE_MAIN_FILE ), array( 'jquery-payment', 'stripe' ), WC_STRIPE_VERSION, true );
458
+		wp_register_style('stripe_styles', plugins_url('assets/css/stripe-styles.css', WC_STRIPE_MAIN_FILE), array(), WC_STRIPE_VERSION);
459
+		wp_enqueue_style('stripe_styles');
460
+		wp_register_script('stripe_checkout', 'https://checkout.stripe.com/checkout.js', '', WC_STRIPE_VERSION, true);
461
+		wp_register_script('stripe', 'https://js.stripe.com/v3/', '', '3.0', true);
462
+		wp_register_script('woocommerce_stripe', plugins_url('assets/js/stripe' . $suffix . '.js', WC_STRIPE_MAIN_FILE), array('jquery-payment', 'stripe'), WC_STRIPE_VERSION, true);
463 463
 
464 464
 		$stripe_params = array(
465 465
 			'key'                  => $this->publishable_key,
466
-			'i18n_terms'           => __( 'Please accept the terms and conditions first', 'woocommerce-gateway-stripe' ),
467
-			'i18n_required_fields' => __( 'Please fill in required checkout fields first', 'woocommerce-gateway-stripe' ),
466
+			'i18n_terms'           => __('Please accept the terms and conditions first', 'woocommerce-gateway-stripe'),
467
+			'i18n_required_fields' => __('Please fill in required checkout fields first', 'woocommerce-gateway-stripe'),
468 468
 		);
469 469
 
470 470
 		// If we're on the pay page we need to pass stripe.js the address of the order.
471
-		if ( isset( $_GET['pay_for_order'] ) && 'true' === $_GET['pay_for_order'] ) {
472
-			$order_id = wc_get_order_id_by_order_key( urldecode( $_GET['key'] ) );
473
-			$order    = wc_get_order( $order_id );
471
+		if (isset($_GET['pay_for_order']) && 'true' === $_GET['pay_for_order']) {
472
+			$order_id = wc_get_order_id_by_order_key(urldecode($_GET['key']));
473
+			$order    = wc_get_order($order_id);
474 474
 
475 475
 			$stripe_params['billing_first_name'] = WC_Stripe_Helper::is_pre_30() ? $order->billing_first_name : $order->get_billing_first_name();
476 476
 			$stripe_params['billing_last_name']  = WC_Stripe_Helper::is_pre_30() ? $order->billing_last_name : $order->get_billing_last_name();
@@ -482,38 +482,38 @@  discard block
 block discarded – undo
482 482
 			$stripe_params['billing_country']    = WC_Stripe_Helper::is_pre_30() ? $order->billing_country : $order->get_billing_country();
483 483
 		}
484 484
 
485
-		$stripe_params['no_prepaid_card_msg']                     = __( 'Sorry, we\'re not accepting prepaid cards at this time. Your credit card has not been charge. Please try with alternative payment method.', 'woocommerce-gateway-stripe' );
486
-		$stripe_params['no_sepa_owner_msg']                       = __( 'Please enter your IBAN account name.', 'woocommerce-gateway-stripe' );
487
-		$stripe_params['no_sepa_iban_msg']                        = __( 'Please enter your IBAN account number.', 'woocommerce-gateway-stripe' );
488
-		$stripe_params['sepa_mandate_notification']               = apply_filters( 'wc_stripe_sepa_mandate_notification', 'email' );
489
-		$stripe_params['allow_prepaid_card']                      = apply_filters( 'wc_stripe_allow_prepaid_card', true ) ? 'yes' : 'no';
485
+		$stripe_params['no_prepaid_card_msg']                     = __('Sorry, we\'re not accepting prepaid cards at this time. Your credit card has not been charge. Please try with alternative payment method.', 'woocommerce-gateway-stripe');
486
+		$stripe_params['no_sepa_owner_msg']                       = __('Please enter your IBAN account name.', 'woocommerce-gateway-stripe');
487
+		$stripe_params['no_sepa_iban_msg']                        = __('Please enter your IBAN account number.', 'woocommerce-gateway-stripe');
488
+		$stripe_params['sepa_mandate_notification']               = apply_filters('wc_stripe_sepa_mandate_notification', 'email');
489
+		$stripe_params['allow_prepaid_card']                      = apply_filters('wc_stripe_allow_prepaid_card', true) ? 'yes' : 'no';
490 490
 		$stripe_params['inline_cc_form']                          = $this->inline_cc_form ? 'yes' : 'no';
491
-		$stripe_params['stripe_checkout_require_billing_address'] = apply_filters( 'wc_stripe_checkout_require_billing_address', false ) ? 'yes' : 'no';
492
-		$stripe_params['is_checkout']                             = ( is_checkout() && empty( $_GET['pay_for_order'] ) ) ? 'yes' : 'no';
491
+		$stripe_params['stripe_checkout_require_billing_address'] = apply_filters('wc_stripe_checkout_require_billing_address', false) ? 'yes' : 'no';
492
+		$stripe_params['is_checkout']                             = (is_checkout() && empty($_GET['pay_for_order'])) ? 'yes' : 'no';
493 493
 		$stripe_params['return_url']                              = $this->get_stripe_return_url();
494
-		$stripe_params['ajaxurl']                                 = WC_AJAX::get_endpoint( '%%endpoint%%' );
495
-		$stripe_params['stripe_nonce']                            = wp_create_nonce( '_wc_stripe_nonce' );
494
+		$stripe_params['ajaxurl']                                 = WC_AJAX::get_endpoint('%%endpoint%%');
495
+		$stripe_params['stripe_nonce']                            = wp_create_nonce('_wc_stripe_nonce');
496 496
 		$stripe_params['statement_descriptor']                    = $this->statement_descriptor;
497
-		$stripe_params['elements_options']                        = apply_filters( 'wc_stripe_elements_options', array() );
497
+		$stripe_params['elements_options']                        = apply_filters('wc_stripe_elements_options', array());
498 498
 		$stripe_params['is_stripe_checkout']                      = $this->stripe_checkout ? 'yes' : 'no';
499
-		$stripe_params['is_change_payment_page']                  = isset( $_GET['change_payment_method'] ) ? 'yes' : 'no';
500
-		$stripe_params['is_add_payment_page']                     = is_wc_endpoint_url( 'add-payment-method' ) ? 'yes' : 'no';
501
-		$stripe_params['is_pay_for_order_page']                   = is_wc_endpoint_url( 'order-pay' ) ? 'yes' : 'no';
502
-		$stripe_params['elements_styling']                        = apply_filters( 'wc_stripe_elements_styling', false );
503
-		$stripe_params['elements_classes']                        = apply_filters( 'wc_stripe_elements_classes', false );
499
+		$stripe_params['is_change_payment_page']                  = isset($_GET['change_payment_method']) ? 'yes' : 'no';
500
+		$stripe_params['is_add_payment_page']                     = is_wc_endpoint_url('add-payment-method') ? 'yes' : 'no';
501
+		$stripe_params['is_pay_for_order_page']                   = is_wc_endpoint_url('order-pay') ? 'yes' : 'no';
502
+		$stripe_params['elements_styling']                        = apply_filters('wc_stripe_elements_styling', false);
503
+		$stripe_params['elements_classes']                        = apply_filters('wc_stripe_elements_classes', false);
504 504
 
505 505
 		// merge localized messages to be use in JS
506
-		$stripe_params = array_merge( $stripe_params, WC_Stripe_Helper::get_localized_messages() );
506
+		$stripe_params = array_merge($stripe_params, WC_Stripe_Helper::get_localized_messages());
507 507
 
508
-		wp_localize_script( 'woocommerce_stripe', 'wc_stripe_params', apply_filters( 'wc_stripe_params', $stripe_params ) );
509
-		wp_localize_script( 'woocommerce_stripe_checkout', 'wc_stripe_params', apply_filters( 'wc_stripe_params', $stripe_params ) );
508
+		wp_localize_script('woocommerce_stripe', 'wc_stripe_params', apply_filters('wc_stripe_params', $stripe_params));
509
+		wp_localize_script('woocommerce_stripe_checkout', 'wc_stripe_params', apply_filters('wc_stripe_params', $stripe_params));
510 510
 
511
-		if ( $this->stripe_checkout ) {
512
-			wp_enqueue_script( 'stripe_checkout' );
511
+		if ($this->stripe_checkout) {
512
+			wp_enqueue_script('stripe_checkout');
513 513
 		}
514 514
 
515 515
 		$this->tokenization_script();
516
-		wp_enqueue_script( 'woocommerce_stripe' );
516
+		wp_enqueue_script('woocommerce_stripe');
517 517
 	}
518 518
 
519 519
 	/**
@@ -521,71 +521,71 @@  discard block
 block discarded – undo
521 521
 	 *
522 522
 	 * @since 4.1.0
523 523
 	 */
524
-	public function stripe_checkout_receipt_page( $order_id ) {
525
-		if ( ! $this->stripe_checkout ) {
524
+	public function stripe_checkout_receipt_page($order_id) {
525
+		if ( ! $this->stripe_checkout) {
526 526
 			return;
527 527
 		}
528 528
 
529 529
 		$user                 = wp_get_current_user();
530 530
 		$total                = WC()->cart->total;
531 531
 		$user_email           = '';
532
-		$display_tokenization = $this->supports( 'tokenization' ) && $this->saved_cards;
532
+		$display_tokenization = $this->supports('tokenization') && $this->saved_cards;
533 533
 
534 534
 		// If paying from order, we need to get total from order not cart.
535
-		if ( ! empty( $_GET['key'] ) ) {
536
-			$order      = wc_get_order( wc_get_order_id_by_order_key( wc_clean( $_GET['key'] ) ) );
535
+		if ( ! empty($_GET['key'])) {
536
+			$order      = wc_get_order(wc_get_order_id_by_order_key(wc_clean($_GET['key'])));
537 537
 			$total      = $order->get_total();
538 538
 			$user_email = WC_Stripe_Helper::is_pre_30() ? $order->billing_email : $order->get_billing_email();
539 539
 		} else {
540
-			if ( $user->ID ) {
541
-				$user_email = get_user_meta( $user->ID, 'billing_email', true );
540
+			if ($user->ID) {
541
+				$user_email = get_user_meta($user->ID, 'billing_email', true);
542 542
 				$user_email = $user_email ? $user_email : $user->user_email;
543 543
 			}
544 544
 		}
545 545
 
546 546
 		ob_start();
547 547
 
548
-		do_action( 'wc_stripe_checkout_receipt_page_before_form' );
548
+		do_action('wc_stripe_checkout_receipt_page_before_form');
549 549
 
550
-		echo '<form method="post" class="woocommerce-checkout" action="' . WC()->api_request_url( get_class( $this ) ) . '">';
550
+		echo '<form method="post" class="woocommerce-checkout" action="' . WC()->api_request_url(get_class($this)) . '">';
551 551
 		echo '<div
552 552
 			id="stripe-payment-data"
553
-			data-panel-label="' . esc_attr( apply_filters( 'wc_stripe_checkout_label', '' ) ) . '"
554
-			data-description="' . esc_attr( strip_tags( $this->stripe_checkout_description ) ) . '"
555
-			data-email="' . esc_attr( $user_email ) . '"
556
-			data-verify-zip="' . esc_attr( apply_filters( 'wc_stripe_checkout_verify_zip', false ) ? 'true' : 'false' ) . '"
557
-			data-billing-address="' . esc_attr( apply_filters( 'wc_stripe_checkout_require_billing_address', false ) ? 'true' : 'false' ) . '"
558
-			data-shipping-address="' . esc_attr( apply_filters( 'wc_stripe_checkout_require_shipping_address', false ) ? 'true' : 'false' ) . '" 
559
-			data-amount="' . esc_attr( WC_Stripe_Helper::get_stripe_amount( $total ) ) . '"
560
-			data-name="' . esc_attr( $this->statement_descriptor ) . '"
561
-			data-currency="' . esc_attr( strtolower( get_woocommerce_currency() ) ) . '"
562
-			data-image="' . esc_attr( $this->stripe_checkout_image ) . '"
563
-			data-bitcoin="' . esc_attr( ( $this->bitcoin && $this->capture ) ? 'true' : 'false' ) . '"
564
-			data-locale="' . esc_attr( apply_filters( 'wc_stripe_checkout_locale', $this->get_locale() ) ) . '"
565
-			data-three-d-secure="' . esc_attr( $this->three_d_secure ? 'true' : 'false' ) . '"
566
-			data-allow-remember-me="' . esc_attr( apply_filters( 'wc_stripe_allow_remember_me', true ) ? 'true' : 'false' ) . '">';
567
-		echo '<input type="hidden" name="order_id" value="' . esc_attr( $order_id ) . '" />';
553
+			data-panel-label="' . esc_attr(apply_filters('wc_stripe_checkout_label', '')) . '"
554
+			data-description="' . esc_attr(strip_tags($this->stripe_checkout_description)) . '"
555
+			data-email="' . esc_attr($user_email) . '"
556
+			data-verify-zip="' . esc_attr(apply_filters('wc_stripe_checkout_verify_zip', false) ? 'true' : 'false') . '"
557
+			data-billing-address="' . esc_attr(apply_filters('wc_stripe_checkout_require_billing_address', false) ? 'true' : 'false') . '"
558
+			data-shipping-address="' . esc_attr(apply_filters('wc_stripe_checkout_require_shipping_address', false) ? 'true' : 'false') . '" 
559
+			data-amount="' . esc_attr(WC_Stripe_Helper::get_stripe_amount($total)) . '"
560
+			data-name="' . esc_attr($this->statement_descriptor) . '"
561
+			data-currency="' . esc_attr(strtolower(get_woocommerce_currency())) . '"
562
+			data-image="' . esc_attr($this->stripe_checkout_image) . '"
563
+			data-bitcoin="' . esc_attr(($this->bitcoin && $this->capture) ? 'true' : 'false') . '"
564
+			data-locale="' . esc_attr(apply_filters('wc_stripe_checkout_locale', $this->get_locale())) . '"
565
+			data-three-d-secure="' . esc_attr($this->three_d_secure ? 'true' : 'false') . '"
566
+			data-allow-remember-me="' . esc_attr(apply_filters('wc_stripe_allow_remember_me', true) ? 'true' : 'false') . '">';
567
+		echo '<input type="hidden" name="order_id" value="' . esc_attr($order_id) . '" />';
568 568
 		echo '<input type="hidden" name="stripe_checkout_order" value="yes" />';
569 569
 
570 570
 		if (
571
-			apply_filters( 'wc_stripe_display_save_payment_method_checkbox', $display_tokenization ) &&
572
-			( ! function_exists( 'wcs_order_contains_subscription' ) || ( function_exists( 'wcs_order_contains_subscription' ) && ! WC_Subscriptions_Cart::cart_contains_subscription() ) ) &&
573
-			( ! WC_Stripe_Helper::is_pre_orders_exists() || ( WC_Stripe_Helper::is_pre_orders_exists() && ! $this->pre_orders->is_pre_order( $order_id ) ) )
571
+			apply_filters('wc_stripe_display_save_payment_method_checkbox', $display_tokenization) &&
572
+			( ! function_exists('wcs_order_contains_subscription') || (function_exists('wcs_order_contains_subscription') && ! WC_Subscriptions_Cart::cart_contains_subscription())) &&
573
+			( ! WC_Stripe_Helper::is_pre_orders_exists() || (WC_Stripe_Helper::is_pre_orders_exists() && ! $this->pre_orders->is_pre_order($order_id)))
574 574
 		) {
575 575
 			$this->save_payment_method_checkbox();
576 576
 		}
577 577
 
578
-		wp_nonce_field( 'stripe-checkout-process', 'stripe_checkout_process_nonce' );
578
+		wp_nonce_field('stripe-checkout-process', 'stripe_checkout_process_nonce');
579 579
 
580
-		do_action( 'wc_stripe_checkout_receipt_page_before_form_submit' );
580
+		do_action('wc_stripe_checkout_receipt_page_before_form_submit');
581 581
 
582
-		echo '<button type="submit" class="wc-stripe-checkout-button">' . __( 'Place Order', 'woocommerce-gateway-stripe' ) . '</button>';
582
+		echo '<button type="submit" class="wc-stripe-checkout-button">' . __('Place Order', 'woocommerce-gateway-stripe') . '</button>';
583 583
 
584
-		do_action( 'wc_stripe_checkout_receipt_page_after_form_submit' );
584
+		do_action('wc_stripe_checkout_receipt_page_after_form_submit');
585 585
 
586 586
 		echo '</form>';
587 587
 
588
-		do_action( 'wc_stripe_checkout_receipt_page_after_form' );
588
+		do_action('wc_stripe_checkout_receipt_page_after_form');
589 589
 
590 590
 		echo '</div>';
591 591
 
@@ -598,32 +598,32 @@  discard block
 block discarded – undo
598 598
 	 * @since 4.1.0
599 599
 	 */
600 600
 	public function stripe_checkout_return_handler() {
601
-		if ( ! $this->stripe_checkout ) {
601
+		if ( ! $this->stripe_checkout) {
602 602
 			return;
603 603
 		}
604 604
 
605
-		if ( ! wp_verify_nonce( $_POST['stripe_checkout_process_nonce'], 'stripe-checkout-process' ) ) {
605
+		if ( ! wp_verify_nonce($_POST['stripe_checkout_process_nonce'], 'stripe-checkout-process')) {
606 606
 			return;
607 607
 		}
608 608
 
609
-		$order_id = wc_clean( $_POST['order_id'] );
610
-		$order    = wc_get_order( $order_id );
609
+		$order_id = wc_clean($_POST['order_id']);
610
+		$order    = wc_get_order($order_id);
611 611
 
612
-		do_action( 'wc_stripe_checkout_return_handler', $order );
612
+		do_action('wc_stripe_checkout_return_handler', $order);
613 613
 
614
-		if ( WC_Stripe_Helper::is_pre_orders_exists() && $this->pre_orders->is_pre_order( $order_id ) && WC_Pre_Orders_Order::order_requires_payment_tokenization( $order_id ) ) {
615
-			$result = $this->pre_orders->process_pre_order( $order_id );
614
+		if (WC_Stripe_Helper::is_pre_orders_exists() && $this->pre_orders->is_pre_order($order_id) && WC_Pre_Orders_Order::order_requires_payment_tokenization($order_id)) {
615
+			$result = $this->pre_orders->process_pre_order($order_id);
616 616
 		} else {
617
-			$result = $this->process_payment( $order_id );
617
+			$result = $this->process_payment($order_id);
618 618
 		}
619 619
 
620
-		if ( 'success' === $result['result'] ) {
621
-			wp_redirect( $result['redirect'] );
620
+		if ('success' === $result['result']) {
621
+			wp_redirect($result['redirect']);
622 622
 			exit;
623 623
 		}
624 624
 
625 625
 		// Redirects back to pay order page.
626
-		wp_safe_redirect( $order->get_checkout_payment_url( true ) );
626
+		wp_safe_redirect($order->get_checkout_payment_url(true));
627 627
 		exit;
628 628
 	}
629 629
 
@@ -636,9 +636,9 @@  discard block
 block discarded – undo
636 636
 	public function maybe_redirect_stripe_checkout() {
637 637
 		return (
638 638
 			$this->stripe_checkout &&
639
-			! isset( $_POST['stripe_checkout_order'] ) &&
639
+			! isset($_POST['stripe_checkout_order']) &&
640 640
 			! $this->is_using_saved_payment_method() &&
641
-			! is_wc_endpoint_url( 'order-pay' )
641
+			! is_wc_endpoint_url('order-pay')
642 642
 		);
643 643
 	}
644 644
 
@@ -656,54 +656,54 @@  discard block
 block discarded – undo
656 656
 	 *
657 657
 	 * @return array|void
658 658
 	 */
659
-	public function process_payment( $order_id, $retry = true, $force_save_source = false, $previous_error = false ) {
659
+	public function process_payment($order_id, $retry = true, $force_save_source = false, $previous_error = false) {
660 660
 		try {
661
-			$order = wc_get_order( $order_id );
661
+			$order = wc_get_order($order_id);
662 662
 
663
-			if ( $this->maybe_redirect_stripe_checkout() ) {
664
-				WC_Stripe_Logger::log( sprintf( 'Redirecting to Stripe Checkout page for order %s', $order_id ) );
663
+			if ($this->maybe_redirect_stripe_checkout()) {
664
+				WC_Stripe_Logger::log(sprintf('Redirecting to Stripe Checkout page for order %s', $order_id));
665 665
 
666 666
 				return array(
667 667
 					'result'   => 'success',
668
-					'redirect' => $order->get_checkout_payment_url( true ),
668
+					'redirect' => $order->get_checkout_payment_url(true),
669 669
 				);
670 670
 			}
671 671
 
672
-			if ( $this->maybe_process_pre_orders( $order_id ) ) {
673
-				return $this->pre_orders->process_pre_order( $order_id );
672
+			if ($this->maybe_process_pre_orders($order_id)) {
673
+				return $this->pre_orders->process_pre_order($order_id);
674 674
 			}
675 675
 
676 676
 			// This comes from the create account checkbox in the checkout page.
677
-			$create_account = ! empty( $_POST['createaccount'] ) ? true : false;
677
+			$create_account = ! empty($_POST['createaccount']) ? true : false;
678 678
 
679
-			if ( $create_account ) {
679
+			if ($create_account) {
680 680
 				$new_customer_id     = WC_Stripe_Helper::is_pre_30() ? $order->customer_user : $order->get_customer_id();
681
-				$new_stripe_customer = new WC_Stripe_Customer( $new_customer_id );
681
+				$new_stripe_customer = new WC_Stripe_Customer($new_customer_id);
682 682
 				$new_stripe_customer->create_customer();
683 683
 			}
684 684
 
685
-			$prepared_source = $this->prepare_source( get_current_user_id(), $force_save_source );
685
+			$prepared_source = $this->prepare_source(get_current_user_id(), $force_save_source);
686 686
 			$source_object   = $prepared_source->source_object;
687 687
 
688 688
 			// Check if we don't allow prepaid credit cards.
689
-			if ( ! apply_filters( 'wc_stripe_allow_prepaid_card', true ) && $this->is_prepaid_card( $source_object ) ) {
690
-				$localized_message = __( 'Sorry, we\'re not accepting prepaid cards at this time. Your credit card has not been charge. Please try with alternative payment method.', 'woocommerce-gateway-stripe' );
691
-				throw new WC_Stripe_Exception( print_r( $source_object, true ), $localized_message );
689
+			if ( ! apply_filters('wc_stripe_allow_prepaid_card', true) && $this->is_prepaid_card($source_object)) {
690
+				$localized_message = __('Sorry, we\'re not accepting prepaid cards at this time. Your credit card has not been charge. Please try with alternative payment method.', 'woocommerce-gateway-stripe');
691
+				throw new WC_Stripe_Exception(print_r($source_object, true), $localized_message);
692 692
 			}
693 693
 
694
-			if ( empty( $prepared_source->source ) ) {
695
-				$localized_message = __( 'Payment processing failed. Please retry.', 'woocommerce-gateway-stripe' );
696
-				throw new WC_Stripe_Exception( print_r( $prepared_source, true ), $localized_message );
694
+			if (empty($prepared_source->source)) {
695
+				$localized_message = __('Payment processing failed. Please retry.', 'woocommerce-gateway-stripe');
696
+				throw new WC_Stripe_Exception(print_r($prepared_source, true), $localized_message);
697 697
 			}
698 698
 
699
-			$this->save_source_to_order( $order, $prepared_source );
699
+			$this->save_source_to_order($order, $prepared_source);
700 700
 
701 701
 			// Result from Stripe API request.
702 702
 			$response = null;
703 703
 
704
-			if ( $order->get_total() > 0 ) {
704
+			if ($order->get_total() > 0) {
705 705
 				// This will throw exception if not valid.
706
-				$this->validate_minimum_order_amount( $order );
706
+				$this->validate_minimum_order_amount($order);
707 707
 
708 708
 				/*
709 709
 				 * Check if card 3DS is required or optional with 3DS setting.
@@ -712,104 +712,104 @@  discard block
 block discarded – undo
712 712
 				 * Note that if we need to save source, the original source must be first
713 713
 				 * attached to a customer in Stripe before it can be charged.
714 714
 				 */
715
-				if ( $this->is_3ds_required( $source_object ) ) {
716
-					$response = $this->create_3ds_source( $order, $source_object );
715
+				if ($this->is_3ds_required($source_object)) {
716
+					$response = $this->create_3ds_source($order, $source_object);
717 717
 
718
-					if ( ! empty( $response->error ) ) {
718
+					if ( ! empty($response->error)) {
719 719
 						$localized_message = $response->error->message;
720 720
 
721
-						$order->add_order_note( $localized_message );
721
+						$order->add_order_note($localized_message);
722 722
 
723
-						throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message );
723
+						throw new WC_Stripe_Exception(print_r($response, true), $localized_message);
724 724
 					}
725 725
 
726 726
 					// Update order meta with 3DS source.
727
-					if ( WC_Stripe_Helper::is_pre_30() ) {
728
-						update_post_meta( $order_id, '_stripe_source_id', $response->id );
727
+					if (WC_Stripe_Helper::is_pre_30()) {
728
+						update_post_meta($order_id, '_stripe_source_id', $response->id);
729 729
 					} else {
730
-						$order->update_meta_data( '_stripe_source_id', $response->id );
730
+						$order->update_meta_data('_stripe_source_id', $response->id);
731 731
 						$order->save();
732 732
 					}
733 733
 
734
-					WC_Stripe_Logger::log( 'Info: Redirecting to 3DS...' );
734
+					WC_Stripe_Logger::log('Info: Redirecting to 3DS...');
735 735
 
736 736
 					return array(
737 737
 						'result'   => 'success',
738
-						'redirect' => esc_url_raw( $response->redirect->url ),
738
+						'redirect' => esc_url_raw($response->redirect->url),
739 739
 					);
740 740
 				}
741 741
 
742
-				WC_Stripe_Logger::log( "Info: Begin processing payment for order $order_id for the amount of {$order->get_total()}" );
742
+				WC_Stripe_Logger::log("Info: Begin processing payment for order $order_id for the amount of {$order->get_total()}");
743 743
 
744 744
 				/* If we're doing a retry and source is chargeable, we need to pass
745 745
 				 * a different idempotency key and retry for success.
746 746
 				 */
747
-				if ( $this->need_update_idempotency_key( $source_object, $previous_error ) ) {
748
-					add_filter( 'wc_stripe_idempotency_key', array( $this, 'change_idempotency_key' ), 10, 2 );
747
+				if ($this->need_update_idempotency_key($source_object, $previous_error)) {
748
+					add_filter('wc_stripe_idempotency_key', array($this, 'change_idempotency_key'), 10, 2);
749 749
 				}
750 750
 
751 751
 				// Make the request.
752
-				$response = WC_Stripe_API::request( $this->generate_payment_request( $order, $prepared_source ) );
752
+				$response = WC_Stripe_API::request($this->generate_payment_request($order, $prepared_source));
753 753
 
754
-				if ( ! empty( $response->error ) ) {
754
+				if ( ! empty($response->error)) {
755 755
 					// Customer param wrong? The user may have been deleted on stripe's end. Remove customer_id. Can be retried without.
756
-					if ( $this->is_no_such_customer_error( $response->error ) ) {
757
-						if ( WC_Stripe_Helper::is_pre_30() ) {
758
-							delete_user_meta( $order->customer_user, '_stripe_customer_id' );
759
-							delete_post_meta( $order_id, '_stripe_customer_id' );
756
+					if ($this->is_no_such_customer_error($response->error)) {
757
+						if (WC_Stripe_Helper::is_pre_30()) {
758
+							delete_user_meta($order->customer_user, '_stripe_customer_id');
759
+							delete_post_meta($order_id, '_stripe_customer_id');
760 760
 						} else {
761
-							delete_user_meta( $order->get_customer_id(), '_stripe_customer_id' );
762
-							$order->delete_meta_data( '_stripe_customer_id' );
761
+							delete_user_meta($order->get_customer_id(), '_stripe_customer_id');
762
+							$order->delete_meta_data('_stripe_customer_id');
763 763
 							$order->save();
764 764
 						}
765 765
 					}
766 766
 
767
-					if ( $this->is_no_such_token_error( $response->error ) && $prepared_source->token_id ) {
767
+					if ($this->is_no_such_token_error($response->error) && $prepared_source->token_id) {
768 768
 						// Source param wrong? The CARD may have been deleted on stripe's end. Remove token and show message.
769
-						$wc_token = WC_Payment_Tokens::get( $prepared_source->token_id );
769
+						$wc_token = WC_Payment_Tokens::get($prepared_source->token_id);
770 770
 						$wc_token->delete();
771
-						$localized_message = __( 'This card is no longer available and has been removed.', 'woocommerce-gateway-stripe' );
772
-						$order->add_order_note( $localized_message );
773
-						throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message );
771
+						$localized_message = __('This card is no longer available and has been removed.', 'woocommerce-gateway-stripe');
772
+						$order->add_order_note($localized_message);
773
+						throw new WC_Stripe_Exception(print_r($response, true), $localized_message);
774 774
 					}
775 775
 
776 776
 					// We want to retry.
777
-					if ( $this->is_retryable_error( $response->error ) ) {
778
-						if ( $retry ) {
777
+					if ($this->is_retryable_error($response->error)) {
778
+						if ($retry) {
779 779
 							// Don't do anymore retries after this.
780
-							if ( 5 <= $this->retry_interval ) {
781
-								return $this->process_payment( $order_id, false, $force_save_source, $response->error );
780
+							if (5 <= $this->retry_interval) {
781
+								return $this->process_payment($order_id, false, $force_save_source, $response->error);
782 782
 							}
783 783
 
784
-							sleep( $this->retry_interval );
784
+							sleep($this->retry_interval);
785 785
 
786 786
 							$this->retry_interval++;
787 787
 
788
-							return $this->process_payment( $order_id, true, $force_save_source, $response->error );
788
+							return $this->process_payment($order_id, true, $force_save_source, $response->error);
789 789
 						} else {
790
-							$localized_message = __( 'Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe' );
791
-							$order->add_order_note( $localized_message );
792
-							throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message );
790
+							$localized_message = __('Sorry, we are unable to process your payment at this time. Please retry later.', 'woocommerce-gateway-stripe');
791
+							$order->add_order_note($localized_message);
792
+							throw new WC_Stripe_Exception(print_r($response, true), $localized_message);
793 793
 						}
794 794
 					}
795 795
 
796 796
 					$localized_messages = WC_Stripe_Helper::get_localized_messages();
797 797
 
798
-					if ( 'card_error' === $response->error->type ) {
799
-						$localized_message = isset( $localized_messages[ $response->error->code ] ) ? $localized_messages[ $response->error->code ] : $response->error->message;
798
+					if ('card_error' === $response->error->type) {
799
+						$localized_message = isset($localized_messages[$response->error->code]) ? $localized_messages[$response->error->code] : $response->error->message;
800 800
 					} else {
801
-						$localized_message = isset( $localized_messages[ $response->error->type ] ) ? $localized_messages[ $response->error->type ] : $response->error->message;
801
+						$localized_message = isset($localized_messages[$response->error->type]) ? $localized_messages[$response->error->type] : $response->error->message;
802 802
 					}
803 803
 
804
-					$order->add_order_note( $localized_message );
804
+					$order->add_order_note($localized_message);
805 805
 
806
-					throw new WC_Stripe_Exception( print_r( $response, true ), $localized_message );
806
+					throw new WC_Stripe_Exception(print_r($response, true), $localized_message);
807 807
 				}
808 808
 
809
-				do_action( 'wc_gateway_stripe_process_payment', $response, $order );
809
+				do_action('wc_gateway_stripe_process_payment', $response, $order);
810 810
 
811 811
 				// Process valid response.
812
-				$this->process_response( $response, $order );
812
+				$this->process_response($response, $order);
813 813
 			} else {
814 814
 				$order->payment_complete();
815 815
 			}
@@ -820,20 +820,20 @@  discard block
 block discarded – undo
820 820
 			// Return thank you page redirect.
821 821
 			return array(
822 822
 				'result'   => 'success',
823
-				'redirect' => $this->get_return_url( $order ),
823
+				'redirect' => $this->get_return_url($order),
824 824
 			);
825 825
 
826
-		} catch ( WC_Stripe_Exception $e ) {
827
-			wc_add_notice( $e->getLocalizedMessage(), 'error' );
828
-			WC_Stripe_Logger::log( 'Error: ' . $e->getMessage() );
826
+		} catch (WC_Stripe_Exception $e) {
827
+			wc_add_notice($e->getLocalizedMessage(), 'error');
828
+			WC_Stripe_Logger::log('Error: ' . $e->getMessage());
829 829
 
830
-			do_action( 'wc_gateway_stripe_process_payment_error', $e, $order );
830
+			do_action('wc_gateway_stripe_process_payment_error', $e, $order);
831 831
 
832 832
 			/* translators: error message */
833
-			$order->update_status( 'failed' );
833
+			$order->update_status('failed');
834 834
 
835
-			if ( $order->has_status( array( 'pending', 'failed' ) ) ) {
836
-				$this->send_failed_order_email( $order_id );
835
+			if ($order->has_status(array('pending', 'failed'))) {
836
+				$this->send_failed_order_email($order_id);
837 837
 			}
838 838
 
839 839
 			return array(
@@ -850,17 +850,17 @@  discard block
 block discarded – undo
850 850
 	 *
851 851
 	 * @param int $order_id
852 852
 	 */
853
-	public function display_order_fee( $order_id ) {
854
-		if ( apply_filters( 'wc_stripe_hide_display_order_fee', false, $order_id ) ) {
853
+	public function display_order_fee($order_id) {
854
+		if (apply_filters('wc_stripe_hide_display_order_fee', false, $order_id)) {
855 855
 			return;
856 856
 		}
857 857
 
858
-		$order = wc_get_order( $order_id );
858
+		$order = wc_get_order($order_id);
859 859
 
860
-		$fee      = WC_Stripe_Helper::get_stripe_fee( $order );
861
-		$currency = WC_Stripe_Helper::get_stripe_currency( $order );
860
+		$fee      = WC_Stripe_Helper::get_stripe_fee($order);
861
+		$currency = WC_Stripe_Helper::get_stripe_currency($order);
862 862
 
863
-		if ( ! $fee || ! $currency ) {
863
+		if ( ! $fee || ! $currency) {
864 864
 			return;
865 865
 		}
866 866
 
@@ -868,12 +868,12 @@  discard block
 block discarded – undo
868 868
 
869 869
 		<tr>
870 870
 			<td class="label stripe-fee">
871
-				<?php echo wc_help_tip( __( 'This represents the fee Stripe collects for the transaction.', 'woocommerce-gateway-stripe' ) ); ?>
872
-				<?php esc_html_e( 'Stripe Fee:', 'woocommerce-gateway-stripe' ); ?>
871
+				<?php echo wc_help_tip(__('This represents the fee Stripe collects for the transaction.', 'woocommerce-gateway-stripe')); ?>
872
+				<?php esc_html_e('Stripe Fee:', 'woocommerce-gateway-stripe'); ?>
873 873
 			</td>
874 874
 			<td width="1%"></td>
875 875
 			<td class="total">
876
-				-&nbsp;<?php echo wc_price( $fee, array( 'currency' => $currency ) ); ?>
876
+				-&nbsp;<?php echo wc_price($fee, array('currency' => $currency)); ?>
877 877
 			</td>
878 878
 		</tr>
879 879
 
@@ -887,17 +887,17 @@  discard block
 block discarded – undo
887 887
 	 *
888 888
 	 * @param int $order_id
889 889
 	 */
890
-	public function display_order_payout( $order_id ) {
891
-		if ( apply_filters( 'wc_stripe_hide_display_order_payout', false, $order_id ) ) {
890
+	public function display_order_payout($order_id) {
891
+		if (apply_filters('wc_stripe_hide_display_order_payout', false, $order_id)) {
892 892
 			return;
893 893
 		}
894 894
 
895
-		$order = wc_get_order( $order_id );
895
+		$order = wc_get_order($order_id);
896 896
 
897
-		$net      = WC_Stripe_Helper::get_stripe_net( $order );
898
-		$currency = WC_Stripe_Helper::get_stripe_currency( $order );
897
+		$net      = WC_Stripe_Helper::get_stripe_net($order);
898
+		$currency = WC_Stripe_Helper::get_stripe_currency($order);
899 899
 
900
-		if ( ! $net || ! $currency ) {
900
+		if ( ! $net || ! $currency) {
901 901
 			return;
902 902
 		}
903 903
 
@@ -905,12 +905,12 @@  discard block
 block discarded – undo
905 905
 
906 906
 		<tr>
907 907
 			<td class="label stripe-payout">
908
-				<?php echo wc_help_tip( __( 'This represents the net total that will be credited to your Stripe bank account. This may be in the currency that is set in your Stripe account.', 'woocommerce-gateway-stripe' ) ); ?>
909
-				<?php esc_html_e( 'Stripe Payout:', 'woocommerce-gateway-stripe' ); ?>
908
+				<?php echo wc_help_tip(__('This represents the net total that will be credited to your Stripe bank account. This may be in the currency that is set in your Stripe account.', 'woocommerce-gateway-stripe')); ?>
909
+				<?php esc_html_e('Stripe Payout:', 'woocommerce-gateway-stripe'); ?>
910 910
 			</td>
911 911
 			<td width="1%"></td>
912 912
 			<td class="total">
913
-				<?php echo wc_price( $net, array( 'currency' => $currency ) ); ?>
913
+				<?php echo wc_price($net, array('currency' => $currency)); ?>
914 914
 			</td>
915 915
 		</tr>
916 916
 
Please login to merge, or discard this patch.