Code Duplication    Length = 19-19 lines in 2 locations

includes/compat/class-wc-stripe-sepa-subs-compat.php 1 location

@@ 341-359 (lines=19) @@
338
	 * @param array $payment_meta associative array of meta data required for automatic payments
339
	 * @return array
340
	 */
341
	public function validate_subscription_payment_meta( $payment_method_id, $payment_meta ) {
342
		if ( $this->id === $payment_method_id ) {
343
344
			if ( ! isset( $payment_meta['post_meta']['_stripe_customer_id']['value'] ) || empty( $payment_meta['post_meta']['_stripe_customer_id']['value'] ) ) {
345
				throw new Exception( __( 'A "Stripe Customer ID" value is required.', 'woocommerce-gateway-stripe' ) );
346
			} elseif ( 0 !== strpos( $payment_meta['post_meta']['_stripe_customer_id']['value'], 'cus_' ) ) {
347
				throw new Exception( __( 'Invalid customer ID. A valid "Stripe Customer ID" must begin with "cus_".', 'woocommerce-gateway-stripe' ) );
348
			}
349
350
			if (
351
				( ! empty( $payment_meta['post_meta']['_stripe_source_id']['value'] )
352
				&& 0 !== strpos( $payment_meta['post_meta']['_stripe_source_id']['value'], 'card_' ) )
353
				&& ( ! empty( $payment_meta['post_meta']['_stripe_source_id']['value'] )
354
				&& 0 !== strpos( $payment_meta['post_meta']['_stripe_source_id']['value'], 'src_' ) ) ) {
355
356
				throw new Exception( __( 'Invalid source ID. A valid source "Stripe Source ID" must begin with "src_" or "card_".', 'woocommerce-gateway-stripe' ) );
357
			}
358
		}
359
	}
360
361
	/**
362
	 * Render the payment method used for a subscription in the "My Subscriptions" table

includes/compat/class-wc-stripe-subs-compat.php 1 location

@@ 387-405 (lines=19) @@
384
	 * @param array $payment_meta associative array of meta data required for automatic payments
385
	 * @return array
386
	 */
387
	public function validate_subscription_payment_meta( $payment_method_id, $payment_meta ) {
388
		if ( $this->id === $payment_method_id ) {
389
390
			if ( ! isset( $payment_meta['post_meta']['_stripe_customer_id']['value'] ) || empty( $payment_meta['post_meta']['_stripe_customer_id']['value'] ) ) {
391
				throw new Exception( __( 'A "Stripe Customer ID" value is required.', 'woocommerce-gateway-stripe' ) );
392
			} elseif ( 0 !== strpos( $payment_meta['post_meta']['_stripe_customer_id']['value'], 'cus_' ) ) {
393
				throw new Exception( __( 'Invalid customer ID. A valid "Stripe Customer ID" must begin with "cus_".', 'woocommerce-gateway-stripe' ) );
394
			}
395
396
			if (
397
				( ! empty( $payment_meta['post_meta']['_stripe_source_id']['value'] )
398
				&& 0 !== strpos( $payment_meta['post_meta']['_stripe_source_id']['value'], 'card_' ) )
399
				&& ( ! empty( $payment_meta['post_meta']['_stripe_source_id']['value'] )
400
				&& 0 !== strpos( $payment_meta['post_meta']['_stripe_source_id']['value'], 'src_' ) ) ) {
401
402
				throw new Exception( __( 'Invalid source ID. A valid source "Stripe Source ID" must begin with "src_" or "card_".', 'woocommerce-gateway-stripe' ) );
403
			}
404
		}
405
	}
406
407
	/**
408
	 * Render the payment method used for a subscription in the "My Subscriptions" table