Public App Registration Process

Hi all

Little bit lost on the whole process of making an app public.

We have a Windows Forms based app that connects to Shopify stores to download orders, upload shipments etc. from an ERP system, we’ve done around 20 installations now but each time we’ve done it as a custom app on the Shopify side.

We’ve looked at the documentation for creating a public app but we’re a little lost, can anyone “explain it like I’m 5” please.

We can create a web based oAuth type process as we’ve done this with other sites such as Amazon SP-API and Etsy but one of the steps in the Shopify Auth process appears to want to redirect back to a URI on app - obviously being Windows Forms based there is no URI to redirect back to.

Help much appreciated as keen to stop having to create custom apps on all our customers stores.

Thanks.

Hi MrDo,

To address your questions:

  1. Will your app receive a SUBSCRIPTION_UPDATE message via webhooks at the end of the billing cycle?

Yes, your app should receive a SUBSCRIPTION_UPDATE webhook notification when the subscription status changes, such as when a billing cycle ends or a charge is successful. You can subscribe to the APP_SUBSCRIPTIONS_UPDATE webhook topic to monitor these updates.

  1. Will currentActiveSubscription be updated at the end of the billing cycle after receiving the SUBSCRIPTION_UPDATE webhook?

The currentActiveSubscription should reflect the latest state of the subscription. If the subscription remains active but the currentPeriodEnd is in the past, it could indicate that the subscription is still valid but awaiting renewal or update. Ensure that your app processes the APP_SUBSCRIPTIONS_UPDATE webhook to handle such scenarios and verify the subscription status and currentPeriodEnd through the API.

Recommendations:

  • Use the currentAppInstallation query to fetch the latest subscription details, including activeSubscriptions and their status and currentPeriodEnd fields.
  • Ensure your webhook endpoint is correctly configured to handle APP_SUBSCRIPTIONS_UPDATE notifications and update your app’s logic accordingly.

Sorry - I think wires are crossed here, my question is more about the actual setup of a public application, basically I want to make it so that the customer can choose the app from the app store and it set up the access scope etc. without me having to create the custom/private app in their store.

Hi! This statement

 --Will your app receive a `SUBSCRIPTION_UPDATE` message via webhooks at the end of the billing cycle?
-- Yes

is NOT true.

based on this response and my experience APP_SUBSCRIPTIONS_UPDATE web hook will not fire when new billing cycle starts. You need to have cron for this

Hey MrDo.

To create a public app:

  1. Register as a Shopify partner if you haven’t already https://partners.shopify.com/
  2. You can either create an app in the dashboard manually or use the Shopify CLI (which also has templates etc) About Shopify CLI for apps
  3. Set the distribution of the app in the Partner Dashboard to public
  4. Build your app to work with Shopify Installation and authentication. I’d recommend using managed installs as its easiest Enable Shopify-managed installations for your app
  5. Test your app on your own development store and ensure you are authenticating correcting
  6. Complete the required steps in the partner dashboard to add your app to the app store
  7. Ensure your app is deployed/hosted and following the requirements Checklist of requirements for apps in the Shopify App Store
  8. You can also see in the Launch section about how to set up pricing config for the app store and more :slight_smile:

Hope that helps!