Automattic\WooCommerce\Admin\Features\PaymentGatewaySuggestions
DefaultPaymentGateways::get_recommendation_priority │ private static │ WC 1.0
Get recommendation priority for a given payment gateway by id and country. If country is not supported, return null.
Метод класса: DefaultPaymentGateways{}
Хуков нет.
Возвращает
int|null. Priority. Priority is 0-indexed, so 0 is the highest priority.
Использование
$result = DefaultPaymentGateways::get_recommendation_priority( $gateway_id, $country_code );
- $gateway_id(строка) (обязательный)
- Payment gateway id.
- $country_code(строка) (обязательный)
- Store country code.
Код DefaultPaymentGateways::get_recommendation_priority() DefaultPaymentGateways::get recommendation priority WC 10.5.2
private static function get_recommendation_priority( $gateway_id, $country_code ) {
$recommendation_priority_map = array(
'US' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'stripe',
'ppcp-gateway',
'square_credit_card',
'amazon_payments_advanced',
'affirm',
'afterpay',
'klarna_payments',
),
'CA' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'stripe',
'ppcp-gateway',
'square_credit_card',
'affirm',
'afterpay',
'klarna_payments',
),
'AT' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'stripe',
'ppcp-gateway',
'airwallex_main',
'mollie_wc_gateway_banktransfer',
'klarna_payments',
'amazon_payments_advanced',
),
'BE' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'stripe',
'ppcp-gateway',
'airwallex_main',
'mollie_wc_gateway_banktransfer',
'klarna_payments',
'amazon_payments_advanced',
),
'BG' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'stripe',
'ppcp-gateway',
),
'HR' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'ppcp-gateway',
),
'CH' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'stripe',
'ppcp-gateway',
'mollie_wc_gateway_banktransfer',
'klarna_payments',
),
'CY' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'stripe',
'ppcp-gateway',
'amazon_payments_advanced',
),
'CZ' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'stripe',
'ppcp-gateway',
),
'DK' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'stripe',
'ppcp-gateway',
'klarna_payments',
'amazon_payments_advanced',
),
'EE' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'stripe',
'ppcp-gateway',
'airwallex_main',
),
'ES' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'stripe',
'ppcp-gateway',
'mollie_wc_gateway_banktransfer',
'square_credit_card',
'klarna_payments',
'amazon_payments_advanced',
),
'FI' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'stripe',
'ppcp-gateway',
'mollie_wc_gateway_banktransfer',
'kco',
'klarna_payments',
),
'FR' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'stripe',
'ppcp-gateway',
'airwallex_main',
'mollie_wc_gateway_banktransfer',
'square_credit_card',
'klarna_payments',
'amazon_payments_advanced',
),
'DE' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'stripe',
'ppcp-gateway',
'airwallex_main',
'mollie_wc_gateway_banktransfer',
'klarna_payments',
'amazon_payments_advanced',
),
'GB' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'stripe',
'ppcp-gateway',
'airwallex_main',
'mollie_wc_gateway_banktransfer',
'square_credit_card',
'klarna_payments',
'amazon_payments_advanced',
),
'GR' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'stripe',
'ppcp-gateway',
'airwallex_main',
),
'HU' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'stripe',
'ppcp-gateway',
'amazon_payments_advanced',
),
'IE' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'stripe',
'ppcp-gateway',
'airwallex_main',
'square_credit_card',
'amazon_payments_advanced',
),
'IT' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'stripe',
'ppcp-gateway',
'airwallex_main',
'mollie_wc_gateway_banktransfer',
'klarna_payments',
'amazon_payments_advanced',
),
'LV' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'stripe',
'ppcp-gateway',
),
'LT' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'stripe',
'ppcp-gateway',
),
'LU' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'stripe',
'ppcp-gateway',
'amazon_payments_advanced',
),
'MT' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'stripe',
'ppcp-gateway',
),
'NL' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'stripe',
'ppcp-gateway',
'airwallex_main',
'mollie_wc_gateway_banktransfer',
'klarna_payments',
'amazon_payments_advanced',
),
'NO' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'stripe',
'ppcp-gateway',
'kco',
'klarna_payments',
),
'PL' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'stripe',
'ppcp-gateway',
'airwallex_main',
'mollie_wc_gateway_banktransfer',
'klarna_payments',
),
'PT' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'stripe',
'ppcp-gateway',
'airwallex_main',
'amazon_payments_advanced',
),
'RO' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'stripe',
'ppcp-gateway',
),
'SK' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'stripe',
'ppcp-gateway',
),
'SL' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'stripe',
'ppcp-gateway',
'amazon_payments_advanced',
),
'SE' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'stripe',
'ppcp-gateway',
'kco',
'klarna_payments',
'amazon_payments_advanced',
),
'MX' => array(
'stripe',
'woo-mercado-pago-custom',
'ppcp-gateway',
'klarna_payments',
),
'BR' => array( 'stripe', 'woo-mercado-pago-custom', 'ppcp-gateway' ),
'AR' => array( 'woo-mercado-pago-custom', 'ppcp-gateway' ),
'BO' => array(),
'CL' => array( 'woo-mercado-pago-custom', 'ppcp-gateway' ),
'CO' => array( 'woo-mercado-pago-custom', 'ppcp-gateway' ),
'EC' => array( 'woo-mercado-pago-custom', 'ppcp-gateway' ),
'FK' => array(),
'GF' => array(),
'GY' => array(),
'PY' => array(),
'PE' => array( 'woo-mercado-pago-custom', 'ppcp-gateway' ),
'SR' => array(),
'UY' => array( 'woo-mercado-pago-custom', 'ppcp-gateway' ),
'VE' => array( 'ppcp-gateway' ),
'AU' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'stripe',
'airwallex_main',
'ppcp-gateway',
'square_credit_card',
'afterpay',
'klarna_payments',
),
'NZ' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'stripe',
'airwallex_main',
'ppcp-gateway',
'klarna_payments',
),
'HK' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'stripe',
'airwallex_main',
'ppcp-gateway',
'payoneer-checkout',
),
'JP' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'stripe',
'ppcp-gateway',
'square_credit_card',
'amazon_payments_advanced',
),
'SG' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
'stripe',
'airwallex_main',
'ppcp-gateway',
),
'CN' => array( 'airwallex_main', 'ppcp-gateway', 'payoneer-checkout' ),
'FJ' => array(),
'GU' => array(),
'ID' => array( 'stripe', 'ppcp-gateway' ),
'IN' => array( 'stripe', 'razorpay', 'payubiz', 'ppcp-gateway' ),
'ZA' => array( 'payfast', 'paystack' ),
'NG' => array( 'paystack' ),
'GH' => array( 'paystack' ),
'AE' => array(
'woocommerce_payments:with-in-person-payments',
'woocommerce_payments:without-in-person-payments',
'woocommerce_payments',
),
);
// If the country code is not in the list, return default priority.
if ( ! isset( $recommendation_priority_map[ $country_code ] ) ) {
return self::get_default_recommendation_priority( $gateway_id );
}
$index = array_search( $gateway_id, $recommendation_priority_map[ $country_code ], true );
// If the gateway is not in the list, return the last index + 1.
if ( false === $index ) {
return count( $recommendation_priority_map[ $country_code ] );
}
return $index;
}