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.
Method of the class: DefaultPaymentGateways{}
No Hooks.
Return
Int|null
. Priority. Priority is 0-indexed, so 0 is the highest priority.
Usage
$result = DefaultPaymentGateways::get_recommendation_priority( $gateway_id, $country_code );
- $gateway_id(string) (required)
- Payment gateway id.
- $country_code(string) (required)
- Store country code.
DefaultPaymentGateways::get_recommendation_priority() DefaultPaymentGateways::get recommendation priority code WC 9.7.1
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; }