uawdijnntqw1x1x1
IP : 18.188.136.24
Hostname : premium160.web-hosting.com
Kernel : Linux premium160.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
Disable Function : None :)
OS : Linux
PATH:
/
home
/
batcwwjx
/
www
/
wp-content
/
plugins
/
woocommerce
/
lib
/
..
/
src
/
StoreApi
/
Utilities
/
PaymentUtils.php
/
/
<?php declare(strict_types=1); namespace Automattic\WooCommerce\StoreApi\Utilities; /** * PaymentUtils * * Utility class for payment methods. */ class PaymentUtils { /** * Callback for woocommerce_payment_methods_list_item filter to add token id * to the generated list. * * @param array $list_item The current list item for the saved payment method. * @param \WC_Token $token The token for the current list item. * * @return array The list item with the token id added. */ public static function include_token_id_with_payment_methods( $list_item, $token ) { $list_item['tokenId'] = $token->get_id(); $brand = ! empty( $list_item['method']['brand'] ) ? strtolower( $list_item['method']['brand'] ) : ''; if ( ! empty( $brand ) && esc_html__( 'Credit card', 'woocommerce' ) !== $brand ) { $list_item['method']['brand'] = wc_get_credit_card_type_label( $brand ); } return $list_item; } /** * Get enabled payment gateways. * * @return array */ public static function get_enabled_payment_gateways() { $payment_gateways = WC()->payment_gateways->payment_gateways(); return array_filter( $payment_gateways, function ( $payment_gateway ) { return 'yes' === $payment_gateway->enabled; } ); } /** * Returns enabled saved payment methods for a customer and the default method if there are multiple. * * @return array */ public static function get_saved_payment_methods() { if ( ! is_user_logged_in() ) { return; } add_filter( 'woocommerce_payment_methods_list_item', [ self::class, 'include_token_id_with_payment_methods' ], 10, 2 ); $enabled_payment_gateways = self::get_enabled_payment_gateways(); $saved_payment_methods = wc_get_customer_saved_methods_list( get_current_user_id() ); $payment_methods = [ 'enabled' => [], 'default' => null, ]; // Filter out payment methods that are not enabled. foreach ( $saved_payment_methods as $payment_method_group => $saved_payment_methods ) { $payment_methods['enabled'][ $payment_method_group ] = array_values( array_filter( $saved_payment_methods, function ( $saved_payment_method ) use ( $enabled_payment_gateways, &$payment_methods ) { if ( true === $saved_payment_method['is_default'] && null === $payment_methods['default'] ) { $payment_methods['default'] = $saved_payment_method; } return in_array( $saved_payment_method['method']['gateway'], array_keys( $enabled_payment_gateways ), true ); } ) ); } remove_filter( 'woocommerce_payment_methods_list_item', [ self::class, 'include_token_id_with_payment_methods' ], 10, 2 ); return $payment_methods; } /** * Returns the default payment method for a customer. * * @return string */ public static function get_default_payment_method() { $saved_payment_methods = self::get_saved_payment_methods(); // A saved payment method exists, set as default. if ( $saved_payment_methods && ! empty( $saved_payment_methods['default'] ) ) { return $saved_payment_methods['default']['method']['gateway'] ?? ''; } $chosen_payment_method = WC()->session->get( 'chosen_payment_method' ); // If payment method is already stored in session, use it. if ( $chosen_payment_method ) { return $chosen_payment_method; } // If no saved payment method exists, use the first enabled payment method. $enabled_payment_gateways = self::get_enabled_payment_gateways(); $first_key = array_key_first( $enabled_payment_gateways ); $first_payment_method = $enabled_payment_gateways[ $first_key ]; return $first_payment_method->id ?? ''; } }
/home/batcwwjx/www/wp-content/plugins/woocommerce/lib/../src/StoreApi/Utilities/PaymentUtils.php