Automattic\WooCommerce\StoreApi\Utilities

PaymentUtils::get_default_payment_methodpublic staticWC 1.0

Returns the default payment method for a customer.

Метод класса: PaymentUtils{}

Хуков нет.

Возвращает

Строку.

Использование

$result = PaymentUtils::get_default_payment_method();

Код PaymentUtils::get_default_payment_method() WC 10.0.2

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();

	if ( empty( $enabled_payment_gateways ) ) {
		return '';
	}

	$first_key                = array_key_first( $enabled_payment_gateways );
	$first_payment_method     = $enabled_payment_gateways[ $first_key ];
	return $first_payment_method->id ?? '';
}