最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

subscription - Unpaid PayPal orders switching to "processing"

programmeradmin1浏览0评论

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) - 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! :)

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) - 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! :)

Share Improve this question asked Feb 4, 2021 at 20:14 AnilAnil 11 bronze badge
Add a comment  | 

1 Answer 1

Reset to default 0

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".

发布评论

评论列表(0)

  1. 暂无评论
ok 不同模板 switch ($forum['model']) { /*case '0': include _include(APP_PATH . 'view/htm/read.htm'); break;*/ default: include _include(theme_load('read', $fid)); break; } } break; case '10': // 主题外链 / thread external link http_location(htmlspecialchars_decode(trim($thread['description']))); break; case '11': // 单页 / single page $attachlist = array(); $imagelist = array(); $thread['filelist'] = array(); $threadlist = NULL; $thread['files'] > 0 and list($attachlist, $imagelist, $thread['filelist']) = well_attach_find_by_tid($tid); $data = data_read_cache($tid); empty($data) and message(-1, lang('data_malformation')); $tidlist = $forum['threads'] ? page_find_by_fid($fid, $page, $pagesize) : NULL; if ($tidlist) { $tidarr = arrlist_values($tidlist, 'tid'); $threadlist = well_thread_find($tidarr, $pagesize); // 按之前tidlist排序 $threadlist = array2_sort_key($threadlist, $tidlist, 'tid'); } $allowpost = forum_access_user($fid, $gid, 'allowpost'); $allowupdate = forum_access_mod($fid, $gid, 'allowupdate'); $allowdelete = forum_access_mod($fid, $gid, 'allowdelete'); $access = array('allowpost' => $allowpost, 'allowupdate' => $allowupdate, 'allowdelete' => $allowdelete); $header['title'] = $thread['subject']; $header['mobile_link'] = $thread['url']; $header['keywords'] = $thread['keyword'] ? $thread['keyword'] : $thread['subject']; $header['description'] = $thread['description'] ? $thread['description'] : $thread['brief']; $_SESSION['fid'] = $fid; if ($ajax) { empty($conf['api_on']) and message(0, lang('closed')); $apilist['header'] = $header; $apilist['extra'] = $extra; $apilist['access'] = $access; $apilist['thread'] = well_thread_safe_info($thread); $apilist['thread_data'] = $data; $apilist['forum'] = $forum; $apilist['imagelist'] = $imagelist; $apilist['filelist'] = $thread['filelist']; $apilist['threadlist'] = $threadlist; message(0, $apilist); } else { include _include(theme_load('single_page', $fid)); } break; default: message(-1, lang('data_malformation')); break; } ?>