It's possible, but you need to be a sales channel implementation to do so.
Otherwise you're going to have to defer to the checkout object's web_url where card details are captured and processed on Shopify.
Correct. You can create a checkout whch includes specific product variants as line items and other information which would comprise a checkout, and then use that checkout object's web_url to pass the customer to Shopify to process the payment.
You'd want to do so with the storefront API: https://help.shopify.com/en/api/custom-storefronts/storefront-api/guides/checkout-guide
. So can I in effect generate a link with a given product on one site then pass to the Shopify checkout
Depending on situation see if cart permalinks fit the need.
you need to be a sales channel implementation to do so
kinda of let down to land on something like:
and not immediately knowing processing, card vaulting , can only happen via shopifys checkout. And trying to use them just leads to dead ends .
The graphql| reference should be updated to reflect when elevated permissions are needed for thing like plus and sale channels and gateways. The great features are piling up so it is getting a bit confusing, Maybe a guide on how all these features now flow together to educate developers where the red lines are expanding on the /sell-through-the-checkout-api image
@Alex Richter what are the conditions to be accepted as a Sales Channel implementation? i.e. specific app approval or a specific Shopify plan?
@Paul: That's some really good objective feedback, thanks. I understand there's a few weaker areas in the docs where things aren't as clear as they can be, especially sales-channel related subject matters. First and foremost I'll look into some docs improvements when I can.
@Karl: The first and foremost requirement is that it makes business sense for your app to be a sales channel integration. You need to essentially function as a marketplace. You cannot request access to payment processing for the sake of access, though. Channel requirements are summarized here: https://help.shopify.com/en/api/guides/sales-channel-sdk/overview
You can mark your app as a sales channel in your partner dashboard (this is not reversible). Once that's done, you can request payment processing.
So just to be clear @Alex Richter
What options do store owners have that need to accommodate regional e-commerce customs such with common scenarios such as:
I understand many of these scenarios are perfectly fine using a Plus subscription, but considering the price and annual commitment it is _completely_ out of reach for home based startups, small merchants etc.
Are there any other options how small merchants using Shopify could take control of their shipping and checkout process to accomodate country specific customs and meet customer expetations even if that means running the entire storefront on their own but still using the Shopify backend?
You are correct in all three of your initial points.
To address your other two points:
At the end of the day, the checkout is a walled garden for the most part to non-plus merchants. There isn't much of a way around that.
Small merchants can definitely take control of their shipping with the carrier services API and manual rates if tehy need to be more granular. I don't know specific reasoning for the checkout being restricted because that admittedly is not my area of expertise.
You can use the entire Shopify backend without a storefront essentially without Shopify's payment processing. In this case you would be processing orders externally and creating orders in Shopify using the orders API, or perhaps creating a hosted payments SDK integration (offsite payment gateway) if you do want a storefront, etc (to name a few).
Thanks a bunch for answering all my questions and helping clarify a lot.
I was aware of the Carrier Service API, but again, this one is only available to Advanced subscriptions which are still way out of reach for very small merchants if you consider the monthly subscription is equal to the monthly revenue of such a business - not to mention this need be paid annually upfront. As is, I accept that limitation and suppose it is more of an issue for marketing and sales to pick up upon than having a few techies squabble over why's and why not's :-)
As for GDPR, with no way to customize the checkout process / template, even if only with static code (not counting the little bit you can add in the checkout completion summary) we feel we do not advise our European customers sufficiently about whom they are providing data to with each step. Yes, there are links to privacy / data protection in the footer, but a more visible means would be far more in-line with GDPR best practices as opposed to GDPR bare-bones requirements. Alas, it is picking cherries, I know.
Once again, thanks for your help!