WooCommerce: Come aggiungere commissione al checkout per un metodo di pagamento

Indice

Hai un sito e-commerce con WooCommerce? Ottimo! Decidi di aggiungere il pagamento alla consegna perchè, diciamocelo, molti clienti lo preferiscono in Italia. Dopo qualche mese, però, ti rendi conto che funziona benissimo… tranne quando non funziona affatto!

Il problema? Un sacco di gente non ritira i pacchi. Tu paghi la spedizione, la giacenza, il reso, e alla fine perdi solo soldi e pazienza.

A questo punto ti viene un’idea: “Mettiamo una commissione per il pagamento alla consegna!” Così chi vuole questo servizio se lo paga, e almeno recuperi qualcosa.

Carico a mille, vai su WooCommerce e cerchi il pulsante magico per aggiungere una tariffa extra al metodo di pagamento. Spoiler: non esiste.

Ma niente panico! Oggi ti spiego come farlo con due righe di codice, senza bisogno di installare un altro plugin che appesantisca il sito.

Pronto? Andiamo! 🚀

Come aggiungere una commissione al checkout di WooCommerce

Se speravi in una soluzione in due click… mi dispiace deluderti. Dovrai mettere mano al codice. Niente di complicato, ma se non ti va di sporcarti le mani, l’alternativa è installare un plugin che faccia il lavoro per te.

Personalmente, credo che evitare plugin inutili sia sempre una buona idea: più ne aggiungi, più il sito si rallenta e più aumentano le possibili rogne.

Quindi prenditi due minuti e fai questa piccola modifca manualmente. Ecco come fare.

Modifica il file functions.php del tuo tema

Apri il file functions.php del tuo tema (lo trovi in Aspetto -> Editor del tema o via FTP in /wp-content/themes/nome-tuo-tema/functions.php )

Aggiungi al file il seguente codice:

/** Add additional fee for cash on delivery payment method */

function woocommerce_add_checkout_fee_for_cash_on_delivery() {
    $chosen_gateway = WC()->session->get('chosen_payment_method');

    if ($chosen_gateway == 'cod') {
        WC()->cart->add_fee(__('Cash on Delivery', 'sage'), 5);
    }
}
add_action('woocommerce_cart_calculate_fees', 'woocommerce_add_checkout_fee_for_cash_on_delivery');

Ecco cosa fa questo codice:

  • Controlla il metodo di pagamento selezionato dall’utente
  • Se il metodo è “cod” (contrassegno), aggiunge una commissione di 5€
  • Il valore della fee (5) può essere modificato a tuo piacimento

Usarlo per altri metodi di pagamento

Questo sistema non si applica solo al contrassegno. Puoi usarlo con qualsiasi metodo di pagmento, basta cambiare il codice identificativo.

Ecco alcuni esempi:

  • Bonifico Bancario -> bacs
  • Assegno -> cheque
  • PayPal -> paypal
  • Stripe (carte di credito) -> stripe
  • Klarna -> klarna
  • Scalapay -> scalapay

Come trovare i codici dei metodi di pagamento attivi

Non sei sicuro di quali metodi di pagamento siano attivi sul tuo WooCommerce? Nessun problema! Una questo snippet di codice per ottenere l’elenco direttamente nel footer della pagina checkout:

add_action('wp_footer', function() {
    if (is_checkout()) {
        $available_gateways = WC()->payment_gateways->get_available_payment_gateways();
        echo '<pre>';
        print_r(array_keys($available_gateways));
        echo '</pre>';
    }
});

Quandi visiti la pagina di checkout, vedrai un elenco come questo:

Array
(
    [0] => ppcp-gateway
    [1] => wc-scalapay-payin3
    [2] => woocommerce_payments
    [3] => cod
    [4] => woocommerce_payments_klarna
)

Ora hai la lista completa dei codici e puoi usarli per applicare commissioni personalizzate ai diversi metodi di pagamento. 🤑

Conclusione

Aggiungere una commissione ai metodi di pagamento in WooCommerce è più semplice di quanto sembri, basta un piccolo snippet di codice e il gioco è fatto.

💡 Consiglio finale: se gestisci un e-commerce con WooCommerce, evita di installare troppi plugin per ogni singola funzione. Spesso basta un po’ di codice per fare la stessa cosa in modo più leggero ed efficiente.

Hai bisogno di una consulenza per il tuo sito WooCommerce? Scrivimi! 🚀

Visita anche il sito della mia agenzia per vedere tutti i servizi che offriamo.


Se ti è piaciuto questo articolo o ti è stato utile in qualche modo, lascia un commento, condividilo con i tuoi amici e seguimi sui social.

2 risposte per “WooCommerce: Come aggiungere commissione al checkout per un metodo di pagamento

    1. Ciao Roberta,
      Grazie per il tuo commento di incoraggiamento!

      Se hai fatto la modifica su un tema acquistato molto probabilmente al prossimo aggiornamento perderai le modifiche.
      Per far si che questo non accada la soluzione migliore è avere un tema child del tema acqauistato e modificare il functions.php nel tema child.

      Se vuoi saperne di più sui temi child ti consiglio di leggere la documentazione ufficiale al seguente link https://developer.wordpress.org/themes/advanced-topics/child-themes/

      Fammi sapere come và
      Buon lavoro ;)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.