【发布时间】:2018-07-25 19:01:45
【问题描述】:
我有一个插件,当 authorize.net 用作支付网关时会增加费用。
但是,当我使用涵盖整个购买的礼品卡并将购物车总额降至 0 美元时,订单仍设置为 authorize.net,并且当客户在技术上没有支付任何费用时会产生费用。
当购物车总额小于 0 美元时,我正在使用以下代码禁用 authorize.net 支付网关:
function authorize_less($available_gateways) {
$maximum = 0;
if ( WC()->cart->total < $maximum ) {
unset( $available_gateways['authorizenet'] );
}
return $available_gateways;
}
add_filter( 'woocommerce_available_payment_gateways', 'authorize_less' );
function authorize_more($available_gateways) {
$maximum = 0;
if ( WC()->cart->total > $maximum ) {
unset( $available_gateways['cod'] );
}
return $available_gateways;
}
add_filter( 'woocommerce_available_payment_gateways', 'authorize_more' );
该功能无法可靠运行。根据我在购物车中的操作,信用卡费用根本不显示,或者需要第二次刷新才能出现或消失。
问题可能不仅仅是自动计算和函数本身。可能有一种方法可以将它放入一个函数而不是我上面的两个函数中,但我没有成功
【问题讨论】:
标签: php wordpress woocommerce payment-gateway cart