Setup wizard: check country for Stripe support before defaulting to it.
This commit is contained in:
parent
70588a4a99
commit
49443388d7
|
@ -730,17 +730,51 @@ class WC_Admin_Setup_Wizard {
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* https://stripe.com/global
|
||||||
|
*/
|
||||||
|
protected function is_stripe_supported_country( $country_code ) {
|
||||||
|
$stripe_supported_countries = array(
|
||||||
|
'AU' => __( 'Australia', 'woocommerce' ),
|
||||||
|
'AT' => __( 'Austria', 'woocommerce' ),
|
||||||
|
'BE' => __( 'Belgium', 'woocommerce' ),
|
||||||
|
'CA' => __( 'Canada', 'woocommerce' ),
|
||||||
|
'DK' => __( 'Denmark', 'woocommerce' ),
|
||||||
|
'FI' => __( 'Finland', 'woocommerce' ),
|
||||||
|
'FR' => __( 'France', 'woocommerce' ),
|
||||||
|
'DE' => __( 'Germany', 'woocommerce' ),
|
||||||
|
'HK' => __( 'Hong Kong', 'woocommerce' ),
|
||||||
|
'IE' => __( 'Ireland', 'woocommerce' ),
|
||||||
|
'JP' => __( 'Japan', 'woocommerce' ),
|
||||||
|
'LU' => __( 'Luxembourg', 'woocommerce' ),
|
||||||
|
'NL' => __( 'Netherlands', 'woocommerce' ),
|
||||||
|
'NZ' => __( 'New Zealand', 'woocommerce' ),
|
||||||
|
'NO' => __( 'Norway', 'woocommerce' ),
|
||||||
|
'SG' => __( 'Singapore', 'woocommerce' ),
|
||||||
|
'ES' => __( 'Spain', 'woocommerce' ),
|
||||||
|
'SE' => __( 'Sweden', 'woocommerce' ),
|
||||||
|
'CH' => __( 'Switzerland', 'woocommerce' ),
|
||||||
|
'GB' => __( 'United Kingdom (UK)', 'woocommerce' ),
|
||||||
|
'US' => __( 'United States (US)', 'woocommerce' ),
|
||||||
|
);
|
||||||
|
|
||||||
|
return array_key_exists( $country_code, $stripe_supported_countries );
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Simple array of gateways to show in wizard.
|
* Simple array of gateways to show in wizard.
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
protected function get_wizard_payment_gateways() {
|
protected function get_wizard_payment_gateways() {
|
||||||
|
$country = WC()->countries->get_base_country();
|
||||||
|
$can_stripe = $this->is_stripe_supported_country( $country );
|
||||||
|
|
||||||
$gateways = array(
|
$gateways = array(
|
||||||
'stripe' => array(
|
'stripe' => array(
|
||||||
'name' => __( 'Stripe', 'woocommerce' ),
|
'name' => __( 'Stripe', 'woocommerce' ),
|
||||||
'image' => WC()->plugin_url() . '/assets/images/stripe.png',
|
'image' => WC()->plugin_url() . '/assets/images/stripe.png',
|
||||||
'description' => sprintf( __( 'Accept all major debit and credit cards from customers in 135+ countries on your site. <a href="%s" target="_blank">Learn more about Stripe</a>. <p class="description">Fee: 2.9%% + 30¢ per transaction</p>', 'woocommerce' ), 'https://wordpress.org/plugins/woocommerce-gateway-stripe/' ),
|
'description' => sprintf( __( 'Accept all major debit and credit cards from customers in 135+ countries on your site. <a href="%s" target="_blank">Learn more about Stripe</a>. <p class="description">Fee: 2.9%% + 30¢ per transaction</p>', 'woocommerce' ), 'https://wordpress.org/plugins/woocommerce-gateway-stripe/' ),
|
||||||
'class' => 'featured featured-row-first',
|
'class' => $can_stripe ? 'featured featured-row-first checked' : 'featured featured-row-first',
|
||||||
'repo-slug' => 'woocommerce-gateway-stripe',
|
'repo-slug' => 'woocommerce-gateway-stripe',
|
||||||
'settings' => array(
|
'settings' => array(
|
||||||
'email' => array(
|
'email' => array(
|
||||||
|
@ -750,7 +784,7 @@ class WC_Admin_Setup_Wizard {
|
||||||
'placeholder' => __( 'Stripe email address', 'woocommerce' ),
|
'placeholder' => __( 'Stripe email address', 'woocommerce' ),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
'enabled' => true,
|
'enabled' => $can_stripe,
|
||||||
),
|
),
|
||||||
'braintree_paypal' => array(
|
'braintree_paypal' => array(
|
||||||
'name' => __( 'PayPal by Braintree', 'woocommerce' ),
|
'name' => __( 'PayPal by Braintree', 'woocommerce' ),
|
||||||
|
@ -800,8 +834,6 @@ class WC_Admin_Setup_Wizard {
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
$country = WC()->countries->get_base_country();
|
|
||||||
|
|
||||||
if ( 'US' === $country ) {
|
if ( 'US' === $country ) {
|
||||||
unset( $gateways['ppec_paypal'] );
|
unset( $gateways['ppec_paypal'] );
|
||||||
} else {
|
} else {
|
||||||
|
@ -814,6 +846,10 @@ class WC_Admin_Setup_Wizard {
|
||||||
unset( $gateways['stripe'] );
|
unset( $gateways['stripe'] );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( ! $can_stripe ) {
|
||||||
|
unset( $gateways['stripe'] );
|
||||||
|
}
|
||||||
|
|
||||||
return $gateways;
|
return $gateways;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -821,12 +857,17 @@ class WC_Admin_Setup_Wizard {
|
||||||
* Payments Step.
|
* Payments Step.
|
||||||
*/
|
*/
|
||||||
public function wc_setup_payments() {
|
public function wc_setup_payments() {
|
||||||
$gateways = $this->get_wizard_payment_gateways();
|
$gateways = $this->get_wizard_payment_gateways();
|
||||||
|
$country = WC()->countries->get_base_country();
|
||||||
|
$can_stripe = $this->is_stripe_supported_country( $country );
|
||||||
?>
|
?>
|
||||||
<h1><?php esc_html_e( 'Payments', 'woocommerce' ); ?></h1>
|
<h1><?php esc_html_e( 'Payments', 'woocommerce' ); ?></h1>
|
||||||
<form method="post" class="wc-wizard-payment-gateway-form">
|
<form method="post" class="wc-wizard-payment-gateway-form">
|
||||||
<p><?php printf( __( 'WooCommerce can accept both online and offline payments. <a href="%1$s" target="_blank">Additional payment methods</a> can be installed later and managed from the <a href="%2$s" target="_blank">checkout settings</a> screen.', 'woocommerce' ), esc_url( admin_url( 'admin.php?page=wc-addons&view=payment-gateways' ) ), esc_url( admin_url( 'admin.php?page=wc-settings&tab=checkout' ) ) ); ?></p>
|
<?php if ( $can_stripe ) : ?>
|
||||||
|
<p><?php esc_html_e( 'Your store will be setup to accept payments instantly on checkout with Stripe.', 'woocommerce' ); ?></p>
|
||||||
|
<?php else: ?>
|
||||||
|
<p><?php printf( __( 'WooCommerce can accept both online and offline payments. <a href="%1$s" target="_blank">Additional payment methods</a> can be installed later and managed from the <a href="%2$s" target="_blank">checkout settings</a> screen.', 'woocommerce' ), esc_url( admin_url( 'admin.php?page=wc-addons&view=payment-gateways' ) ), esc_url( admin_url( 'admin.php?page=wc-settings&tab=checkout' ) ) ); ?></p>
|
||||||
|
<?php endif; ?>
|
||||||
<ul class="wc-wizard-payment-gateways">
|
<ul class="wc-wizard-payment-gateways">
|
||||||
<?php foreach ( $gateways as $gateway_id => $gateway ) : ?>
|
<?php foreach ( $gateways as $gateway_id => $gateway ) : ?>
|
||||||
<li class="wc-wizard-gateway wc-wizard-gateway-<?php echo esc_attr( $gateway_id ); ?> <?php echo esc_attr( $gateway['class'] ); ?>">
|
<li class="wc-wizard-gateway wc-wizard-gateway-<?php echo esc_attr( $gateway_id ); ?> <?php echo esc_attr( $gateway['class'] ); ?>">
|
||||||
|
|
Loading…
Reference in New Issue