Onboarding: Mark payments task complete on updating payment gateways (https://github.com/woocommerce/woocommerce-admin/pull/3579)
* Mark payments task complete on Stripe settings update * Check for Paypal completion * Update payments task to complete on setting Square tokens * Update Paypal settings to check ppec settings
This commit is contained in:
parent
c3ae5ed53e
commit
69525f70df
|
@ -63,6 +63,83 @@ class OnboardingTasks {
|
|||
add_action( 'admin_enqueue_scripts', array( $this, 'add_onboarding_homepage_notice_admin_script' ) );
|
||||
add_action( 'admin_enqueue_scripts', array( $this, 'add_onboarding_tax_notice_admin_script' ) );
|
||||
add_action( 'admin_enqueue_scripts', array( $this, 'add_onboarding_product_import_notice_admin_script' ) );
|
||||
|
||||
// Update payment cache on payment gateways update.
|
||||
add_action( 'update_option_woocommerce_stripe_settings', array( $this, 'check_stripe_completion' ), 10, 2 );
|
||||
add_action( 'add_option_woocommerce_stripe_settings', array( $this, 'check_stripe_completion' ), 10, 2 );
|
||||
add_action( 'update_option_woocommerce_ppec_paypal_settings', array( $this, 'check_paypal_completion' ), 10, 2 );
|
||||
add_action( 'add_option_woocommerce_ppec_paypal_settings', array( $this, 'check_paypal_completion' ), 10, 2 );
|
||||
add_action( 'add_option_wc_square_refresh_tokens', array( $this, 'check_square_completion' ), 10, 2 );
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if Square payment settings are complete.
|
||||
*
|
||||
* @param string $option Option name.
|
||||
* @param array $value Current value.
|
||||
*/
|
||||
public static function check_square_completion( $option, $value ) {
|
||||
if ( empty( $value ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
self::maybe_update_payments_cache();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Check if Paypal payment settings are complete.
|
||||
*
|
||||
* @param mixed $old_value Old value.
|
||||
* @param array $value Current value.
|
||||
*/
|
||||
public static function check_paypal_completion( $old_value, $value ) {
|
||||
if (
|
||||
! isset( $value['enabled'] ) ||
|
||||
'yes' !== $value['enabled'] ||
|
||||
! isset( $value['api_username'] ) ||
|
||||
empty( $value['api_username'] ) ||
|
||||
! isset( $value['api_password'] ) ||
|
||||
empty( $value['api_password'] )
|
||||
) {
|
||||
return;
|
||||
}
|
||||
|
||||
self::maybe_update_payments_cache();
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if Stripe payment settings are complete.
|
||||
*
|
||||
* @param mixed $old_value Old value.
|
||||
* @param array $value Current value.
|
||||
*/
|
||||
public static function check_stripe_completion( $old_value, $value ) {
|
||||
if (
|
||||
! isset( $value['enabled'] ) ||
|
||||
'yes' !== $value['enabled'] ||
|
||||
! isset( $value['publishable_key'] ) ||
|
||||
empty( $value['publishable_key'] ) ||
|
||||
! isset( $value['secret_key'] ) ||
|
||||
empty( $value['secret_key'] )
|
||||
) {
|
||||
return;
|
||||
}
|
||||
|
||||
self::maybe_update_payments_cache();
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the payments cache to complete if not already.
|
||||
*/
|
||||
public static function maybe_update_payments_cache() {
|
||||
$task_list_payments = get_option( 'woocommerce_task_list_payments', array() );
|
||||
if ( isset( $task_list_payments['completed'] ) && $task_list_payments['completed'] ) {
|
||||
return;
|
||||
}
|
||||
|
||||
$task_list_payments['completed'] = 1;
|
||||
update_option( 'woocommerce_task_list_payments', $task_list_payments );
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue