• Resolved rocky26

    (@rocky26)


    For the past week and a half, we’ve been getting duplicate orders, orders that get stuck in “pending payment”, zero dollar orders, and also a very long delay before the checkout page goes to the order confirmation page after payment. Nothing particular changed around that time that I can think of, unless WordPress had some mandatory auto update or something.

    The technician that runs the server has spent days trying to fix these problems, using debug mode as well as two plugins to assist in tracking down issues: Code Profiler and WP Crontrol.

    He tracked down a problem with WordPress’s “Cron” function, and so he replaced it with an earlier version of Cron (from WordPress two versions ago, for reasons he would understand but I do not). This partially solved the slowness issue of the checkout page: instead of a minute and a half, it’s now only about a minute to get to the confirmation page. But still, it’s an entire minute when it should be several seconds.

    The server tech also disabled the JetPack plugin because it was causing some problems, according to him. I haven’t noticed anything difference since JetPack has been gone, but I wasn’t using pretty much anything in JetPack anyway (the only reason we had JetPack installed because we were under the impression that it was required for WooCommerce to run, but apparently that is not true). I disabled all non-essential plugins myself, but didn’t notice any improvement afterwards.

    The duplicate, zero dollar, and “pending payment” orders stopped for a couple days, so I thought the server tech may have been partially successful (the very long checkout delay never went away). But now, all the problems with orders have returned. I am aware of no changes in the website whatsoever over the weekend, so I have no idea why those problems are back. Today and over the last couple days, when I’ve tested our checkout process with a real credit card, the payment always goes through just fine. The checkout screen does take a full minute to get to order confirmation, but the payment comes through almost immediately; no duplicates, no zero dollar orders, no orders stuck in “pending payment” forever. The tests look fine when the server webmaster does it as well.

    I have no idea why it goes so horribly when customers do the exact same thing that we are doing. Our sales have gone way down since these problems started. Even though we can take payments again (though we have to cancel duplicate orders) we’re getting 50% of the total orders we normally do. We’ve had trouble before with updates breaking things temporarily, but nothing like this.

    Version of WordPress we’re using: 6.2

    The plugins we’re using are as follows:

    • Code Profiler
    • Code Snippets
    • Elementor
    • Flexible Shipping
    • Starter Templates
    • UpdraftPlus
    • WooCommerce
    • WooCommerce Authorize.Net Gateway
    • WP Crontrol
    • WP Mail SMTP
    • WP Super Cache

    Every plugin is up to date except Elementor who’s most recent version is still labeled “untested with your version of WordPress” (so it hasn’t been tested with the current version of WP? Interesting).

    So, I don’t know what to do, and apparently our server tech doesn’t either. Have other websites been experiencing similar problems recently?

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

