I'm working on a voice assistant (Alexa / Google Assistant) for Shopify stores and wondering what are the options to complete checkout with voice only (using Amazon Pay for Alexa or Google Transaction for Actions)?
The Checkout Complete Admin REST api gives "Cannot complete the checkout without any transactions", since I'm not using any Shopify payment gateways.
Is using DraftOrder my only option to manually complete checkout / create order and complete it?
Solved! Go to the solution
You can only complete free checkouts without transactions. Any checkout that is being paid through a gateway would need to use either Stripe or Spreedly for card vaulting. In your case, Spreedly would need to be used, as it support third party gateways. One thing to note is that you would need to apply for the ability to processing payments this way. Your app would need to be a sales channel app (think marketplace) in order to be approved. You can apply within your partner dashboard, under the app setup tab for your app.
You can use the DraftOrder API to create orders, but you are going to run into the same issue where adding payment programatically is reserved to sales channels with payment processing access. You could manually tag the order as paid without collecting funds, or generate a checkout url for the customer to complete, but that doesn't sound like what you're looking for.
Let me know if you have any questions about any of this!
Thanks for the reply and the suggestions. The current Shopify apis seem to be tied to mobile/web interfaces making the voice assistant payment integration a bit more challenging.
Since Amazon Pay and Google Transaction are my only options, I need a way to handle payments outside of Shopify.
In order to do that, I ended up using a mixture of Storefront checkout and Admin DraftOrders, and manually tagging orders as paid as you suggested.