Dedicated to the Hydrogen framework, headless commerce, and building custom storefronts using the Storefront API.
How to apply discounts on line item level while creating an order using order create API? I have tried applying discounts on the specific line item with "total_discount","discount_allocations","total_discount_set" fields. But once the order is created the discount is getting applied on an order level.
Hey @sanjeev_kmr,
Those fields are read-only. You'll want to apply a discount which affects the line items.
Alternatively, you can apply line item discounts using checkout API or draft order API.
Scott | Developer Advocate @ Shopify
Hi. What are the writable fields?
I just spent a LONG time trying to get it working.
The only way I could was to first created a Shopify Draft order, add an 'applied discount', then complete the draft order.
If you are using the shopify_api gem, it looks like this
order_params = {
line_items: [
{
variant_id: 39304862138471,
quantity: 1,
applied_discount: { value_type: 'fixed_amount', value: '100', amount: '100' }
}]
}
draft_shopify_order = ShopifyAPI::DraftOrder.new(order_params)
draft_shopify_order.save!
draft_shopify_order.complete({ payment_pending: true }) # because i dont want the status to be Paid
Hi, were you able to modify the processed_at order date? We need to import orders from other old websites, and we are having a very had time trying to figure out how to process those orders and keep the old line_itme discounts when those only applied to certain items within the order and not to the whole.