I am currently researching into many platforms to see how easy it is to integrate with them, I started with the docs but there is so much to read into and understand when I just need a couple simple questions answered.
As the third party app where the shopify store would need to make an account with us for possible authorization to API's and possibly stick their logo in as well. We are wanting to display their items for sale, allow the items to be sold, and shipped/downloaded.
1. Does this app need to authenticate with the shopify store to retrieve product data/make sales?
2. Is shipping automated with checkout?
3. Is checkout 100% taken care of by shopify or does our app need to make the sale by a 3rd party application like paypal and then send that info through the API to be marked as not pending anymore?
4. Does our app need to have any access to the Admin API? I wouldn't think so.
5. Does our app need more access than just the Storefront API?
Thank you for any help and insight you might have past the questions I have listed.
Hi @mwhelan ,
Just so I understand, your app will be a Sales Channel / Marketplace where users can go to and purchase items from other Shopify stores? Is my understanding correct?
If so, here are the answers to your questions:
1. Your app will most likely need to use the Storefront API to get product data and to create checkouts (so you can make sales). In order to use the Storefront API, you need to have a Storefront Access Token created. This can either be obtained by making each merchant you work with create a private app for their store and provide you with their token (not recommended), or for your to build a public app that can be installed + authorized by each merchant. This app will then be able to make the Storefront Access Tokens through he Admin API: https://shopify.dev/docs/admin-api/rest/reference/access/storefrontaccesstoken?api[version]=2020-04
3. The most recommended, secure, safe, and efficient way to handle checkout is to utilize the Shopify checkout so Shopify can handle 100% of payment processing. This can be done through the Storefront API by creating the 'checkout' object, populating all of the line items, and then redirecting the user to the 'webUrl' field of the checkout.
Alternatively, since your app is a public Sales Channel, you have the option of requesting payment processing permission so that your app can handle processing payments during checkout: https://shopify.dev/tutorials/authenticate-a-public-app-with-oauth#request-payment-processing
4. You will need to use the Admin API to generate the Storefront Access Token so you can use the Storefront API. That is it
5. See my answer for 4
Hassain | Developer Support Specialist @ Shopify
- Was my reply helpful? Click Like to let me know!
- Was your question answered? Click Accept as Solution
So there is a fault the plan laid out and that is having the user redirect to the WebURL for checkout. Since our app is within a VR game the user would have to take off their headset to do this which we would avoid.
I see you say that you can handle the checkout with the Storefront API but as I am testing the Storefront API I came across this documentation. completing-the-checkout Which says that my application needs to be a sales channel to process payment?
Does this mean there is no way around making my application a sales channel?
Having the user make a key for us is not the big of an issue since we would only need the product list and some way to process payments through the API if that is possible.
Nonetheless is there any good documentation on building a sales channel application? The documentation is pretty poor on this subject. In the requirements it states, "Create an app in the Partner Dashboard" but then takes you to Authenticate a public app and the first line is "From your Partner Dashboard", where do I go to make an app that has a Partner Dashboard? They kind of skip over this step.
I was given a shopify store to test with but I wasn't there for the creation. Is there an option while making the store to make it a partner app?
So far I can see how I would continue my research into how I would get products, list them, make a cart for the user, have them checkout but the Payment processing seems to be the real big issue with having to build the sales channel app. Since that seems to be absolutely necessary.