在我的应用程序中,如果客户需要某些服务,则需要为每个产品添加额外的价格,因此我通过使用woocommerce_before_calculate_totals钩子将会话(额外价格)的价格添加到每个产品,只要总数是显示包括我的额外价格。
但是在付款时没有添加额外的价格,只有产品原始价格被发送到支付网关,其他所有地方都是如此(购物车/结账正确显示)
在没有添加额外价格的情况下,是否有任何钩子我没有付款。
提前致谢。
答案 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/