# WhatsApp commerce

> Customers browse a store's products, order and pay without leaving WhatsApp; the store's own platform stays the source of truth.

Source: https://docs.nexafone.so/v1/commerce/

With commerce a store sells in WhatsApp: the customer opens the **Shop** from the chat menu, browses categories and
products, sends a cart, gives delivery details and pays with mobile money, all inside WhatsApp. The store manages the
order in the embedded Orders screen or from its own platform through the API, and the platform hears every step
through webhooks.

| Part | What happens | Guide |
| --- | --- | --- |
| Catalog sync | Your platform pushes products; Nexafon mirrors them into the store’s WhatsApp catalog | [Catalog sync](/v1/commerce/catalog/) |
| Shop menu | “Shop” in the chat menu opens categories, product lists, sales and the full catalog | [Shop menu](/v1/commerce/shop/) |
| Orders | A cart becomes an order priced by the server, with delivery, promotions and status updates | [Orders](/v1/commerce/orders/) |
| Payments | The customer pays with PayPoint inside the WhatsApp checkout; the money goes to the store | [PayPoint store payments](/v1/commerce/payments/) |

## What a store needs

- A plan with the commerce features: `commerce.catalog` (products), `commerce.orders` (orders) and
  `commerce.payments` (payments), and the `commerce.products.max` limit. Without them the operations answer
  `feature_not_in_plan`. Partners usually include them in their default store plan.
- A connected WhatsApp number (the catalog is attached to it).
- Keys or sessions with the permissions `commerce:view`/`commerce:manage`, `orders:view`/`orders:manage` and
  `payments:manage`.

Money is always integer **cents** in **USD**, and every price, discount and total is computed on Nexafon’s server
from the store’s data, never taken from a cart or a client.
