Sales Channel Access Doesn't Persist For Shopify Functions Discounts

Hello,

As previously mentioned by Shopify in this comment, there is no API that developers can use to control sales channel access for discounts. This means that, in order for merchants to create discounts via apps that don’t apply to the Point of Sale or other sales channels, they must use the built-in “Allow/deny sales channel access” functionality.

However, these settings do not appear to persist after being saved, which is causing merchant frustration.

Over the past few days, we have received multiple reports where, after unchecking “Point of Sale” and clicking “Publish” or “Unpublish,” discounts are still active on the Point of Sale channel after refreshing the page.

I have recorded a video demonstrating how to reproduce this:

Interestingly, it wasn’t possible to unpublish even a built-in Shopify discount from the Point of Sale.

Because our app does not control this functionality, there’s no way we can fix this ourselves, especially since it even affects discounts that were created in Shopify itself. One of our customers contacted Shopify support for assistance, but Shopify support just told them to contact us, so we’re between a rock and hard place here.

Can you please investigate this? In the meantime, we will instruct merchants who face similar issues to upvote and subscribe to this thread.

Thanks in advance,
Tobe

Hi Tobe!

Thanks for sharing this. I think what might be happening here is some confusion over the UX for the bulk actions on the discounts index. When using the bulk actions on the index view, you aren’t seeing which channels the selected discounts are currently published to. Instead, you’re seeing the full set of channels for which you can choose to publish or unpublish your discounts.

You can see which channels a discount is currently available to if using a built-in discount type or an app discount that uses the UI extension approach to discount configuration, by going to the discount details page and looking in the right sidebar.

You are correct that, at this time, these data aren’t available publicly via the API and so an app discount using the appbridge/Remix approach is not currently able to display the channel publishing status and the merchant has no way to see what setting exists on those discounts.

The other note I’d raise is that on the “deny sales channel access” bulk action’s modal, if you select all channels except POS then you are denying access for all channels except POS. If you want to deny access only for POS then you should be selecting only the POS channel before clicking the “Unpublish” button.

Thank you for your response. We will make sure to update our documentation accordingly.