Plugin Support
con
(@conschneider)
Engineer
Hi there,
So is there a way to disable the backorders globally to avoid this problem? thanks.
You can try and use this filter add_filter( 'woocommerce_product_backorders_allowed', '__return_false' );
.
Kind regards,
Hi,
Just ried, it is not working for API orders.
Thanks
Plugin Support
con
(@conschneider)
Engineer
Howdy!
Could you let me know how you test this? We can try and mimic your steps but I am not sure what the best approach is to simulate the race condition correctly.
Kind regards,
this problem happens only with api orders,
i’m using two mobiles with my android app linked to the website,
i start on the same time the checkout process with two different accounts and the same product ( product quantity 1, backorder disabled)
after confirmation at the same time, i get one order and one backorder, quantity=-1.
Thanks
Hello,
Sorry to hear about the issue.
I’m using an android app related to the woo-commerce website via API.
To get a better idea of this scenario, please share a copy of your site’s System Status
: You can find it navigating through WooCommerce > Status
. Select “Get system report” and then “Copy for support”.
Thanks.
Hi @khalil43
Thanks for sharing the System Status Report.
WC Version: 6.3.1
WC Database Version: 6.3.1
Can you please try to update the WooCommerce core and database to the latest version by following our guide here?
https://woocommerce.com/document/how-to-update-woocommerce/
WP Version: ❌ 5.9.2
Furthermore, please update WordPress as well. Here’s our support guide:
https://woocommerce.com/document/update-php-wordpress/#section-5
Then, if this does not resolve the issue, it is maybe due to a conflicting theme or third-party plugin present on your site. Can you please try to perform a full conflict test and see if that works?
https://woocommerce.com/document/woocommerce-self-service-guide/#section-4
You guys are just doing your work and answering without trying to help.
I did all the updates and it is not working, i already explained where is the problem; when using an app related with API with woocommerce, the orders received are not from customers, but just as in the backend they are created and related to a user, in this case the rule of disallow backorders do not apply
there are two solutions: API orders should be created as like someone did it from the website ( customer created order) or allowing to disable backorders everywhere even for the admin, in this case users from the app will not be able to order if a product is out of stock and error will appear explaining that product is out of stock
-
This reply was modified 2 years, 1 month ago by khalil43.
Hi there,
i start on the same time the checkout process with two different accounts and the same product ( product quantity 1, backorder disabled) after confirmation at the same time, i get one order and one backorder, quantity=-1.
In normal conditions WooCommerce won’t allow that. It only allows one quantity to be purchased while the other will get an error message. This is a bit out of scope as in this forum we support WooCommerce core and not third-party applications.
I’m going to leave it open for a bit to see if anyone is able to chime in to help you out.
You can also visit the WooCommerce Facebook Community group or the #developers
channel of the WooCommerce Community Slack. We’re lucky to have a great community of open-source developers for WooCommerce, and many of our developers hang out there, as well.
Cheers.
“In normal conditions WooCommerce won’t allow that”: in normal conditions woocommerce allow using API, and in normal conditions people prefer using a phone app instead of visiting pages in browsers.
Woocommerce treats orders, form customers in the app ( from API) as orders from admin, and allow in this case backorders. how many woocommerce users that disabled backorders are creating backorders ? 0,0000000001% ? and you prefer keep this option for this 0,0000000001% ( allow backorders for admin when it is disabled ) and you suggest to create on the app the law that will verify in each checkout if each product and each variation is still available? when admins that disabled backorders wants to create a backorder, they can easily enable backorders, or you can crate two options:” disable for customers” and ” disable for all”
Hi @khalil43
you prefer keep this option for this 0,0000000001% ( allow backorders for admin when it is disabled ) and you suggest to create on the app the law that will verify in each checkout if each product and each variation is still available? when admins that disabled backorders wants to create a backorder, they can easily enable backorders, or you can crate two options:” disable for customers” and ” disable for all”
With regards to improving WooCommerce default features, you can submit a request on our Ideas Board. The more popular an idea becomes, the more of a priority it is for our developers to review it, and chances of the feature getting incorporated into one of the upcoming versions. You can submit your feature request at https://github.com/woocommerce/woocommerce/blob/trunk/.github/CONTRIBUTING.md#feature-requests-