• Resolved conradude

    (@hellodracon)


    Hello, we’re using your plugin but it seems faulty. Every time someone tries to order a product, the turnstile appears correctly and is marked as “ok”, but when they submit, the page reloads and says that their token has expired. I tried myself, I did it pretty quickly and still, it said the tocken was expired. The only ay to make it work is by enabling the “warn only” option. And even with this option, I don’t see the info on the admin’s order page.
    Any idea what’s wrong so I can fix it ?
    Thanks a lot !

    • This topic was modified 1 week, 4 days ago by conradude.
Viewing 13 replies - 1 through 13 (of 13 total)
  • Plugin Support Carl C

    (@carlfromkitgenix)

    Good morning @hellodracon,

    I hope you are well.

    I have had a look at the website link you provided, and I can only see an “Inquire” button which opens a price request form. From what I can see, that form appears to be managed by Contact Form 7.

    Could you please confirm whether the issue is related to the WooCommerce integration or the Contact Form 7 integration?

    If the issue is with WooCommerce, could you also confirm whether you are using the classic checkout or the block checkout?

    Could you also let me know whether you are using the Auto-Inject option or adding it manually via shortcode?

    Once I have those details, I will look into this further and provide a fix as soon as possible.

    Best regards, Carl @kitgenix

    Thread Starter conradude

    (@hellodracon)

    Hello, I’m well thanks, hope you too.
    So, the issue is with Woocommerce. When on the site, you can go to “Publications” and then add a book to you cart and order it. Use bank transfer as payment so you won’t have to pay anything and we can easily cancel it.

    To anser your questions :

    If the issue is with WooCommerce, could you also confirm whether you are using the classic checkout or the block checkout?
    -> Classic (woocommerce shortcode)

    Could you also let me know whether you are using the Auto-Inject option or adding it manually via shortcode?
    -> auto-inject


    Thanks a lot

    Plugin Support Carl C

    (@carlfromkitgenix)

    Good morning @hellodracon,

    Thank you for confirming those details.

    I have placed a test order under the name “Kitgenix Test” using the bank transfer payment method, and the order appears to have gone through successfully from my side.

    Could you please confirm whether you currently have Warn Only enabled in the plugin settings?

    Cloudflare Turnstile tokens are valid for 300 seconds / 5 minutes and are also single-use. Our plugin includes token refresh handling to help prevent expired-token issues, but I would like to rule out whether this is related to the checkout page sitting open for a period of time before the order is submitted.

    Could you also let me know the exact behaviour you are seeing? For example:

    • Is the order being blocked incorrectly?
    • Is the order going through when you expected it to be blocked?
    • Are you seeing a specific error message at checkout?

    Please avoid posting any secret keys or sensitive customer/order details here. A screenshot of the checkout error, if there is one, would be helpful.

    I will review this integration path in the meantime and provide a fix as soon as I can if there is an issue there.

    Best regards, Carl @kitgenix

    • This reply was modified 1 week, 4 days ago by Carl C.
    Thread Starter conradude

    (@hellodracon)

    Hey Carl, thank you.

    So :

    Could you please confirm whether you currently have Warn Only enabled in the plugin settings?
    -> Currently enabled. But I would like to make it work when disabled. Do you want me to enabled it so you can try again ?

    Cloudflare Turnstile tokens are valid for 300 seconds / 5 minutes and are also single-use. Our plugin includes token refresh handling to help prevent expired-token issues, but I would like to rule out whether this is related to the checkout page sitting open for a period of time before the order is submitted.
    -> When I tried myself, it took less than 2 minutes for sure to try and order. Still didn’t work.

    Could you also let me know the exact behaviour you are seeing? For example:

    Is the order being blocked incorrectly? -> Order is not processed.
    Is the order going through when you expected it to be blocked? -> It is blocked.
    Are you seeing a specific error message at checkout? -> There is a “form error message” that appears saying that the “token has expired”, user can submit but the order isn’t processed and this message appears.

    Plugin Support Carl C

    (@carlfromkitgenix)

    Good afternoon @hellodracon,

    Thank you for confirming.

    Yes, please disable Warn Only and I will place another test order from my side using the bank transfer payment method.

    Based on the error message you are seeing, this does sound like the Turnstile token is expiring before WooCommerce completes the checkout request. Although Cloudflare Turnstile tokens are valid for up to 300 seconds, I am going to adjust the plugin’s token refresh timing so it refreshes slightly before the 300-second expiry window.

    This should help ensure the token does not reach the full expiry point before the order is submitted, especially on WooCommerce checkout pages where there can be additional processing or validation steps.

    Once you have disabled Warn Only, please let me know and I will test again from my end. I will also release an update within 24 hours once I have placed a test order to get the full picture.

    Best regards, Carl @kitgenix

    Thread Starter conradude

    (@hellodracon)

    Thank you Carl,

    I’ve juste deactivated the warn only mode. You can try and see what happens.
    Thanks a lot

    Plugin Support Carl C

    (@carlfromkitgenix)

    Good afternoon @hellodracon,

    Thank you for disabling Warn Only.

    I have now tested the checkout again and can see the issue. The checkout is being blocked with the following message:

    “Your verification expired. Please complete the Turnstile challenge.”

    I also noticed a Turnstile console warning relating to the widget size value. The plugin appears to be outputting small, but Cloudflare Turnstile expects supported size values such as normalcompact, or flexible. I will correct this as part of the fix.

    The main issue appears to be related to the Turnstile token expiring, or being treated as expired, during the WooCommerce checkout process. I am going to adjust the plugin so the token is refreshed earlier, just before the 300-second expiry window, to help prevent the token from timing out before WooCommerce completes the order submission.

    I will also review the WooCommerce classic checkout Auto-Inject integration to make sure the token is refreshed/reset properly during checkout and is not being reused incorrectly.

    Do you happen to have a local, staging, or development version of the site where this can be tested safely? If that is allowed within the WordPress.org forum guidelines, it may help confirm the fix without needing to repeatedly test against the live checkout.

    Thank you for your help testing this. I will work on a fix and update you here as soon as possible.

    Best regards, Carl @kitgenix

    Thread Starter conradude

    (@hellodracon)

    Thanks a lot !
    I can send you something for the staging site. Is there a way to make it private or something ?

    Plugin Support Carl C

    (@carlfromkitgenix)

    Good afternoon @hellodracon,

    To keep within WordPress.org forum guidelines, please do not share any login details, passwords, FTP details, or private information in this thread.

    Temporary access to a staging/development copy of the site is required, please send the details through our official support email at support@kitgenix.com.

    We will only use email to confirm access and review the issue privately. Any findings, updates, and the final resolution will be posted back here in this forum thread so the support record remains public and useful for others.

    I believe I have fixed the error already, before I push the release I just need to confirm on a site where I can reproduce the issue.

    Best regards, Carl @kitgenix

    Moderator Steven Stern (sterndata)

    (@sterndata)

    Volunteer Forum Moderator

    “Temporary access to a staging/development copy of the site is required, please send the details through our official support email at…”

    @carlfromkitgenix

    I’m am 100% sure you mean well but please never ask for credentials on these forums.

    https://wordpress.org/support/guidelines/#we-reserve-the-right-to-manage-the-forums-to-the-best-of-our-ability

    Now for the why: The internet is a wonderful place full of very nice people and a few very bad ones. I’m sure everyone here is very nice however, by giving some ones keys to your house you are trusting they wont steal anything. Likewise the person who takes the keys is now responsible for the house FOREVER.

    If something was to go wrong, then you the author may well legally become liable for damages, which they would not normally have been as their software is provided without warranty.

    Please be aware that repeatedly asking for credentials will result in us escalating this to the plugins team.

    It’s never necessary to do that. Here’s why.

    There are many ways to get information you need and accessing the user’s site is not one of them. That’s going too far.

    *Ask for a link to the https://pastebin.com/ or https://gist.github.com log of the user’s web server error log.

    *Ask the user to create and post a link to their phpinfo(); output.

    *Ask the user to install the Health Check plugin and get the data that way.

    *Walk the user through enabling WP_DEBUG and how to log that output to a file and how to share that file.

    *Walk the user through basic troubleshooting steps such and disabling all other plugins, clear their cache and cookies and try again.

    *Ask the user for the step-by-step on how they can reproduce the problem.

    You get the idea.

    Volunteer support is not easy. But these forums need to a safe place for all users, experienced or new. Accessing their system that way is a short cut that will get you into real trouble in these forums.`

    Plugin Support Carl C

    (@carlfromkitgenix)

    Good afternoon @sterndata,

    Thank you for clarifying this, and I apologise for the wording in my previous reply.

    You are absolutely right. I should not have asked the user to send access details.

    I had thought that if access was absolutely needed, it could be handled privately outside the forum, but I now understand that this is not appropriate under the WordPress.org forum guidelines and creates unnecessary risk for both the user and the plugin author.

    Going forward, I will not request credentials, admin access, FTP access, or private site access through these forums or by directing users to send them elsewhere.

    Thanks again for the guidance. I’ll make sure future support replies follow this approach.

    Best regards, Carl @kitgenix

    Plugin Support Carl C

    (@carlfromkitgenix)

    Hi @hellodracon,

    I have now released an updated version of the plugin (1.1.0).

    We believe this has fixed the error and if you have any problems please do get in touch.

    Best regards, Carl @kitgenix

    Thread Starter conradude

    (@hellodracon)

    Hello Carl, thank you so much for the quick fix, eveything looks great

Viewing 13 replies - 1 through 13 (of 13 total)

You must be logged in to reply to this topic.