App Discount Functions Not Triggering on POS (v10.3.0, Android)

Hey folks,

I’m running into an issue with Shopify app discounts not working on the POS sales channel.

Here’s what I’ve done so far:

  • Created a Shopify Function (using api_version: 2025-07)
  • Used this function to create a code app discount via the discountCodeAppCreate GraphQL mutation.
  • Published the discount to the POS channel (via Admin > Discounts > Allow sales channel access).
  • When testing on the online store, the discount works as expected and I can see the function logs being triggered.

However, when I apply the same discount code using the Shopify POS app (Android v10.3.0), nothing happens — and I don’t even see logs indicating the function was called.

:pushpin: I also tested with an automatic discount using discountAutomaticAppCreate, and got the same result: works on online store, doesn’t work on POS.


Is there any extra configuration or step I might be missing to get app-based discounts working on POS? Or is this currently unsupported?

Appreciate any insights or confirmations — thanks in advance!

It might help if you could share specific run IDs, run logs and the specific code that is triggering the function.

These specifics make it easier for Shopifolk to view the problem in their backend and potentially give an answer.

1 Like

I am also experiencing the same issue (using api_version: 2025-07). The discount function was working on both POS and the online store until yesterday, but it has not been working on POS since this morning. I checked the Shopify Partners dashboard for logs, but the function is not triggering, so there are no logs.

1 Like

Just to clarify — the function doesn’t seem to be running at all on POS, so unfortunately I don’t have any run ID from that channel.

However, here’s a run ID from when the function runs successfully on the online store sales channel, in case that helps trace anything: ca89d9c5-80d6-456e-b7c4-80cdda6e2b27

As for the code, it’s the default scaffolded function in JavaScript. I haven’t made any logic changes — the only modification I made was adding the new retailLocation object to the input GraphQL query to test its availability in POS (introduced in API version 2025-07).

I also tried removing retailLocation from the query entirely just to rule that out, and the issue persists — so it doesn’t seem related to the function’s code.

Hello @shaheem,

Just to clarify, you are using the Discount Function API and not one of the now deprecated Product/Order/Shipping Discount API, correct?

Also, are there any error messages shown in the POS app when you try to use the discount code associated with your code app discount?

  • Yes, I’m using the new Discount Function API, not the deprecated Product/Order/Shipping discount APIs.
  • When trying to apply the discount code on Shopify POS, I do get an error message that says:

<DISCOUNT_CODE> is valid but not applicable. Check discount terms.

Sorry for the delay, I was not able to sink my teeth into this yet.

Thank you for the clarifications. I was able to find more information about your attempts using that run id. It indeed seems like the function is not called. I’m also able to reproduce this myself which is good (and bad?) news.

I’ll have to investigate further and will report back.

1 Like

Just wanted to share a quick update — I tested again this morning and the discount function is now working on POS! :tada:

Funnily enough, it’s working even without explicitly publishing the discount to the POS sales channel (this is fine for our use case, I’m not sure if that behavior is expected). Not sure if something changed on your end, but either way, it seems resolved now.

In case it helps with further debugging or internal tracking, here’s the run ID from the latest successful call on POS: 1f6f8903-a371-4ce6-a1b3-3ca9f1b2d2a9

Thanks so much for looking into this — appreciate the support!

Very glad to hear!

Turns out a previous clean-up was done a bit too early. Sorry for the inconvenience and thank you for your patience :folded_hands:

I’m 82% sure this is expected but I’m a bit fuzzy on the details. I’ll make sure to double check with the team.

1 Like

Just to circle back on this : I confirmed with the team that this is expected behaviour for automatic app discounts. Native automatic discounts have their own toggle to separately control whether a discount should apply at POS checkout or not.

1 Like

I coincidentally was trying to search if there’s a way to toggle this today, and couldn’t find anything here:

Is this a planned feature?

Hey @David_Arbias ,

I don’t know if this is a planned feature but I believe a function could implement that thanks to a new field being added to the function’s cart input in version 2025-07 called retailLocation like @shaheem pointed out. I toyed a bit with it this morning and it is set when using POS but not when shopping on the online store.

A function could rely on this field to decide whether to apply the discount or not.

Let me know if that works for you.

2 Likes