InStore 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.
  • Provide a frontend experience for in-store colleagues and customers, and deliver transaction and payment information to Composable Commerce, payment providers, and receipts.
InStore provides these capabilities through a number of InStore components and secure Composable Commerce APIs. Additionally, InStore includes a browser-based user interface (InStore Center that your administrators can use to set up and control your organizational structure and business rules.

A commercetools InStore implementation consists of:

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. Using the InStore colleague app is optional, you can also integrate InStore functionality into your own retail application. The InStore colleague app interacts with Composable Commerce and your chosen solutions by invoking:
    • Core product modules: modules that provide the core InStore functionality to handle payments, refunds, manage cash, and register physical devices.
    • Customizable modules: optional modules for frontend and integrations.
    • Integration server: a backend for frontend (BFF) layer that you host and manage that enables your integrations of choice to connect to the InStore colleague app.
  • InStore APIs: the microservice tier through which the InStore 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. Certain functionalities of the InStore colleague app can be turned on, turned off, or customized by setting administration parameters in the InStore Center. Additionally, the InStore Center 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-hosted components

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 colleague app, components of the InStore modular store that run within your application, or your own application that uses only the InStore_Core module.
  • Integration server: the backend for frontend (BFF) communication layer that you build and host per commercetools instructions and according to your specifications. We provide a sample server you can use as a template for building your own.
  • Webhooks: delivery sites where you receive InStore outputs that are required by the in-store application. Webhooks enable adjacent capabilities such as stored value and loyalty programs and allow you to integrate additional payment providers not yet 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 information about implementing additional third-party integrations, contact the InStore support team.

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 colleague application (which can be the InStore colleague app or your own colleague app) calls the InStore core module at the appropriate moment.