为woocommerce结帐添加预付款选项

时间:2017-08-25 04:03:08

标签: php wordpress paypal woocommerce

我在使用此挂钩前往付款网关之前添加了一个复选框输入: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>';
}

Checkbox option for pre-payment before proceeding to wc payment gateways 计划是在用户选中“部分支付”选项时将订单总价格降低一半。

是否有wc过滤器或操作挂钩,以便我可以在将其发送到支付网关之前修改收费金额?

1 个答案:

答案 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;
  }

顺便说一句,谢谢大家。