Last active
September 2, 2024 12:22
-
-
Save woogists/f24ba17b9fdc0023cd72c95520f80723 to your computer and use it in GitHub Desktop.
[Frontend Snippets][Add a surcharge to cart and checkout] Add a percentage based surcharge to all transactions
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Add a 1% surcharge to your cart / checkout | |
* change the $percentage to set the surcharge to a value to suit | |
*/ | |
add_action( 'woocommerce_cart_calculate_fees','woocommerce_custom_surcharge' ); | |
function woocommerce_custom_surcharge() { | |
global $woocommerce; | |
if ( is_admin() && ! defined( 'DOING_AJAX' ) ) | |
return; | |
$percentage = 0.01; | |
$surcharge = ( $woocommerce->cart->cart_contents_total + $woocommerce->cart->shipping_total ) * $percentage; | |
$woocommerce->cart->add_fee( 'Surcharge', $surcharge, true, '' ); | |
} |
/**
* Add a 1% surcharge to your cart / checkout
* change the $percentage to set the surcharge to a value to suit
*/
add_action( 'woocommerce_cart_calculate_fees','woocommerce_custom_surcharge' );
function woocommerce_custom_surcharge() {
if ( is_admin() && ! defined( 'DOING_AJAX' ) ){
return;
}
$percentage = 0.01;
$surcharge = ( WC()->cart->get_cart_contents_total() + WC()->cart->get_shipping_total()) * $percentage;
WC()->cart->add_fee( __( 'Surcharge', 'text-domain' ), $surcharge, true, '' );
}
@helgatheviking This code is causing a syntax error.
syntax error, unexpected 'get_cart_contents_total' (T_STRING)
@fdeross looks like a copy/paste fail on my part. check the update.
Hi @helgatheviking What if I want to add the Surcharge ONLY if the client pays via stripe (credit / debit card)?
@velinamar I assume it's possible with now conditional logic, but I don't know if the top of my head.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Can this be used, say to offer customers an option to purchase shipping insurance, where if they check to add insurance, the cart/checkout will add a 2.5% surcharge (for insurance) to the order.