From eb7e921d44ece11da6de3e72e0afaf90d2c8fdea Mon Sep 17 00:00:00 2001 From: Emili Castells Guasch Date: Fri, 12 Jan 2024 10:48:50 +0100 Subject: [PATCH] Fix psalm --- .../SubscriptionChangePaymentMethod.php | 20 ++++++++++++------- .../src/WcSubscriptionsModule.php | 4 +++- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/modules/ppcp-wc-subscriptions/src/Endpoint/SubscriptionChangePaymentMethod.php b/modules/ppcp-wc-subscriptions/src/Endpoint/SubscriptionChangePaymentMethod.php index cb277e146..7f3df3601 100644 --- a/modules/ppcp-wc-subscriptions/src/Endpoint/SubscriptionChangePaymentMethod.php +++ b/modules/ppcp-wc-subscriptions/src/Endpoint/SubscriptionChangePaymentMethod.php @@ -10,6 +10,7 @@ declare(strict_types=1); namespace WooCommerce\PayPalCommerce\WcSubscriptions\Endpoint; use Exception; +use WC_Order; use WC_Payment_Tokens; use WooCommerce\PayPalCommerce\Button\Endpoint\EndpointInterface; use WooCommerce\PayPalCommerce\Button\Endpoint\RequestData; @@ -57,16 +58,21 @@ class SubscriptionChangePaymentMethod implements EndpointInterface { $data = $this->request_data->read_request( $this->nonce() ); $subscription = wcs_get_subscription( $data['subscription_id'] ); - $subscription->set_payment_method( $data['payment_method'] ); + if ( $subscription instanceof WC_Order ) { + $subscription->set_payment_method( $data['payment_method'] ); - $wc_payment_token = WC_Payment_Tokens::get( $data['wc_payment_token_id'] ); - if ( $wc_payment_token ) { - $subscription->add_payment_token( $wc_payment_token ); - $subscription->save(); + $wc_payment_token = WC_Payment_Tokens::get( $data['wc_payment_token_id'] ); + if ( $wc_payment_token ) { + $subscription->add_payment_token( $wc_payment_token ); + $subscription->save(); + } + + wp_send_json_success(); + return true; } - wp_send_json_success(); - return true; + wp_send_json_error(); + return false; } catch ( Exception $exception ) { wp_send_json_error(); return false; diff --git a/modules/ppcp-wc-subscriptions/src/WcSubscriptionsModule.php b/modules/ppcp-wc-subscriptions/src/WcSubscriptionsModule.php index 6e3e25937..0f2fa2e21 100644 --- a/modules/ppcp-wc-subscriptions/src/WcSubscriptionsModule.php +++ b/modules/ppcp-wc-subscriptions/src/WcSubscriptionsModule.php @@ -11,6 +11,7 @@ namespace WooCommerce\PayPalCommerce\WcSubscriptions; use Psr\Log\LoggerInterface; use WC_Order; +use WC_Payment_Token_CC; use WC_Payment_Tokens; use WooCommerce\PayPalCommerce\ApiClient\Exception\RuntimeException; use WooCommerce\PayPalCommerce\Vaulting\PaymentTokenRepository; @@ -309,13 +310,14 @@ class WcSubscriptionsModule implements ModuleInterface { esc_html__( 'Select a saved Credit Card payment', 'woocommerce-paypal-payments' ) ); foreach ( $tokens as $token ) { + if ( $token instanceof WC_Payment_Token_CC ) { $output .= sprintf( '', $token->get_id(), $token->get_card_type(), $token->get_last4() ); - + } } $output .= '

';