So blenden Sie ein Zahlungs-Gateway nach Währung an der Kasse aus
Nicht jedes Zahlungs-Gateway kann in jeder Währung abrechnen. Das Ausblenden derer, die es nicht können, bewahrt einen Multi-Währungs-Checkout davor, in einer fehlgeschlagenen Zahlung zu enden.
Manchmal ist es notwendig, Zahlungs-Gateways auf der Checkout-Seite im Mehrfachmodus abhängig von der aktuellen Währung auszublenden. Ab Version 2.2.7/1.1.7 verwenden Sie die Optionen im Tab "Payments Rules" der Plugin-Einstellungsseite:
Ab Version 2.1.4/1.1.4 wurde eine zusätzliche CSS-Klasse im <body>-Tag implementiert. Beispiel: currency-usd, wobei usd die aktuelle Währung ist. Daher ist es ab jetzt sehr einfach, beliebige Gateways im Checkout nach Ihrer Logik auszublenden, indem Sie einfach CSS verwenden.
Methode mit Code -> Fügen Sie in der functions.php-Datei Ihres aktuellen WordPress-Themes das folgende PHP-Skript hinzu:
add_filter('woocommerce_available_payment_gateways', 'woocs_filter_gateways', 1);
function woocs_filter_gateways($gateway_list)
{
global $WOOCS;
$exclude = array(
'paypal' => array('EUR', 'GBP'), //do not show paypal gate if current currency is EUR or GBP
'stripe' => array('USD')//do not show stripe gate if current currency is USD
);
//***
foreach ($exclude as $gateway_key => $currencies)
{
if (isset($gateway_list[$gateway_key]) AND in_array($WOOCS->current_currency, $currencies))
{
unset($gateway_list[$gateway_key]);
}
}
return $gateway_list;
}
Weitere Beispiele:
-
add_filter('woocommerce_available_payment_gateways', 'woocs_filter_gateways', 1); function woocs_filter_gateways($gateway_list) { if (WC()->cart->subtotal > 1000) { unset($gateway_list['cod']); } return $gateway_list; } - _