我在使用此挂钩前往付款网关之前添加了一个复选框输入:woocommerce_review_order_before_submit
。
add_action( 'woocommerce_review_order_before_submit', 'add_prepayment' )
function add_prepayment() {
echo '<p><label><input type="checkbox" name="pre_payment">Pay partially</label></p>';
}
是否有wc过滤器或操作挂钩,以便我可以在将其发送到支付网关之前修改收费金额?
答案 0 :(得分:0)
很幸运。经过几个小时的搜索woocommerce插件代码,我找到了这个过滤器钩子:woocommerce_paypal_args
所以我做的是:
add_action( 'woocommerce_paypal_args', 'paypal_args' );
function paypal_args( $order ) {
$partial_payment = isset( $_REQUEST[ 'partial_payment' ] ) ? $_REQUEST[ 'partial_payment' ] : false;
if( $partial_payment ) {
$current_price = $order['amount_1'];
// Some calculation process here..
$order['amount_1'] = $new_price;
}
return $order;
}
顺便说一句,谢谢大家。