I’m new here.
One of my client’s payment providers wants a change.” *On your website, the customer has the option of entering their credit card details when completing the purchase before the Click-To-Accept box for the GTCs is confirmed. This should not be the case. First the customer has to confirm the terms and conditions, then he should be able to enter the credit card details*”
I found the following code on the site but it doesn’t work for me.
I don’t know how to do this in Woocommerce. Can you help me with this?
I wish you a beautiful day and thank you in advance
add_action( ‘woocommerce_proceed_to_checkout’, ‘cart_privacy_policy_checkbox’, 5 );
function cart_privacy_policy_checkbox() {
woocommerce_form_field( 'privacy_policy', array(
'type' => 'checkbox',
'class' => array('form-row privacy'),
'label_class' => array('woocommerce-form__label woocommerce-form__label-for-checkbox checkbox'),
'input_class' => array('woocommerce-form__input woocommerce-form__input-checkbox input-checkbox'),
'required' => true,
'label' => sprintf( __( "I've read and accept the %s", "woocommerce" ),
'<a href="privacy-policy">'.__( "Privacy Policy", "woocommerce" ).'</a>' ),
));
// jQuery code start below
?>
<script src="https://unpkg.com/[email protected]/dist/sweetalert2.all.min.js"></script>
<script src="https://unpkg.com/[email protected]/dist/polyfill.min.js"></script>
<script type="text/javascript">
jQuery( function($){
var a = '.checkout-button', b = '#privacy_policy',
c = '<?php echo wc_get_checkout_url(); ?>', d = 'disabled';
// Set disable button state
$(a).addClass(d).prop('href', '#');
// Woocommerce Ajax cart events
$('body').on('updated_cart_totals removed_from_cart', function(){
if( ! ( $(a).hasClass(d) && $(b).prop('checked') ) ){
$(a).addClass(d).prop('href', '#');
}
})
// On button click event
$('body').on('click', a, function(e){
if( ! $(b).prop('checked') ) {
// Disable "Proceed to checkout" button
e.preventDefault();
// disabling button state
if( ! $(a).hasClass(d) ){
$(a).addClass(d).prop('href', '#');
}
// Sweet alert 2
swal({
title: '<?php _e("Pricacy Policy", "woocommerce"); ?>',
text: '<?php _e("Please acknowledge the privacy policy Terms and Conditions", "woocommerce"); ?>',
type: 'error',
timer: 3500,
showConfirmButton: false
});
}
});
// On checkbox change event
$(b).change(function(){
if($(this).prop('checked')){
if( $(a).hasClass(d) ){
$(a).removeClass(d).prop('href', c);
}
} else {
if( ! $(a).hasClass(d) ){
$(a).addClass(d).prop('href', '#');
}
}
});
});
</script>
<?php
}
Duka Duka is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.