Fix psalm

This commit is contained in:
Emili Castells Guasch 2024-01-12 10:48:50 +01:00
parent 8a5e823801
commit eb7e921d44
2 changed files with 16 additions and 8 deletions

View file

@ -10,6 +10,7 @@ declare(strict_types=1);
namespace WooCommerce\PayPalCommerce\WcSubscriptions\Endpoint; namespace WooCommerce\PayPalCommerce\WcSubscriptions\Endpoint;
use Exception; use Exception;
use WC_Order;
use WC_Payment_Tokens; use WC_Payment_Tokens;
use WooCommerce\PayPalCommerce\Button\Endpoint\EndpointInterface; use WooCommerce\PayPalCommerce\Button\Endpoint\EndpointInterface;
use WooCommerce\PayPalCommerce\Button\Endpoint\RequestData; use WooCommerce\PayPalCommerce\Button\Endpoint\RequestData;
@ -57,16 +58,21 @@ class SubscriptionChangePaymentMethod implements EndpointInterface {
$data = $this->request_data->read_request( $this->nonce() ); $data = $this->request_data->read_request( $this->nonce() );
$subscription = wcs_get_subscription( $data['subscription_id'] ); $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'] ); $wc_payment_token = WC_Payment_Tokens::get( $data['wc_payment_token_id'] );
if ( $wc_payment_token ) { if ( $wc_payment_token ) {
$subscription->add_payment_token( $wc_payment_token ); $subscription->add_payment_token( $wc_payment_token );
$subscription->save(); $subscription->save();
}
wp_send_json_success();
return true;
} }
wp_send_json_success(); wp_send_json_error();
return true; return false;
} catch ( Exception $exception ) { } catch ( Exception $exception ) {
wp_send_json_error(); wp_send_json_error();
return false; return false;

View file

@ -11,6 +11,7 @@ namespace WooCommerce\PayPalCommerce\WcSubscriptions;
use Psr\Log\LoggerInterface; use Psr\Log\LoggerInterface;
use WC_Order; use WC_Order;
use WC_Payment_Token_CC;
use WC_Payment_Tokens; use WC_Payment_Tokens;
use WooCommerce\PayPalCommerce\ApiClient\Exception\RuntimeException; use WooCommerce\PayPalCommerce\ApiClient\Exception\RuntimeException;
use WooCommerce\PayPalCommerce\Vaulting\PaymentTokenRepository; use WooCommerce\PayPalCommerce\Vaulting\PaymentTokenRepository;
@ -309,13 +310,14 @@ class WcSubscriptionsModule implements ModuleInterface {
esc_html__( 'Select a saved Credit Card payment', 'woocommerce-paypal-payments' ) esc_html__( 'Select a saved Credit Card payment', 'woocommerce-paypal-payments' )
); );
foreach ( $tokens as $token ) { foreach ( $tokens as $token ) {
if ( $token instanceof WC_Payment_Token_CC ) {
$output .= sprintf( $output .= sprintf(
'<option value="%1$s">%2$s ...%3$s</option>', '<option value="%1$s">%2$s ...%3$s</option>',
$token->get_id(), $token->get_id(),
$token->get_card_type(), $token->get_card_type(),
$token->get_last4() $token->get_last4()
); );
}
} }
$output .= '</select></p>'; $output .= '</select></p>';