I have a client that currently has a highly customized checkout experience. The client sells a handful of different products; some of them they are legally required to have the customer sign a waiver (if specific items are in their cart - the client wants the waiver to be a part of checkout process to minimize friction in adding items to cart), and some they are legally required to review the order before collecting payment (if specific items are in the cart - in these cases, the customer submits the order, the company reviews it, and the company sends the customer a special link to submit payment once reviewed). They currently have a customized e-commerce app and checkout, but I’d like to move them over to Shopify. I’ve been trying to think of ways best to solve this with Shopify, and I’ve come up with one solution.
We could create a custom checkout that we would forward customers to when they go to checkout. We’d handle having the customer sign a waiver (if required) and collect payment. We’d use the Shopify API to access the cart contents (this would be passed to our custom checkout app), and we’d update the order via the Shopify API once payment was complete.
Note: This would be a private application for the company that we would not be offering as an app for any other company. Is there any issue with the above? If there is, can you think of any other potential solutions?
Big caveat that’s just a frontend js solution so for compliance , or client acceptance, you probably need to adapt it to have some backend logic through cart attributes.
Secondly If they are on ShopifyPlus you can use checkoutscripts to turn off payment methods.
For the order review process:
look for apps that create draft orders
Or use the draft orders api for your app
or use a no-code service like integromat to create draft orders
or maybe even the abandoned cart process but that’s clunky in this context.
use a simpler order form customization to send an email through the contact system on the frontendprobably with accounts required turned on
Since you cannot modify the shopify admin your biggest problem may not be apps to generate and juggle orders themselves but in conveying the information your client expects in the way they’ve become accustomed to it already with their custom setup in which case yeah you’ll have to create an app to integrate more with them than shopify.
If so remember to lockdown the .myshopify domain and evaluate shopifyPlus fees(transactions&“monthly”)to see if the clients sales volume offsets the platform costs and maybe development.
But why? Not including the why in exploration is a pretty big hint this may be a nonstarter.
I’m not sure why this is important or what you mean here, but here’s more background. Our company built their current platform, which is a 100% custom coded system (including custom CMS, cart, checkout, managing orders, payment system, etc). It’s running PHP 5.6 and they need to upgrade. We’re currently discussing our options on upgrading, which pretty much are:
Recode custom CMS in a PHP framework using an updated version of PHP.
Migrate to a better e-commerce platform, so we don’t have to re-invent the wheel for order management, user management, discount code management, etc. Shopify is the platform at the top of our list.
You may not need custom app development, though at the end you’ll see this may be a roundabout if you only want shopify for the payment process.
I think you’re missing the point - I do not want to piece together a solution for checkout. We are not concerned with development time or any of the technical aspects in this solution. I am just simply looking for confirmation that we are permitted to do the following:
We will create a custom application for checkout that will handle collecting shipping address, signing waiver and collecting payment when necessary. We can interact with the Shopify API to update order status, get cart contents, etc.
When the user goes to checkout on the site, instead of sending them through the standard Shooify checkout flow, we would redirect the user to the custom checkout app (see #1 above). Ie: checkout.mysite.com.
Thus, we would be using Shopify for everything except checkout and collecting of payments. So, the questions are:
Is this permitted?
Is Shopify Plus required for this? Since we are not customizing the shopify checkout experience, I’m assuming not.
Ah that’s clearer guess the emphasis was on “forward” but that’s what shopify’s /cart does too for their /checkout okay so flipping that around.
If you are integrating a separate checkout process you must get written permission from shopify to bypass the standard checkout process per their API terms:
If a merchant cannot get such permission , yes they can customize shopify’s checkout when on a ShopifyPlus account..
As for the why it’s important to make sure the why is known to avoid unhappy clients after a platform migration.
With an existing codebase that has all the business logic it’s not uncommon to upgrade existing systems then any backend admin and frontend is just integrated with apis, such as the buy-sdk. So the client gets to keep all their backend processes and experience in tact with shopify handling transactions.
Also can help indicate is enterprise features are a hard requirement.
[quote=“NexitT”]
Migrate to a better e-commerce platform, so we don’t have to re-invent the wheel for order management, user management, discount code management, etc. Shopify is the platform at the top of our list.
[/quote]
If you invented a special wheel for your clients terrain, be sure shopifys systems have parity or better with what large clients expect.
For example shopify cannot stack discounts(without ShopifyPlus*), there is only one type of customer account(flat no relations no hierarchies), native order editing in the admin is very young , staff management may not be as granularly as needed, etc.
Now to to creating an application that interacts with shopify’s checkout
Carrier service api for handling shipping logic in checkout; requires Advanced Plan or higher or negotiated as addon.
Modifying /checkout for waivers does require ShopifyPlus; but not if you collect it before that during the frontend /cart process.
If you want to collect payment in /checkout including capturing credit cards,etc as a payment gateway that’s the HPSDK , not a small thing and meant for payment providers.
Order status is simple enough with the order api, or draft orders api after an order is created.
Getting /cart contents is different from /checkout items. Items are available in an order via the orders api , if using the online store channel then for the /cart( before /checkout) you will need to monitor the frontend with a scripttag to send the info to your app.
checkoutscripts let you modify items in the checkout, though if your bypassing shopify checkout checkoutscripts dont run
It’s apparent that three core plans of Shopify are certainly an appropriate choice for you to kickstart your online business if you’re catering small, medium and large business. The reason is that it’s quite easy to approach and it offers every necessary thing for your business to thrive at reasonable prices.
At the same time, Shopify Plus is the cream of the crop in terms of its professional support, high customizability and powerful functionalities. Even though the price is much higher than Shopify’s core plans, it’s totally cost-effective since Shopify Plus minimizes the time, labor force and workload. With all of these features above, Shopify Plus arms your enterprise-grade business with the optimal factors to sustainably develop.
Check the depth comparison Shopify vs Shopify Plus here
If you are planning to move to Shopify, LitExtension is always here to give you a hand. With our help, re-platforming is a piece of cake. We offer an advanced automated migration tool that transfers all your data to another platform quickly, with a high level of security and accuracy.
To experience yourself, free Demo Migration is available. Spend a couple of minutes to check how the process works.
If you are integrating a separate checkout process you must get written permission from shopify to bypass the standard checkout process per their API terms:> > https://www.shopify.com/legal/api-terms> > If a merchant cannot get such permission , yes they can customize shopify’s checkout when on a ShopifyPlus account..
not use an alternative to Shopify Checkout for web checkout or payment processing, or register any transactions through the Shopify API, without Shopify’s express written authorization. This Section 2.3.18 only applies to Public Applications.
It sounds like I only need express written authorization to use an alternative for Shopify checkout or payment processing only applies to Public Applications. Since this will be a private application, do I still need written permission?
@NexitT IANAL , I’d pursue written permission to have things covered regardless.
While it reads like that, really it’s only explicitly mentioning Public apps, letting us draw the ambiguous conclusion that private apps are a logical exception.
But our expectations of that terms logic conflicts with a clients legal risks.
But could probably start initial exploration of the all apis on the edges of transactions while communications start unless your legal or the clients legal says no.