How can I create a custom discount for a sales channel app?

Topic summary

Developer building a sales channel (marketplace) app wants to offer a coins-based discount (e.g., 100 coins = 5% off) and seeks guidance on implementation and permissions.

  • Implementation: Asks if Shopify Functions are required to create a custom discount type tied to coin balances during checkout.
  • Permissions: Notes the app can create discounts with the write_discount scope and questions who should create discounts (app vs. merchant) and what controls exist.
  • Safeguards: Specifically asks whether a 100% discount created by the app would require merchant approval and if there’s validation at checkout to prevent unintended free orders.

Key terms:

  • Shopify Functions: Server-side extensions to customize Shopify logic (including discounts) at runtime.
  • write_discount scope: API permission allowing apps to create/manage discounts.

Status: No responses yet; questions remain open about the correct approach, approval flow, and checkout validation mechanisms.

Summarized with AI on January 11. AI used: gpt-5.

Hi all, I am quite new to Shopify community. I’m developing a sales channel app (our marketplace app) that will offer a certain discount to customers. We use coins based discount, e.g. our customer have 100 coins can enjoy 5% discount of the product.

  1. in order achieve this, i have to use function to create this custom discount (coins discount), right?

  2. Just a general question, who create these discount? I know if our app has write_discount scope, we can create it. But if we create a discount with 100%, then it is a free, does the merchants need to approve this 100% discount? I know we won’t do that. I just want to understand is there validation at checkout?

thank you so much

regards