> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# Платежи и подписки

Stripe checkout, управление планами и граница энтайтлментов.

## Выберите и протестируйте свой платежный сервис

Биллинг обрабатывает платежи. Разрешения на доступ хранятся отдельно как права. Завершите настройку постоянной учетной записи, затем откройте /billing в работающем веб-приложении, чтобы увидеть интерфейс плана. С BILLING_PROVIDER=local вы изучаете поведение местных жителей, а не собираете реальные деньги.

Выберите одного поддерживаемого поставщика платежей, следуйте его руководству по настройке, создайте свой собственный тестовый продукт и цену и скопируйте настройки именованного сервера в apps/web/.env.local.. Сохраните и перезапустите веб-сервер. Выполните одну проверку, используя инструкции песочницы этого поставщика, а затем проверьте состояние доступа к рабочей области после прибытия веб-перехватчика поставщика. Вебхук — это подписанное сообщение провайдера на ваш сервер о платежном событии.

Страница успеха сама по себе не разблокирует функции. Если проверка завершена, но доступ остается неактивным, проверьте доставку вебхука провайдера и обработку событий вашего сервера, прежде чем повторять платеж. Отмена теста и просроченный доступ тоже. Для покупок по телефону используется отдельная настройка RevenueCat/магазин, а не эта онлайн-оформление заказа.

[Выберите адаптер биллинга и его настройки](https://supastack.dev/ru/docs/modules/billing-configuration.md)

[Установите свои продукты и цены](https://supastack.dev/ru/docs/web/project-structure.md)

[Настройте Stripe в тестовой среде](https://supastack.dev/ru/docs/web/setup-payments.md)


## Веб-биллинг

Веб-приложение поддерживает поставщика счетов, выбранного вами с помощью BILLING_PROVIDER; Полоса — один из вариантов. Откройте /billing для веб-планов и управления подписками. Следуйте инструкциям выбранного поставщика, чтобы установить его учетные данные только для сервера, идентификаторы продуктов или цен и параметры проверки веб-перехватчика в соответствующей тестовой или реальной среде.


## Авторизуйте через права доступа

Редирект на оплату — не доказательство активного доступа. Серверное право доступа решает, может ли воркспейс использовать платную возможность. Проверяйте это право на границе действия, даже когда интерфейс уже скрывает действие.


## Проверяйте жизненный цикл

Используйте события sandbox для проверки активации, обновлений, отмены и обработки вебхуков. Держите повторные события безопасными и обеспечьте, что неактивное право блокирует платные операции. Нативные мобильные покупки остаются отдельной границей интеграции RevenueCat.


## Настройка и конфигурация

Каталог планов живёт в src/product-plans.ts и управляет поверхностью /billing и шагом онбординга /choose-plan. Биллинг настраивается на сервере: BILLING_PROVIDER=stripe, STRIPE_SECRET_KEY, price id для каждого плана и интервала, STRIPE_WEBHOOK_SECRET. Lemon Squeezy доступен как альтернативный адаптер.

Тарифы с оплатой за места используют редактируемые счетчики мест (src/seat-count.ts): количество передается вместе с сессией оплаты, чтобы оплаченные места соответствовали рабочему пространству. Тарифы также могут объявлять meteredUsage в src/product-plans.ts, чтобы ежечасная задача billing.usage-report отправляла дельты usage_counter в счетчики биллинга Stripe, а владельцы рабочего пространства задают месячные бюджеты ИИ и жесткие лимиты по каждому счетчику в разделе Настройки → Использование (USAGE_METERS в src/usage-meters.ts).

```
Checkout: POST /api/billing/checkout
Portal:   POST /api/billing/portal
Webhook:  POST /api/billing/webhook  (signature-verified)
```


## Рабочий процесс внедрения

Редирект checkout — лишь отложенное намерение: доступ меняется, когда приходит подписанный webhook и обновляется серверный энтайтлмент. Ограничивайте платные действия проверкой энтайтлмента на серверной границе (entitlement-gate.tsx / entitlement-check.ts), даже если интерфейс их уже скрывает.

Клиентский портал управляет сменой плана, отменой и платёжными методами. Держите состояние подписки читаемым для участников пространства, а нативные мобильные покупки — за отдельной границей RevenueCat.


## Вперёд

[База данных и миграции](https://supastack.dev/ru/docs/web/database.md)
