Abbiamo, ad esempio, bisogno di aggiungere un commissione di 2 € per Paypal e una di 3 per il pagamento in contrassegno
function woocommerce_custom_fee( ) {
global $woocommerce;
if ( ( is_admin() && ! defined( 'DOING_AJAX' ) ) || ! is_checkout() )
return;
$chosen_gateway = $woocommerce->session->chosen_payment_method;
$feepaypal = 2;
$feecod = 3;
if ( $chosen_gateway == 'paypal' ) {
$woocommerce->cart->add_fee( 'Commissione Paypal', $feepaypal, false, '' );
}
if ( $chosen_gateway == 'cod' ) {
$woocommerce->cart->add_fee( 'Commissione Contrassegno', $feecod, false, '' );
}
}
add_action( 'woocommerce_cart_calculate_fees','woocommerce_custom_fee' );
Un javascript che aggiorna gli importi nel checkout quando si sceglie un metodo di pagamento diverso
function cart_update_script() {
if (is_checkout()) :
?>
<script>
jQuery( function( $ ) {
if ( typeof woocommerce_params === 'undefined' ) {
return false;
}
$checkout_form = $( 'form.checkout' );
$checkout_form.on( 'change', 'input[name="payment_method"]', function() {
$checkout_form.trigger( 'update' ); }); });
</script>
<?php endif;
}
add_action( 'wp_footer', 'cart_update_script', 999 );
se io volessi aggiungere una commissione al pagamento con carta di credito (mod. xpay carta sì) come faccio a recuperare l’indirizzo o il nome del gateway?
Se stai usando questo plugin https://it.wordpress.org/plugins/woo-x-pay-payment-gateway/ mi sembra di vedere che il nome è “cartasi”.
Quello che sto utilizzando è questo https://www.mauromascia.com/shop/product/woocommerce-xpay-payment-gateway-cartasi/
vorrei capire come recuperarlo questo nome. (in ogni caso grazie per la risposta!)
Nella pagina http://www.xxxxxxx.xx/wp-admin/admin.php?page=wc-settings&tab=checkout, dove sono elencati i metodi di pagamento (i link in alto nella tab) il parametro “section” del link del metodo carta sì dovrebbe corrispondere al nome
Fatto! grazie
Salve, grazie del suggerimento, però, essendo io non esattamente esperto, chiedo, dove va inserito il codice?
E poi, è possibile inserire una percentuale anzichè una cifra fissa?
Grazie
Salve, il codice va inserito nel file functions.php del tema attivo. Se vogliamo aggiungere una percentuale, ad esempio del 5% per paypal, il codice potrebbe cambiare così:
$feepaypal = ( $woocommerce->cart->cart_contents_total + $woocommerce->cart->shipping_total ) * 0.05;
if ( $chosen_gateway == 'paypal' ) { $woocommerce->cart->add_fee( 'Commissione Paypal', $feepaypal, false, '' );}
Salve è possibile aggiungere una percentuale ma con un costo minimo? Mi spiego meglio il corriere mi da come supplendo per il contrassegno il 4% ma quest ultimo deve partire almeno da 3 euro? si puo’ fare?
Se ho capito bene farei così:
$feecod = ( $woocommerce->cart->cart_contents_total + $woocommerce->cart->shipping_total ) * 0.04;
if ($feecod < 3) { $feecod=3;} if ( $chosen_gateway == 'cod' ) { $woocommerce->cart->add_fee( 'Commissione Contrassegno', $feecod, false, '' );}