Woocommerce附加价格(woocommerce_before_calculate_totals)在付款期间不会添加

时间:2017-06-01 07:53:16

标签: php wordpress woocommerce

在我的应用程序中,如果客户需要某些服务,则需要为每个产品添加额外的价格,因此我通过使用woocommerce_before_calculate_totals钩子将会话(额外价格)的价格添加到每个产品,只要总数是显示包括我的额外价格。

但是在付款时没有添加额外的价格,只有产品原始价格被发送到支付网关,其他所有地方都是如此(购物车/结账正确显示)

在没有添加额外价格的情况下,是否有任何钩子我没有付款。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您必须使用以下挂钩woocommerce_cart_calculate_fees

add_action( 'woocommerce_cart_calculate_fees','woocommerce_custom_surcharge' );
function woocommerce_custom_surcharge() {
  global $woocommerce;

    if ( is_admin() && ! defined( 'DOING_AJAX' ) )
        return;

    $percentage = 0.01;
    $surcharge = ( $woocommerce->cart->cart_contents_total + $woocommerce->cart->shipping_total ) * $percentage;    
    $woocommerce->cart->add_fee( 'Surcharge', $surcharge, true, '' );

}

供参考:https://docs.woocommerce.com/document/add-a-surcharge-to-cart-and-checkout-uses-fees-api/

add_fee参考:http://woocommerce.wp-a2z.org/oik_api/wc_cartadd_fee/

相关问题