# Продажи

**Продаж в продукте ещё нет.** Ни продуктов, ни тарифов, ни заказов, ни приёма
платежей, ни возвратов, ни чеков. Это следующий крупный этап разработки.

Описывать их как работающие мы не будем: страница, описывающая несуществующее, —
это тот же дефект, что «функция объявлена, а вызова нет», только в документации,
где его не поймает тест.

## Что уже решено

Устройство спроектировано подробно, и решения на него уже приняты — они не изменятся
от того, что код ещё не написан:

- **Продукт ≠ тариф.** Продукт — то, что получает ученик. Тариф — условия продажи:
  набор продуктов, цена, срок доступа, правила. Один продукт продаётся несколькими
  тарифами, и это и есть тарифная сетка.
- **Заказ ≠ покупка.** Заказ — намерение и деньги. Покупка — факт выданного доступа.
  Заказ может быть оплачен, а доступ выдан позже или отозван.
- **Деньги — целые числа в копейках**, всегда парой с кодом валюты. Никаких дробных:
  у валют разный порядок, и число без кода валюты бессмысленно.
- **Состояние платежа берётся повторным запросом к провайдеру**, а не из тела
  уведомления: у ЮKassa подписи уведомлений нет вообще, и тело можно подделать.
- **Идемпотентность с обеих сторон.** Повтор уведомления не выдаёт доступ дважды,
  повтор запроса не создаёт второй платёж.

## Что делать сегодня

Доступ выдаётся руками — см. [Доступы](/guide/access/). Это не заглушка: тем же
путём переносят учеников с другой платформы.

Приём оплаты — на стороне вашего лендинга или платёжного сервиса, доступ после
оплаты выдаётся вручную или, когда появится API, автоматически.

## Где следить

Раздел [Обновления](/changelog/) — там будет сказано, когда это появится.
Спроектированный состав операций виден в [Проекте API](/api/reference/kommerciya/),
с той же пометкой: это замысел, а не работающий код.
