I realize that this question has been asked before, but I do not feel like the answers have been satisfactory to me.
Background: I have a Shopify Plus store and access to the checkout.liquid layout file and wish to update the layout to allow for a single page checkout. I am, however, concerned with how to do this safely, as the integrity of the checkout is imperative to me.
My question: What is the best practise for building a custom single page checkout in Shopify?
My current ideas for a solution:
My first idea is to use the checkout.liquid to import JS that will, through XHR-requests, load in each step of the checkout into one single page. Thereby allowing Shopify to handle the entire process (both the backend and the frontend) but only with the modification of everything being displayed on one page. The pros with this approach seem to be that the deviation from the default Shopify checkout experience is as small as possible, while still meeting my requirement of a single page checkout. But this seems sort of "shaky". Shopify also does not like when you modify the checkout forms (which is understandable). I can probably work around this, but it does not feel like an elegant solution.
My second idea is to build a checkout app, and integrate it against the Checkout API (or Admin API?). Then I would be able to build a fully custom checkout, all on one page. This seems however like a very large task and I do not want to publish anything to the world.
Both my approaches will take a lot of time to build and get up and running, which makes the correctness of my choice even more crucial.
To repeat my main question: What is the best practise for building a custom single page checkout in Shopify?