Php 根据选择的支付网关和用户角色添加费用

Php 根据选择的支付网关和用户角色添加费用,php,wordpress,woocommerce,payment-method,fee,Php,Wordpress,Woocommerce,Payment Method,Fee,我使用的是应答码,费用是根据用户角色添加的ok,但当客户确认付款时,不收取费用。在我的例子中,支付网关是MercadoPago,在我的国家,它的工作原理类似于“Paypal” 事实是,费用被忽略了。有什么想法吗?也许您需要的是找到为mercado pago启用的付款方式id 以下代码将显示在“签出”页面上,供管理员在“付款方式”标题附近签出可用付款方式时使用的付款ID: add_filter( 'woocommerce_gateway_title', 'display_payment_metho

我使用的是应答码,费用是根据用户角色添加的ok,但当客户确认付款时,不收取费用。在我的例子中,支付网关是MercadoPago,在我的国家,它的工作原理类似于“Paypal”


事实是,费用被忽略了。有什么想法吗?

也许您需要的是找到为mercado pago启用的付款方式id

以下代码将显示在“签出”页面上,供管理员在“付款方式”标题附近签出可用付款方式时使用的付款ID:

add_filter( 'woocommerce_gateway_title', 'display_payment_method_id_for_admins_on_checkout', 100, 2 );
function display_payment_method_id_for_admins_on_checkout( $title, $payment_id ){
    if( is_checkout() && ( current_user_can( 'administrator') || current_user_can( 'shop_manager') ) ) {
        $title .= ' <code style="border:solid 1px #ccc;padding:2px 5px;color:red;">' . $payment_id . '</code>';
    }
    return $title;
}
现在缺少了一些内容:以下内容将刷新付款方式选择的签出:

// jQuery - Update checkout on payment method change
add_action( 'wp_footer', 'custom_checkout_jquery_script' );
function custom_checkout_jquery_script() {
    if ( is_checkout() && ! is_wc_endpoint_url() ) :
    ?>
    <script type="text/javascript">
    jQuery( function($){
        $('form.checkout').on('change', 'input[name="payment_method"]', function(){
            $(document.body).trigger('update_checkout');
        });
    });
    </script>
    <?php
    endif;
}
//jQuery-付款方式更改时更新签出
添加操作('wp\u footer','custom\u checkout\u jquery\u script');
函数自定义\u签出\u jquery\u脚本(){
如果(is_checkout()&&!is_wc_endpoint_url()):
?>
jQuery(函数($){
$('form.checkout')。在('change','input[name=“payment\u method”]”上,函数(){
$(document.body).trigger('update_checkout');
});
});

也许您需要的是找到为mercado pago启用的付款方式id

以下代码将显示在“签出”页面上,供管理员在“付款方式”标题附近签出可用付款方式时使用的付款ID:

add_filter( 'woocommerce_gateway_title', 'display_payment_method_id_for_admins_on_checkout', 100, 2 );
function display_payment_method_id_for_admins_on_checkout( $title, $payment_id ){
    if( is_checkout() && ( current_user_can( 'administrator') || current_user_can( 'shop_manager') ) ) {
        $title .= ' <code style="border:solid 1px #ccc;padding:2px 5px;color:red;">' . $payment_id . '</code>';
    }
    return $title;
}
现在缺少了一些内容:以下内容将刷新付款方式选择的签出:

// jQuery - Update checkout on payment method change
add_action( 'wp_footer', 'custom_checkout_jquery_script' );
function custom_checkout_jquery_script() {
    if ( is_checkout() && ! is_wc_endpoint_url() ) :
    ?>
    <script type="text/javascript">
    jQuery( function($){
        $('form.checkout').on('change', 'input[name="payment_method"]', function(){
            $(document.body).trigger('update_checkout');
        });
    });
    </script>
    <?php
    endif;
}
//jQuery-付款方式更改时更新签出
添加操作('wp\u footer','custom\u checkout\u jquery\u script');
函数自定义\u签出\u jquery\u脚本(){
如果(is_checkout()&&!is_wc_endpoint_url()):
?>
jQuery(函数($){
$('form.checkout')。在('change','input[name=“payment\u method”]”上,函数(){
$(document.body).trigger('update_checkout');
});
});

欢迎来到stackoverflow。请更具体地描述您的问题。描述您的问题,您尝试了什么,哪些有效,哪些无效。请不要生气并阅读:欢迎来到stackoverflow。请更具体地描述您的问题。描述您的问题,您尝试了什么,哪些有效,哪些无效。请不要生气并阅读:Loic,非常感谢你对我问题的回答。我测试了代码,费用计算正确,添加到小计中,并在结账时显示,但Mercadopago不收取费用金额,它只收取小计而不收取费用,@MarceloGarcía这不正常,然后有一些问题,它可能是一个插件,你的主题的客户mization或您制作的其他代码…再次感谢您的帮助,经过一些研究,我发现这是一个MercadoPago代码的问题,不幸的是它不允许额外的费用…无论如何,由于此代码适用于任何其他付款方式,您可以请您回答,谢谢。Loic,非常感谢您对我的问题的回答。I tested代码,费用正确计算,添加到小计中,并在结账时显示,但Mercadopago不收取费用金额,它只收取小计而不收取费用,@MarceloGarcía这不正常,然后有一些东西正在制造麻烦,它可能是一个插件,您的主题自定义或您制作的其他代码…再次感谢您或者你的帮助,经过一些研究,我发现这是一个MercadoPago代码的问题,不幸的是它不允许额外的费用…无论如何,由于这个代码适用于任何其他付款方式,你可以请回答,谢谢。