A place to discuss charging merchants for your apps and services using the billing API.
Since Shopify's July 18th change of totally hiding unpublished apps (no more apps.shopify.com/myapp for unpublished apps), what is the process for beta testing in-development apps in real stores other than those under our own partner account?
We need a way forward on this, because right now it seems to be impossible.
I'm having the same issue, is there an alternative approach?
Hey, Alex.
Brendan here from the Shopify Support team.
The recent change to the Shopify app store unpublished app pages has been made as an effort to ensure all apps available for direct install have been approved by the Shopify Apps team. This means that in order to provide access to an unpublished app, developers must either publish the app to create a listing page or provide their own direct download link for beta testing.
The direct install link can be provided to merchants by adding their mystore.myshopify.com and other details to the authorization link found here: https://help.shopify.com/api/getting-started/authentication/oauth?utm_medium=Forum&utm_campaign=Guru...
If you have any further questions specific to an app, you can also reach out to the apps team directly through [email protected].
Cheers,
Brendan
Leon | Shopify
- Was my reply helpful? Click Like to let me know!
- Was your question answered? Mark it as an Accepted Solution
- To learn more visit the Shopify Help Center or the Shopify Blog
The Shopify App Store simply sends a GET request to your application, appending the shop name as a URL parameter. (https://mycoolapp.herokuapp.com/?shop=some-shop.myshopify.com)
Since you already know your own app URL, you simply just need the shop name to initiate an install.
To learn more visit the Shopify Help Center or the Community Blog.
Does this process still work (of using the link app_server.com/?shop={store.myshopify.com})? I attempt to do this and it redirects to my app but then redirects back to the shopify admin (for the store passed in the shop parameter) and I get an error saying the page you are looking for cannot be found?
I figured out what was wrong in case others come across this with a similar issue.
I was using the url listed in the app setup https://unlisted-app-url.com/ and passing the shop param like so https://unlistedappurl.com/?shop=dev-shop-url.com.
This wasn't working, it would redirect to my app but then quickly indicate page not found.
I installed through the partner dashboard on my dev store (using the install on development store link) with the network tab open on chrome and saw the GET request is actually https://unlistedappurl.com/auth?shop=dev-shop-url.com
So in case anyone else runs into this problem you are likely missing the auth bit. Hope that helps.
I've been testing my public unlisted, unapproved app using myappname.myhosting.com?shop={my shop name} and it was working fine with my development stores in terms of generating the permission URL and passing OAuth. It then came as a surprise to me that I wasn't able to send this link to actual merchants - they would get an error that they can't install an unlisted, non-reviewed app.
However, after you create a custom app in Shopify, the "create custom install link" is simply broken, as other threads have mentioned. What HAS worked (after much sweating leading up to a meeting with a client) is creating a custom app, GENERATING THE BROKEN CUSTOM INSTALL LINK and specifying that specific shop, and THEN sending them to an actual constructed OAuth2 permission URL:
https://{shop}.myshopify.com/admin/oauth/authorize?client_id={api_key}&scope={scopes}&redirect_uri={redirect_uri}&state={nonce}&grant_options[]={access_mode}
If you try to send this link prior to generating a link and specifying which merchant your custom app is for, you'll get the non-descriptive error that they can't install this app using this link, please reach out to the developer for more information (of which I had very little).
More background and another bug I ran into: I had my app hosted at myshopifyapp.myhosting.com and within my code I'd specified my app's api_key. I would test installs on my development stores using myshopifyapp.myhosting.com?shop={shopOrigin}. All was working fine with my development stores, but then I realized my client wouldn't be able to install my public, unlisted / unapproved app. Great, I should be able to create a custom app in Shopify, point it to the same hosting URL, and in my app change the api_key to match the new custom app, right?
No - there was a weird bug where the OAuth permission URL that kept generating as a result would still point to the old client_id even after I'd confirmed I'd changed it in my code. I had to actually create a new hosting link for my app myshopifyapp2.myhosting.com?shop={shopOrigin} and THEN the new client_id parameter in my OAuth link showed up correctly.
I'm wondering if something changed here, since I was using the process outlined for a previous app which worked, started development on a new app and now I can't install it in one of my live stores which I want to do for beta. I don't want to make it a "private app" since i plan on releasing. It installs on dev store but not on live stores, which is NOT the same as the last app I created which worked as per this process.
Did Shopify change something here? Where are these things announced?
@Adam_Hurlburt this might be relevant: https://www.shopify.com/partners/blog/shopify-public-apps
Hi, @Jamie_D_
How are you? now I am facing the same issue.
But I can't install dev public app to real store in your way. (enabled on only dev store).
When I tried to install dev public app to real store, I was provided the below error.
"This app needs to be reviewed by Shopify before it can be installed. Contact the app developer for more information about this app."
Do you have any other solution? How can I pass this step?
I built app according to this link
Best regards
@Edith_Jenkins1 if it is a public app then it must be reviewed by Shopify, otherwise only your dev store can install it. The only way around this would be to create a Custom App for a single merchant.
Thank you
I've built an entire application - like, it's done - in PHP. The final step is simply linking a custom app to the store. It should NOT be this difficult.
After tons of conflicting information, I was FINALLY able to get past the redirect loops, errors, and the rest. I have been working specifically with the shop owner and even have admin access to the shop, but because only the owner can accept app requests I can only make new attempts when he is available. Having to constantly say, "try THIS link now" feels crappy.
Everything is built properly and to the EXACT specifications the documentation provides. This is a custom app and I have no plans to list it in the store or sell it on shopify. Now that the install link isn't erroring out, it instead brings them to the installer page with a red X between the app and store name, and the "install" button grayed out.
I cannot find a single way to fix this. The closest was some sort of node/react alternative to try, but this implementation can't rely on that (will be running under owners AWS and he wants only PHP, which SHOULDN'T be an issue).
Here's a screenshot of it. I have been at this for almost two days. The app is done and I've spent TWO DAYS just trying to figure out this absolutely horrendous handshake. If anybody has any insight it would be greatly appreciated.
I am experiencing the same problem. Been building an application for the last three months and everything works perfectly in the development/test store and it's been one Herculean effort to make it work on a live store and I am so stressed out. Shopify been one of my worst developer experiences so far.
Just for clarification what do you mean by "simply linking a custom app to the store." ?
Does the removal from the app store effect usage of the Billing API at all for setting up recurring charges?