0

I am trying to create an order on my WooCommerce store from my mobile application using the REST API v2. The order is created successfully but I can't find any solution to the following issues.

  1. I send a coupon_lines array within the order object and when the order is viewed on the admin panel, it shows the coupon there but the order total is not affected at all.
  2. Then I decided to calculate the total and discounts based on the applied coupon manually. I tried to set discount_total within the order object equal to the amount which is the value of the coupon. I also update the total manually as well. But again, all the values that I pass are ignored and the order total is equal to the sum of the prices of all line items (ignoring discount_total).

Here is a sample JSON object that is sent to the API from my app.

The order total should should be 5000, but it is 10000 in the WordPress admin panel because the Coupon Code for 5000 has no effect. Also, the <code>discount_total</code> has no effect. It is 0 in the response <code>order</code> object.

What other options do I have to set an order total and discount manually? Any suggestions are welcome.

0

In your coupon_lines array, each item in the array needs 2 properties: code (the coupon code itself) and amount, which is either a flat fee (eg 50.00 off) or a discount (eg 10% off). Your structure ends up looking like:

"coupon_lines": [
    {
        "code": "MYCODE1",
        "amount": "10.00"
    },
    {
        "code": "MYCODE2",
        "amount": "25.00"
    }
]

If you're already doing this - consider posting an example request here.

  • Hi. I looked at the docs and thus have the field discount instead of amount. Also updated the code with image of the JSON request object. – Samarth Agarwal Aug 1 '18 at 14:12
  • The REST API docs say it should be amount. – Adam Mellen Aug 1 '18 at 14:13
  • When I tried with amount instead of discount, this is what I get (i.imgur.com/45O9cFz.png) I think you referred to old docs. Here (woocommerce.github.io/woocommerce-rest-api-docs/…) are the docs for REST API v2. – Samarth Agarwal Aug 1 '18 at 14:31
  • Sorry, you're right. It looks like you can't use this as an actual feature until WC API v3, which is in development. The fields you've tried to set (such as total, discount_total etc) are all read-only so they will not effect anything. You might have to end up going through each line item and removing values from the total field (not subtotal!) – Adam Mellen Aug 1 '18 at 14:49
  • I actually don't even have total or subtotal in any of my line_items objects. They just have product_id and quantity. I understand that discount_total is readonly, but is there no way to override the value of total? – Samarth Agarwal Aug 1 '18 at 16:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.