Code Duplication    Length = 39-43 lines in 2 locations

includes/payment-methods/class-wc-stripe-payment-request.php 2 locations

@@ 458-500 (lines=43) @@
455
	 * @since 4.0.0
456
	 * @version 4.0.0
457
	 */
458
	public function display_payment_request_button_html() {
459
		$gateways = WC()->payment_gateways->get_available_payment_gateways();
460
461
		if ( ! isset( $gateways['stripe'] ) ) {
462
			return;
463
		}
464
465
		if ( ! is_cart() && ! is_checkout() && ! is_product() && ! isset( $_GET['pay_for_order'] ) ) {
466
			return;
467
		}
468
469
		if ( is_product() && apply_filters( 'wc_stripe_hide_payment_request_on_product_page', false ) ) {
470
			return;
471
		}
472
473
		if ( is_product() ) {
474
			global $post;
475
476
			$product = wc_get_product( $post->ID );
477
478
			if ( ! is_object( $product ) || ! in_array( ( WC_Stripe_Helper::is_pre_30() ? $product->product_type : $product->get_type() ), $this->supported_product_types() ) ) {
479
				return;
480
			}
481
482
			// Pre Orders charge upon release not supported.
483
			if ( class_exists( 'WC_Pre_Orders_Order' ) && WC_Pre_Orders_Product::product_is_charged_upon_release( $product ) ) {
484
				WC_Stripe_Logger::log( 'Pre Order charge upon release is not supported. ( Payment Request button disabled )' );
485
				return;
486
			}
487
		} else {
488
			if ( ! $this->allowed_items_in_cart() ) {
489
				WC_Stripe_Logger::log( 'Items in the cart has unsupported product type ( Payment Request button disabled )' );
490
				return;
491
			}
492
		}
493
		?>
494
		<div id="wc-stripe-payment-request-wrapper" style="clear:both;padding-top:1.5em;">
495
			<div id="wc-stripe-payment-request-button">
496
				<!-- A Stripe Element will be inserted here. -->
497
			</div>
498
		</div>
499
		<?php
500
	}
501
502
	/**
503
	 * Display payment request button separator.
@@ 508-546 (lines=39) @@
505
	 * @since 4.0.0
506
	 * @version 4.0.0
507
	 */
508
	public function display_payment_request_button_separator_html() {
509
		$gateways = WC()->payment_gateways->get_available_payment_gateways();
510
511
		if ( ! isset( $gateways['stripe'] ) ) {
512
			return;
513
		}
514
515
		if ( ! is_cart() && ! is_checkout() && ! is_product() && ! isset( $_GET['pay_for_order'] ) ) {
516
			return;
517
		}
518
519
		if ( is_product() && apply_filters( 'wc_stripe_hide_payment_request_on_product_page', false ) ) {
520
			return;
521
		}
522
523
		if ( is_product() ) {
524
			global $post;
525
526
			$product = wc_get_product( $post->ID );
527
528
			if ( ! is_object( $product ) || ! in_array( ( WC_Stripe_Helper::is_pre_30() ? $product->product_type : $product->get_type() ), $this->supported_product_types() ) ) {
529
				return;
530
			}
531
532
			// Pre Orders charge upon release not supported.
533
			if ( class_exists( 'WC_Pre_Orders_Order' ) && WC_Pre_Orders_Product::product_is_charged_upon_release( $product ) ) {
534
				WC_Stripe_Logger::log( 'Pre Order charge upon release is not supported. ( Payment Request button disabled )' );
535
				return;
536
			}
537
		} else {
538
			if ( ! $this->allowed_items_in_cart() ) {
539
				WC_Stripe_Logger::log( 'Items in the cart has unsupported product type ( Payment Request button disabled )' );
540
				return;
541
			}
542
		}
543
		?>
544
		<p id="wc-stripe-payment-request-button-separator" style="margin-top:1.5em;text-align:center;display:none;">- <?php esc_html_e( 'OR', 'woocommerce-gateway-stripe' ); ?> -</p>
545
		<?php
546
	}
547
548
	/**
549
	 * Log errors coming from Payment Request