Do not redirect when handling vault_enabled settings, also return false if there is no scope yet

This commit is contained in:
dinamiko 2021-05-03 12:20:07 +02:00
parent 61397bc798
commit 1725d2da18
3 changed files with 65 additions and 6 deletions

View file

@ -104,7 +104,11 @@ class Token {
*
* @return bool Whether vaulting features are enabled or not.
*/
public function vaulting_available() {
public function vaulting_available(): bool {
if ( ! isset( $this->json->scope ) ) {
return false;
}
if ( strpos(
$this->json->scope,
'https://uri.paypal.com/services/vault/payment-tokens/readwrite'

View file

@ -147,15 +147,11 @@ class SettingsListener {
return;
}
$redirect_url = admin_url( 'admin.php?page=wc-settings&tab=checkout&section=ppcp-gateway' );
$token = $this->bearer->bearer();
if ( ! $token->vaulting_available() ) {
$this->settings->set( 'vault_enabled', false );
$this->settings->persist();
wp_safe_redirect( $redirect_url, 302 );
exit;
return;
}
/**