Unpaid PayPal orders switching to "processing"

Well well... after two weeks of testing, trial and error I finally came to Stackexchange.

Following issue/bug: We have major issues with PayPal. We noticed orders without any payment. When you order something in our shop, choose PayPal and cancel the order in PayPal by just clicking cancel or leaving the browser tab, WooCommerce switches the order from either canceled or pending to processing. Which indicated, that the user has paid. We received my emails from users who said they changed they mind and canceled the order, but still received an order confirmation.

Some facts about the site:

  • custom build Theme
  • some custom plugins
  • using WooCommerce subscriptions (we are a sub business)

So... we went on a search and tried almost every possible test:

  1. Checked all API/IPN connections - all correct
  2. Tried different PP account (sandbox too) - same issue
  3. Copied the site to a staging site - different domain (dev.domain.com) - solved - working
  4. Copied site on a new server, but same domain - same issue
  5. Deactivated all plugins/themes - only active: WC, WC Subscriptions, default theme - same issue
  6. Installed a fresh WP install, fresh WC, fresh WC sub - nothing custom - solved - working
  7. Switch to an old PP account, which we have used on this site before - solved - working

Conclusion:

  1. Issue only occurs on our main domain
  2. Settings seem to be correct in PP and WC
  3. Issue must be somewhere deep inside the core, since deactivating Themes and plugins did not help
  4. There must be something with our domain name, WC subs and the old PP address. Why is it working with that one, but not with a sandbox PP?

My general question is, if somebody has some ideas where or what to look for? We have a dedicated developer, who is in charge for this, but is struggling too. Are there any debugging tools, which could be useful to see what is happening in the system when WC switches the order from pending to processing?

Any help is appreciated! :)

Topic subscription paypal Wordpress

Category Web


I found the answer! Who would have thought: There was an old API connection to a logistics software, which had a cronjob that pulls all orders (also pending ones) and after it pulled the order the cronjob switched the order from whatever status to "processing".

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.