# Introduction

> Merx is a plugin for creating online shops with Kirby. Follow this guide step by step to learn how to create an online shop with Merx and Kirby.

Merx provides powerful PHP and REST-like **APIs** that help you build custom online shops. Take a look at the [Reference](https://merx2.wagnerwagner.de/reference.md), where all available classes, options, hooks, blueprints, and API routes are documented.

To receive payments from your customers, you may want to use a **payment provider**. Merx includes built-in support for [**Stripe**](https://merx2.wagnerwagner.de/guide/payment-gateways/stripe-elements.md) and [**PayPal**](https://merx2.wagnerwagner.de/guide/payment-gateways/paypal.md). You don’t have to use a third-party service, though. Merx can accept orders without automated payment processing, and then it’s up to you to make sure your customers transfer the money directly — via **bank transfer**, for example, which is common in B2B shops.


## Starterkit

If you are building an online shop from scratch, we recommend using the **[Starterkit template](https://github.com/wagnerwagner/merx-starterkit/tree/develop/v2)**.

The Starterkit is a complete online shop with commented blueprints, templates, JavaScript and CSS. It’s a good way to explore what Merx can do.

## Adding Merx to an existing Kirby website

Merx is also very well suited to add shop functionality to your existing Kirby website. Therefore you have to install Merx as a plugin in your Kirby site and transform your [product pages](https://merx2.wagnerwagner.de/guide/getting-started/adding-products.md), add the [checkout flow](https://merx2.wagnerwagner.de/guide/getting-started/create-checkout.md) and design the [order page](https://merx2.wagnerwagner.de/guide/getting-started/displaying-order.md).
