Merchants can use Shopify POS to sell in person with Shopify. Merchants can use Shopify POS to create a cart for each customer, customize the cart in several ways, and then accept payment with a range of payment methods. With the Shopify POS App SDK you can extend or add new features to Shopify POS for the iPad.
There are three types of integrations with the POS SDK: full-screen apps, Edit Cart, and Order Completion. Full screen apps are launched from the App Grid, which is accessed through the Apps button on the side navigation menu. All installed apps appear on the grid and become tappable buttons. The other three integrations make use of a specific UI element where you can integrate your app. You can find out more information on these integrations below.
App extensions can be setup from the pages of your partner Dashboard as described below.
Using the POS cart app extension
You can extend your apps into Shopify Point of Sale to perform actions on the cart. We're starting with the loyalty program use case, allowing merchants to redeem customer loyalty points and apply promotions to the cart. To set up the POS cart app extension the following steps are required:
- Configure the app extension in the Partner Dashboard by specifying the path segment that will be appended to the app’s base URL.
- Create the POS cart app extension endpoints so your app can receive requests from Shopify. Shopify uses REST calls and structured JSON to communicate with your app.
- POS cart app extension overview
- Getting Started
- Handling POS cart app extension endpoints
- POS cart app extension reference
Shopify merchants can use apps to manage loyalty programs and discounts for Shopify POS. You can add the POS cart app extension to your app so that merchants can easily manage loyalty points and apply discounts directly in Shopify POS.
The POS cart app extension provides JSON objects that can be used to load template and action data inside Shopify POS. To learn more about the JSON fields, see the POS cart app extension reference.
To integrate with Shopify and Shopify POS, you need to create the POS cart app extension endpoints.
App extension architecture
The POS cart app extension is based on three endpoints:
See the POS cart app extension endpoints for more information.
The promotions endpoint
When a new order is started in Shopify POS (i.e. the cart is empty) or the customer on the cart changes, Shopify sends a request to your app's
promotions endpoint. This request contains the supported templates and actions that your app can use when returning data to Shopify. Your app's response includes the chosen template, the customer's loyalty points, and any applicable actions. Each action is a promotion that can be applied to the cart.
A response that contains a customer's points and an action to apply a $5 flat discount renders as follows:
The perform_action endpoint
After your app has returned the template and actions array, Shopify POS renders the information and the merchant can tap a promotion to apply it to the cart. The performed action is sent to Shopify, which proxies the action to your app's
perform_action endpoint. The request contains the
action_id field to properly identify the action.
The revert_action endpoint
After a successful call to your app's
perform_action endpoint, it's possible for the action to be reverted. For example, the order could be abandoned or the discount deleted from the cart. In these cases, Shopify sends a request to your app's
revert_action endpoint with the ID of the action to be reverted.
- Learn about the different steps that are required to integrate your app with the POS cart app extension by following the Getting started guide.