New Shopify Certification now available: Liquid Storefronts for Theme Developers

Create / Apply Discount through Storefront API

mandertx
Shopify Partner
5 0 0

Hello. I am reading the documentation on Storefront API and I'm incredibly confused. I want to apply a discount with a dynamic amount based on the items in my cart. How do I do this? Can I do this without creating a fixed code in shopify admin? Because then the customers can reuse the code.

Please give me an in-depth explanation. I have created a custom app to do this for me and it works, but I found out later that I cannot use shopify extensions on custom distribution, and can only use public distribution for it to work.

Reply 1 (1)
Liam
Shopify Staff
Shopify Staff
1892 202 577

Hi Mandertx,

 

Creating a dynamic discount based on the items in a cart on Shopify requires using various APIs and scripting methods. These can include:

  • The Product Discount Function API allows developers to create a new type of discount that can be applied to specific products or product variants in the cart. This can include offering discounts on certain items based on the quantity purchased or applying discounts to particular products or product variants.
  • The Storefront API allows developers to interact with the cart during a customer's session. This includes the ability to update cart line items and retrieve a checkout URL. Additionally there's a method `applyCartDiscount` in the Cart API which can be used to apply a cart level discount.
  • Custom Apps with the Admin API - For more complex and dynamic discounting schemes, creating a custom app and leveraging the Admin API might be a viable option. Through this method, you can monitor the cart's contents and calculate discounts accordingly. However, the discounts would have to be predefined in the Shopify Admin as discount codes or automatic discounts, but the custom app can determine when and how these discounts are applied based on the cart's contents.

Hope this helps!

Liam | Developer Advocate @ Shopify 
 - Was my reply helpful? Click Like to let me know! 
 - Was your question answered? Mark it as an Accepted Solution
 - To learn more visit Shopify.dev or the Shopify Web Design and Development Blog