Overview
Learn about commercetools InStore and how it works.
What is commercetools InStore
commercetools InStore is a solution that extends your existing commercetools implementation into physical stores, which helps you with the following:
- Take physical payments, including card-present credit and debit cards, gift cards, and cash.
- Manage the payment ecosystem and physical devices, including safes, cash drawers, printers, payment devices, and scanners.
- Handle refunds, with or without receipts, of merchandise purchased in any channel.
- Manage cash as inventory, including performing cash counts and bank deposits.
- Retrieve, transform, and provide metrics about Orders, Customers, Products, and third-party integrations.
- Provide a frontend experience for in-store employees and customers, and deliver transaction and payment information to Composable Commerce, payment providers, and to receipts.
commercetools InStore provides these capabilities though secure Composable Commerce APIs. Your organizational structure and business rules can also be reflected using back-office customization features.
Architecture overview
A commercetools InStore implementation consists of InStore components, a Composable Commerce Project, retailer-specified elements, and third-party integrations.
InStore components
InStore is made up of the following components:
- InStore colleague app: a composable, micro-frontend client that store colleagues can use to perform in-store processes. The InStore colleague app interacts with Composable Commerce and your chosen solutions by invoking:
- Core product modules: modules that handle payments, refunds, managing cash, and registering physical devices.
- Customizable accelerator modules: optional modules for frontend and integrations.
- Orchestration services: a backend for frontend (BFF) layer you manage that enables your integrations of choice to connect to the InStore colleague app.
- InStore APIs: the microservice tier through which the application fetches Carts prepared by Composable Commerce, manages payments and returns, and tracks session activity.
- InStore Center: a business-facing administration portal where your administrators configure global and location-specific settings. InStore Center also provides insights, metrics, and troubleshooting tools through its dashboard, transaction reporting, and cash audit functions.
Composable Commerce Project
You must have an existing Composable Commerce Project to manage the product catalog, create Carts for InStore consumption, handle payment information, and support other essential functions.
Retailer-specified elements
You must provide and host the following elements for your commercetools InStore implementation:
- Store application: the user interface that you provide at physical retail locations. This may be the InStore modular store or your own calling app.
- Backend for frontend (BFF) integration server: the communication layer that you build and host per commercetools instructions and according to your specifications.
- Webhooks: the delivery sites where you receive InStore outputs that are required by the commerce application. Webhooks extend your capability to run key InStore-adjacent programs such as Stored Value and Loyalty programs. This technology also makes it possible for you to use InStore with payment providers that are not currently integrated with InStore.
- Customizable modules: optionally, you can customize and host your own versions of the InStore customizable modules.
Third-party integrations
InStore is already integrated with some payment providers. For more information, contact your commercetools representative.
How commercetools InStore works
The InStore colleague app integrates with pin entry devices (PED), scanners, printer models, and major payment providers to help you manage the following tasks:
- Accept payments for in-store purchases and orders. This includes card-present credit and debit cards, digital wallets, vouchers and gift cards, payment on account, and cash.
- Accept returns and issue refunds based on business rules when handling receipted (retrieved), non-receipted, and mixed Carts.
- Control in-store cash (if accepted) with detailed counts, transfer tracking with reason codes, over/under reporting, printed bank deposit slips, and more.
- Manage physical devices with usage monitoring, search, remote activate/inactivate, and more.
During specific user tasks, your in-store commerce app calls the InStore colleague app at the appropriate moment.