Viewing 10 replies - 1 through 10 (of 10 total)
  • Hi @rocky26

    Thanks for reaching out!

    I’m sorry to hear about the issues you’ve been experiencing with your website.

    First, I’d like to assure you that JetPack is not a requirement for WooCommerce to function correctly, so disabling it should not have any negative impact on your store.

    Based on the information you’ve provided, it seems that there might be a combination of factors causing the issues you’re experiencing.

    As a first step, can you please check if there are any patterns or similarities that triggers the issue? Like, same products, same categories, same product type, same payment gateway, same customer, same location, etc?

    For us to investigate this further, please try to switch to the default Storefront theme and only WooCommerce plugin is enabled, create a test order using Cash on Delivery and see if the very long checkout process is resolved?

    If so, then this kind of problem is usually caused by your theme or a third-party plugin present on your site. We can run a conflict test to verify this. I’d recommend cloning your site to a staging environment and performing the tests described on this guide without modifying your live site or impacting customers. Many hosts provide staging facilities, so it’s worth checking in with them. It’s also possible to do it using the free WP Staging plugin.

    If this was caused by a third-party plugin present on your site, it would be best to reach out to the developers for further assistance here.

    If this did not resolve the issue, please share your System Status Report, that will help us further troubleshoot.

    You can find it via WooCommerce > Status. Select Get system report and then Copy for support. Once you’ve done that, you can paste it into your reply here.

    If you could also provide the fatal error logs (if any) under WooCommerce > Status > Logs.

    You could copy and paste your reply here or paste it via https://gist.github.com/ and send the link here.

    Let us know how it goes!

    Hi @rocky26

    We haven’t heard back from you in a while, so I’m going to go ahead and mark this thread as resolved. If you have any other questions please start a new topic.

    Thanks!

    Thread Starter rocky26

    (@rocky26)

    The issue is NOT resolved yet. I hadn’t written anything because we’ve been busy trying many different things including moving the entire website from the old Microsoft IIS server to a brand new Nginx server (which we were planning on doing eventually, but pushed it forward in hopes it would solve these problems.)

    With our website now on Nginx, the entire site does run considerably faster, BUT the long delay between checkout and order confirmation is still present. The main consolation is that there is a loading circle that now appears after pressing the “place order” button, so customers can see that something is actually happening during the 45-60+ seconds the payment process is taking its time. Perhaps the delay is slightly shorter than it used to be, but customers are still submitting duplicate payments because they receive an error message saying “please try again” whenever the payment delay takes longer than a minute. It seems completely random whether it takes 45 seconds or longer than a minute.

    We did the “deactivate everything” routine and it seems that if there is a problem with any of the plugins, it might be the WooCommerce Authorize.Net Gateway, or something WooCommerce is doing when interacting with it. Though for all I know there could be a third entity causing interference. So I really don’t know. Authorize.Net says everything looks fine on their end.

    As for patterns or similarities that triggers the issue… it’s happening with every single transaction as far as we can tell, including with our own test orders.

    There don’t seem to be any fatal error logs from the past several days. However, I can paste the system report here if it might be useful:

    `
    ### WordPress Environment ###
    
    WordPress address (URL): https://ultimak.com
    Site address (URL): https://ultimak.com
    WC Version: 7.7.0
    REST API Version: ? 7.7.0
    WC Blocks Version: ? 10.0.4
    Action Scheduler Version: ? 3.5.4
    Log Directory Writable: ?
    WP Version: 6.2.1
    WP Multisite: –
    WP Memory Limit: 512 MB
    WP Debug Mode: –
    WP Cron: ?
    Language: en_US
    External object cache: –
    
    ### Server Environment ###
    
    Server Info: nginx/1.18.0
    PHP Version: 8.1.18
    PHP Post Max Size: 128 MB
    PHP Time Limit: 300
    PHP Max Input Vars: 1000
    cURL Version: 7.81.0
    OpenSSL/3.0.2
    
    SUHOSIN Installed: –
    MySQL Version: 8.0.33-0ubuntu0.22.04.2
    Max Upload Size: 128 MB
    Default Timezone is UTC: ?
    fsockopen/cURL: ?
    SoapClient: ?
    DOMDocument: ?
    GZip: ?
    Multibyte String: ?
    Remote Post: ?
    Remote Get: ?
    
    ### Database ###
    
    WC Database Version: 7.7.0
    WC Database Prefix: wp_
    Total Database Size: 34.70MB
    Database Data Size: 24.37MB
    Database Index Size: 10.33MB
    wp_woocommerce_sessions: Data: 0.23MB + Index: 0.02MB + Engine InnoDB
    wp_woocommerce_api_keys: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_woocommerce_attribute_taxonomies: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_woocommerce_downloadable_product_permissions: Data: 0.02MB + Index: 0.06MB + Engine InnoDB
    wp_woocommerce_order_items: Data: 0.13MB + Index: 0.06MB + Engine InnoDB
    wp_woocommerce_order_itemmeta: Data: 1.52MB + Index: 0.92MB + Engine InnoDB
    wp_woocommerce_tax_rates: Data: 0.02MB + Index: 0.06MB + Engine InnoDB
    wp_woocommerce_tax_rate_locations: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_woocommerce_shipping_zones: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
    wp_woocommerce_shipping_zone_locations: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_woocommerce_shipping_zone_methods: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
    wp_woocommerce_payment_tokens: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_woocommerce_payment_tokenmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_woocommerce_log: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_actionscheduler_actions: Data: 0.16MB + Index: 0.17MB + Engine InnoDB
    wp_actionscheduler_claims: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_actionscheduler_groups: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_actionscheduler_logs: Data: 0.13MB + Index: 0.13MB + Engine InnoDB
    wp_cartflows_ca_cart_abandonment: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_cartflows_ca_email_history: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_cartflows_ca_email_templates: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
    wp_cartflows_ca_email_templates_meta: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_commentmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_comments: Data: 1.52MB + Index: 0.61MB + Engine InnoDB
    wp_e_events: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_is_inverted_index: Data: 0.02MB + Index: 0.08MB + Engine InnoDB
    wp_links: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_options: Data: 10.45MB + Index: 0.14MB + Engine InnoDB
    wp_postmeta: Data: 5.52MB + Index: 6.03MB + Engine InnoDB
    wp_posts: Data: 2.50MB + Index: 0.30MB + Engine InnoDB
    wp_rank_math_analytics_gsc: Data: 0.02MB + Index: 0.06MB + Engine InnoDB
    wp_rank_math_analytics_objects: Data: 0.05MB + Index: 0.02MB + Engine InnoDB
    wp_rank_math_internal_links: Data: 0.06MB + Index: 0.02MB + Engine InnoDB
    wp_rank_math_internal_meta: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
    wp_redirection_404: Data: 0.02MB + Index: 0.05MB + Engine InnoDB
    wp_redirection_groups: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_redirection_items: Data: 0.02MB + Index: 0.09MB + Engine InnoDB
    wp_redirection_logs: Data: 0.02MB + Index: 0.05MB + Engine InnoDB
    wp_snippets: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_stock_log: Data: 0.06MB + Index: 0.00MB + Engine InnoDB
    wp_term_relationships: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_term_taxonomy: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_termmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_terms: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_tm_taskmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_tm_tasks: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_usermeta: Data: 0.41MB + Index: 0.36MB + Engine InnoDB
    wp_users: Data: 0.05MB + Index: 0.05MB + Engine InnoDB
    wp_wc_admin_note_actions: Data: 0.06MB + Index: 0.02MB + Engine InnoDB
    wp_wc_admin_notes: Data: 0.08MB + Index: 0.00MB + Engine InnoDB
    wp_wc_category_lookup: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
    wp_wc_customer_lookup: Data: 0.08MB + Index: 0.06MB + Engine InnoDB
    wp_wc_download_log: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_wc_order_coupon_lookup: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_wc_order_product_lookup: Data: 0.11MB + Index: 0.06MB + Engine InnoDB
    wp_wc_order_stats: Data: 0.09MB + Index: 0.05MB + Engine InnoDB
    wp_wc_order_tax_lookup: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
    wp_wc_product_attributes_lookup: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_wc_product_download_directories: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_wc_product_meta_lookup: Data: 0.02MB + Index: 0.09MB + Engine InnoDB
    wp_wc_rate_limits: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_wc_reserved_stock: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
    wp_wc_tax_rate_classes: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_wc_webhooks: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
    wp_wpforms_tasks_meta: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
    wp_wpmailsmtp_debug_events: Data: 0.22MB + Index: 0.00MB + Engine InnoDB
    wp_wpmailsmtp_tasks_meta: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
    
    ### Post Type Counts ###
    
    attachment: 315
    customize_changeset: 43
    custom_css: 1
    elementor_library: 2
    is_search_form: 4
    nav_menu_item: 30
    oembed_cache: 6
    page: 71
    post: 2
    product: 57
    product_variation: 30
    revision: 180
    shop_order: 617
    shop_order_refund: 3
    wp_global_styles: 2
    
    ### Security ###
    
    Secure connection (HTTPS): ?
    Hide errors from visitors: ?
    
    ### Active Plugins (14) ###
    
    WooCommerce Authorize.Net Gateway: by Pledged Plugins – 6.0.3
    Smart Custom 404 error page [404page]: by Peter Raschendorfer – 11.4.3
    Starter Templates: by Brainstorm Force – 3.2.1
    Code Snippets: by Code Snippets Pro – 3.3.0
    Elementor: by Elementor.com – 3.12.1
    Flexible Shipping: by Octolize – 4.21.2
    Redirection: by John Godley – 5.3.10
    Rank Math SEO: by Rank Math – 1.0.114
    UpdraftPlus - Backup/Restore: by UpdraftPlus.Com
    DavidAnderson – 1.23.4
    
    Variation Swatches for WooCommerce: by CartFlows – 1.0.7
    Stock Manager for WooCommerce: by StoreApps – 2.10.0
    WooCommerce: by Automattic – 7.7.0
    WP Mail SMTP: by WP Mail SMTP – 3.8.0
    WP Super Cache: by Automattic – 1.9.4
    
    ### Inactive Plugins (8) ###
    
    Backup Duplicator & Migration - WP STAGING: by WP-STAGING
    WPStagingBackup – 2.14.1
    
    Code Profiler: by Jerome Bruandet ~ NinTechNet Ltd. – 1.6.1
    Enweby Variation Swatches for Woocommerce: by Enweby – 1.0.2
    Ivory Search: by Ivory Search – 5.5.1
    Jetpack: by Automattic – 12.1
    WooCommerce Payments: by Automattic – 5.8.1
    WP-Optimize - Clean, Compress, Cache: by David Anderson
    Ruhani Rabin
    Team Updraft – 3.2.15
    
    WPForms Lite: by WPForms – 1.8.1.2
    
    ### Dropin Plugins (1) ###
    
    advanced-cache.php: advanced-cache.php
    
    ### Must Use Plugins (3) ###
    
    Code Profiler (mu-plugin): by Jerome Bruandet – 1.0
    Elementor Safe Mode: by Elementor.com – 1.0.0
    WP STAGING Optimizer: by René Hermenau – 1.5.1
    
    ### Settings ###
    
    API Enabled: –
    Force SSL: –
    Currency: USD ($)
    Currency Position: left
    Thousand Separator: ,
    Decimal Separator: .
    Number of Decimals: 2
    Taxonomies: Product Types: external (external)
    grouped (grouped)
    simple (simple)
    subscription (subscription)
    variable (variable)
    variable subscription (variable-subscription)
    
    Taxonomies: Product Visibility: exclude-from-catalog (exclude-from-catalog)
    exclude-from-search (exclude-from-search)
    featured (featured)
    outofstock (outofstock)
    rated-1 (rated-1)
    rated-2 (rated-2)
    rated-3 (rated-3)
    rated-4 (rated-4)
    rated-5 (rated-5)
    
    Connected to WooCommerce.com: –
    Enforce Approved Product Download Directories: ?
    HPOS feature screen enabled: –
    HPOS feature enabled: –
    Order datastore: WC_Order_Data_Store_CPT
    HPOS data sync enabled: –
    
    ### WC Pages ###
    
    Shop base: #1613 - /shop/
    Cart: #1079 - /cart-2/
    Checkout: #1080 - /checkout-2/
    My account: #12 - /my-account/
    Terms and conditions: #2254 - /terms/
    
    ### Theme ###
    
    Name: Astra
    Version: 4.1.4
    Author URL: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
    Child Theme: ? – If you are modifying WooCommerce on a parent theme that you did not build personally we recommend using a child theme. See: How to create a child theme
    WooCommerce Support: ?
    
    ### Templates ###
    
    Overrides: –
    
    ### Admin ###
    
    Enabled Features: activity-panels
    analytics
    coupons
    customer-effort-score-tracks
    import-products-task
    experimental-fashion-sample-products
    shipping-smart-defaults
    shipping-setting-tour
    homescreen
    marketing
    mobile-app-banner
    navigation
    onboarding
    onboarding-tasks
    remote-inbox-notifications
    remote-free-extensions
    payment-gateway-suggestions
    shipping-label-banner
    subscriptions
    store-alerts
    transient-notices
    woo-mobile-welcome
    wc-pay-promotion
    wc-pay-welcome-page
    
    Disabled Features: product-block-editor
    minified-js
    new-product-management-experience
    product-variation-management
    settings
    
    Daily Cron: ? Next scheduled: 2023-05-18 08:58:07 -07:00
    Options: ?
    Notes: 107
    Onboarding: completed
    
    ### Action Scheduler ###
    
    Canceled: 1
    Oldest: 2023-05-14 20:41:15 +0000
    Newest: 2023-05-14 20:41:15 +0000
    
    Complete: 445
    Oldest: 2023-04-16 19:39:06 +0000
    Newest: 2023-05-17 16:22:06 +0000
    
    Failed: 18
    Oldest: 2023-03-02 01:38:29 +0000
    Newest: 2023-05-13 23:27:44 +0000
    
    Pending: 2
    Oldest: 2023-05-17 23:25:26 +0000
    Newest: 2023-05-18 00:03:04 +0000
    
    
    ### Status report information ###
    
    Generated at: 2023-05-17 12:33:21 -07:00
    `

    Hi @rocky26

    Thank you for providing further information about your issue here.

    I’m sorry to hear that you’re still experiencing issues with the long delay between checkout and order confirmation, even after moving your website to a new Nginx server. I understand how frustrating this can be, especially when it’s affecting your customers’ experience on your website.

    Based on the information you’ve provided, it’s possible that the issue could be related to the WooCommerce Authorize.Net Gateway plugin or the way WooCommerce is interacting with it.

    As mentioned above and for us to investigate this further, please try to switch to the default Storefront theme and only WooCommerce plugin is enabled, create a test order using Cash on Delivery and see if the very long checkout process and the duplicate payments is resolved?

    Thread Starter rocky26

    (@rocky26)

    We did that about a week ago, when we took the whole site down because it was basically unusable for customers. I instructed the server tech to deactivate all plugins and switch to the Storefront theme for his initial testing. He says everything worked fine until the Authorize.Net plugin (made by Pledged Plugins) was activated and being used in the checkout process.

    Saif

    (@babylon1999)

    Hello @rocky26,

    I’m glad to hear you’re making progress with your new host! ??

    A few reasons could be causing the endless loading/spinner in the checkout. We have a detailed guide here that provides some suggestions, and I recommend giving it a try.

    An easy option to start with is delaying the order processing email using the following hook:

    add_filter( 'woocommerce_defer_transactional_emails', '__return_true' );

    You can add it to your site’s functions.php file or use a plugin like Code snippet.

    Let us know how it goes!

    Thread Starter rocky26

    (@rocky26)

    @babylon1999, thanks for the suggestion, but I have tried the email deferment code snippet a number of times during the many tests I’ve done lately. There was no difference in transaction time whenever the code was active. Also I believe we did everything in the document you linked (for example, we increased the WP memory to 512 MB).

    @xue28, although my server tech had tried the deactivation routine himself earlier this month, I decided to give it a go myself. The notable thing is that when I did it, with credit card payments disabled and “cash on delivery” as the only method, there is still the long delay.

    Then we created a staging site with the WP Staging plugin. I spent a day testing various combinations of plugins switching between the Astra, Storefront, and 2022 themes. I cleared out every cache I could find, cleared transients, and so on. Eventually I not only deactivated, but deleted entirely every plugin except the required staging plugin, and set the theme to Storefront. I reinstalled WordPress, reinstalled WooCommerce plugin, and tried some transactions with only cash on delivery and local pickup (because no shipping plugin was available). Even now, I’m getting very long transaction processing delays and even time outs because it’s taking longer than a minute. Credit card payment chains are completely removed from the equation and still there are long waits and time outs.

    I am simply baffled, and so is my server tech.

    Hi,

    Sorry to hear that this issue persists. I’d suggest doing the following:

    1.- Provide us with the error log: It can be found under WooCommerce > System Status > Logs (if there are any errors on there, they can provide us additional information).

    2.- Contact your Authorize.net plugin support, you can request further assistance to check your configuration in their dedicated support forum here.

    3.- Manually run the pending actions, please navigate to WooCommerce > status > scheduled actions > pending, manually run the pending actions if applicable, check your cron jobs using WP-Crontrol, as explained in this web article to see if they show something unusual.

    Let us know how that goes.

    Thread Starter rocky26

    (@rocky26)

    So, it looks like this crazy problem has at long last been solved. I waited a few days before posting about it just to be sure, and I’m posting this epilogue in case it might help future website developers who ever get stuck in the same quandary as we were in for an entire month.

    The server technician says he had the MySQL database server on a separate computer from the web server. He was examining a stream of packets a few days ago between the two machines and noticed that groups of TCP timeouts would occur, with each timeout lasting 3 seconds. They were stacking up to be over a minute sometimes, which would explain those gateway timeouts we had during transactions. He says this is the first time he’s ever seen this problem after decades of experience.

    Now then, I do not know why he had the SQL database kept on a different computer from the main web server, nor did I know it was even possible to do so. If I’d known he had things set up this way, I would have told him to consolidate everything to a single machine as soon as the common fixes failed to produce results.

    At any rate, he did indeed move the database to the same machine as the web host, and the long processing delays and timeouts promptly disappeared. Transactions now typically take between 6 to 8 seconds, with 10 seconds in the high end. This is perfectly acceptable for us and a huge relief from the nightmare of network timeouts and duplicate orders we endured for a month.

    I do have one more question for you all: why didn’t anyone mention this situation as a possible cause for our timeouts? Is separating the database from the main webserver on two different computers just something that is rarely ever done, or is it something that almost never causes trouble and therefore didn’t cross anybody’s mind? I really want to know!

    Saif

    (@babylon1999)

    I do have one more question for you all: why didn’t anyone mention this situation as a possible cause for our timeouts?

    Each hosting provider has their own way of managing servers, we sometimes notice patterns in certain hosting providers, but in this case, I don’t believe either I or another community member could’ve pin-pointed the cause as it’s a known standard to have both WordPress and the database in the same environment.

    Regardless, I’m really happy you figured it out and of course kudos to the service technician. ??

    I will be marking the thread as solved, please feel free to create a new one if you have any other questions.

Viewing 10 replies - 1 through 10 (of 10 total)
  • The topic ‘Duplicate orders, zero dollar orders, and very slow checkout process’ is closed to new replies.