so we are an existing saas product, and has its own pricing page built on stripe. Since many of our clients owns a shopify shop, we have to provide a shopify app for them to be able to connect their shop to import their products. During app review, i was told that because the app is public, so we have to implement shopify billing API. my question is, does it mean that we have to build a separate pricing page just for shopify app?
i am confused by the process. lets say a new user installed the app from shopify app store, he then will be directed to our website to continue using our product. Then he could see upgrade options, so he goes to our standard pricing page, and purchase a plan. I am not sure where we should integrate shopify billing API. Do I have to differentiate which users are coming from the app install, and then for those users, display a separate billing page that use shopify billing API?, but then what happens for user that is already our product user and happen to have a shopify store? they should still be using our standard pricing page, right?
Thanks for clarification.
So, based on how your app works, you could argue there is no need to use the Billing API. However, if you read the Billing API page, now Shopify requires all apps that are distributed via App Store to use Billing API. This is what it says:
The Billing API is mandatory for all apps that are distributed through the Shopify App Store that want to charge merchants, unless you have been notified by Shopify. Contact us if you have questions or concerns.
So, because some of your users come from the app store, you have two options here
-
You can contact Shopify and explain your current situation and see if they can exempt you from this requirement. I doubt it though!
-
If you still want to continue to use the app store and comply to terms of use, you will need to create a billing integration. To do this, once a merchant adds your app to their store and your app redirects them back to your app’s website - You can show them the plans page as you do now.
However, when they select a plan, instead of showing/sending them to stripe, paypal or whatever is your payments option, you instead initiate a payment/charge request process to shopify as explained here: https://shopify.dev/apps/billing#the-billing-process
You will need to include the returnUrl, where the merchant will be redirected back to your website after a successful charge confirmation.
This also adds another thing. In your code, you will need to have a logic somewhere which identify merchants who come directly to your app’s website from those coming from the app store. You can continue to charge the direct merchants with your standard payment options and only use the billing api for those merchants coming from app store. The issue here is just the merchant who install your app via app store.
Hope this helps!
hi brother,do you have a link to thi Billing API is mandatory you mentioned ?
are distributed through the Shopify App Store It’s not mentioned ‘must use billing api’