• Resolved khalil43

    (@khalil43)


    Hi,thank you for helping me

    I’m using an android app related to the woocommerce website via API.

    Backorders on the website are not allowed, but if two customers buy the same product( with quantity 1) at the same time, i get one of the orders as backorder even if it is not allowed.

    i found this answer: https://wordpress.org/support/topic/woocommerce-rest-api-creating-an-order-as-a-customer/
    explaining that: ” It is not possible to create orders as a customer as customers do not have permission to create anything on the site. What you can do is create the order as an administrator and use the order_id in the API request to assign the order to a specific customer.”

    and i saw that orders via API are not created by customers, as the orders via website.

    So is there a way to disable the backorders globally to avoid this problem? thanks.

Viewing 12 replies - 1 through 12 (of 12 total)
  • 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,

    Thread Starter khalil43

    (@khalil43)

    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,

    Thread Starter khalil43

    (@khalil43)

    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.

    Thread Starter khalil43

    (@khalil43)

    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

    Thread Starter khalil43

    (@khalil43)

    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

    Thread Starter khalil43

    (@khalil43)

    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.
    Mirko P.

    (@rainfallnixfig)

    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.

    Thread Starter khalil43

    (@khalil43)

    “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-

Viewing 12 replies - 1 through 12 (of 12 total)
  • The topic ‘Issue with backorders via API’ is closed to new replies.