Hello,
I have a few questions about selling plans, specifically about who should be responsible for rendering the relevant UI elements.
As the app developer, we currently have the responsibility of rendering all the selling plan selection UI and updating associated UI elements to reflect the selection. For us, that means:
- Render the selling plan selector—we only show our selling plans in this element.
- We update the main price to reflect the selected selling plan discount (if any).
- We update the add to cart button text to “pre-order now” or similar.
There are a few issues with this current arrangement.
- As I mentioned above, we ignore all other selling plans from other apps (like subscription apps). If every app only renders their own selling plans, we’re going to have conflicts in the form.
- We are overriding the theme’s price element to make sure it’s displaying the correct amount. Any other logic tied to that element will likely break. We also need to have custom selectors to account for different themes.
- Same for the add to cart button.
- Dynamic checkout buttons don’t work with selling plans, so we have to try and force them to be hidden.
- It’s difficult to have “Add to cart” buttons work anywhere other than the product page since the required selling plan UI won’t be rendered (eg. an add to cart button on the collection page).
The current state of things feels very temperamental, and we’ve found ourselves having to update selectors for a lot of merchants and ask them to disable some of these features just to get selling plans to work reliably.
Would love to get some insight on what the endgame for this looks like so that we can plan accordingly. While difficult to enforce, it feels like a lot of this rendering logic should be handled by the theme.
Thanks,
Ryan