• Resolved hanataloha

    (@hanataloha)


    Hello,

    We are having an issue with being able to proceed to PayPal without completing required checkout fields.

    It’s allowing me to proceed to the PayPal checkout pop-up even if I don’t have any WooCommerce checkout fields completed. It’s not flagging the missing required fields.

    This seems to be a somewhat new issue as it was working correctly when we initially set up WooCommerce PayPal Payments on 10/14.

    How can we resolve this?

    Thank you!

    The page I need help with: [log in to see the link]

Viewing 12 replies - 1 through 12 (of 12 total)
  • Plugin Support Syde Joost

    (@joostvandevijver)

    Hello @hanataloha

    thank you for reaching out to us and opening this thread. We are here to help.
    I understand that this must look like an issue, because in the past this billing details check was done at the moment that the PayPal button was pressed. However, to resolve some other checkout issues, we have changed this check to the end of the payment process. This same check will be performed now when the final “Pay Now” button is pressed in the PayPal pop-up, so the end result is the same.

    However, we do agree that it might be better to have this also done before the popup is shown and expect this check will possibly be done earlier again in future releases.

    For now, there is a good reason behind it and it should still function correctly. I hope this does not cause you any problems. Let us know if we can help you in any other way.

    Kind regards,
    Joost

    Thread Starter hanataloha

    (@hanataloha)

    Hi Joost,

    Thank you for your reply and explanation that this is the intended checkout flow!

    I don’t normally test all the way through to payment which is why this appeared to be an error.

    As long as all the important customer info is still captured on the website order that should be fine.

    Thanks for your help!

    @joostvandevijver sorry to jut into this thread but I have the same issue but I understand your explanation. It isn’t the best solution to be honest. It ends up ignoring any custom validation that I have written e.g. Asking user to type email address twice as they often make typos.

    An issue I have is that we ask the users to agree to the terms and conditions and it seems to skip it. You can test yourself here: https://cocochoco.ie/checkout/

    I don’t understand why the old PayPal plugin was able to work just fine and yet this one, we have new bugs every release.

    Plugin Support Syde Joost

    (@joostvandevijver)

    Hello @vertadigital

    I am not able to test that on your website, because the error only shows up when you confirm the payment. I tested it on my own testing environment and it is working as I explained: the error shows up when you press “Pay Now” in the PayPal pop-up.

    We are definitely not saying this is the correct way or the way we want it to be, but this is an intended choice to avoid payments failing for other reasons. At least these reasons are clear and can be corrected by the customers. What we attempt to avoid with this temporary change of the data validation process is a more harmful issue that would end up in loss of sales. We are working hard in getting this corrected back to the preferred flow of events and moving the data validation back to the moment when the PayPal button is pressed before the PayPal popup comes up.

    If you do not have the validation of the terms and conditions at all, please open a new thread, since that is a different situation that we should investigate separately.

    Kind regards,
    Joost

    Ok thanks I understand. I assumed the terms and conditions validation would have happened regardless, if you say it is meant to happen after pressing Pay Now then that is ok. Thanks

    Hi @joostvandevijver ,
    this behaviour, not validating fields before placing Paypal order, is a very serious problem!

    The resolution of this, should have a very high priority, because it leads in lost sales!

    There are a lot of distracted customers that don’t compile all the required fields at the first submission.

    Thank you.

    Plugin Support Syde Joost

    (@joostvandevijver)

    Hello @annonnimmo

    you are completely correct and we want to revert this back to the preferred way of working. Please believe me that we are doing our best to get this corrected in the way that you (and many others) would prefer.

    Our apologies for the inconvenience.

    Kind regards,
    Joost

    I have the same issue,

    Had to refund $6000 just today because paypal takes the money anyway and the client ends up paying twice!

    Also spent several days just trying to figure out what the problem was and why clients were ending up paying twice.

    Well done for breaking something that didn’t need to be fixed.

    Same here. Have we to choose a different plugin or there is an ETA to overcome the issue? Best

    • This reply was modified 2 years, 7 months ago by ant0nell0.

    You can not say it is the way it is supposed to work. That is how you are just covering a bug.
    A client cant pay the money (because the money ARE BEING PROCESSED) and then accepts “Terms and conditions”, legally IT’S WRONG.

    Also getting the money once and then having to fill let’s say their billing info,the order DOES NOT come to the back end, and to process they have to pay again. So twice money paid.

    Please fix it.

    For those still looking for a support (no thanks to the support team and devs) here is a JS script to be embedded within the checkout page. Hope this can help to hide/show the button only if terms checkbox is flagged. See ya.

    <script>
    //Hide PayPal button on page load
    jQuery(document).ready(function($){
       var cart =document.getElementsByClassName('ppc-button-wrapper')[0];
       cart.classList.add('hide');
    });
    
    //Hide or show PayPal button only if terms are flagged
    jQuery(document).on( 'click', '.validate-required', function () { 
       var flagged_btn = document.getElementById('terms');
       //alert(flagged_btn.checked);
       var trm=document.getElementsByClassName('ppc-button-wrapper')[0];
    
       if (flagged_btn.checked == true){
          trm.classList.remove('hide');
       }else{
          trm.classList.add('hide');
       }
    });
    </script>
    
    <style>
    .hide{
    display: none;
    }
    </style>

    We’ve had several reports of double payments being taken because of this. It’s a problem that seems to have been known about for months but nothing has been done about it.

    ant0nell0’s solution works great by the way. For anyone not sure how to add this, you can put the following in your themes functions.php file exactly as is and it should work:

    add_action( 'wp_footer', 'ds_add_jscript_checkout', 9999 );
     
    function ds_add_jscript_checkout() {
       global $wp;
       if ( is_checkout() && empty( $wp->query_vars['order-pay'] ) && ! isset( $wp->query_vars['order-received'] ) ) {
          echo "<script>jQuery(document).ready(function($){
       var cart =document.getElementsByClassName('ppc-button-wrapper')[0];
       cart.classList.add('hide');
    });
    
    //Hide or show PayPal button only if terms are flagged
    jQuery(document).on( 'click', '.validate-required', function () { 
       var flagged_btn = document.getElementById('terms');
       //alert(flagged_btn.checked);
       var trm=document.getElementsByClassName('ppc-button-wrapper')[0];
    
       if (flagged_btn.checked == true){
          trm.classList.remove('hide');
       }else{
          trm.classList.add('hide');
       }
    });</script>
    <style>
    .hide{
    display: none;
    }
    </style>";
       }
    }
    • This reply was modified 2 years, 5 months ago by dscreative.
Viewing 12 replies - 1 through 12 (of 12 total)
  • The topic ‘Able to proceed to PayPal without completing required checkout fields’ is closed to new replies.