Продукти та функції
Визначте, що ви продаєте. Створюйте продукти з одним або кількома варіантами, прикріплюйте функції багаторазового використання для контролю доступу на основі прав.
Proyecta Commerce використовує три концепції: продукти, варіанти та функції.
- Продукт — те, що ви продаєте (наприклад, «Pro Plan», «Футболка», «Стратегічна консультація»)
- Варіант — ціновий рівень або конфігурація продукту (наприклад, «Pro Monthly $29», «Pro Annual $290», «Футболка — великий розмір»)
- Функція — ключ права доступу багаторазового використання, який ваш застосунок перевіряє під час виконання (наприклад,
pro_features,unlimited_projects,api_access)
Продукт може мати кілька варіантів. До продукту також прикріплено один або кілька ресурсів — зазвичай функції, — що надають доступ після оформлення підписки клієнтом.
Два способи змоделювати те, що ви продаєте
Section titled “Два способи змоделювати те, що ви продаєте”Commerce інтегрується з рештою платформи, тому «річ, яку ви продаєте», може мати дві форми — і Proyecta автоматично обирає правильну:
- Commerce-native продукти — підписки, плани, разові апгрейди та функції/права доступу. Визначаються безпосередньо у Admin > Commerce > Products. Саме цю модель описує решта цієї сторінки.
- Каталог вітрини на основі контенту — товари з фото, цінами та описами, які власник бізнесу редагує щодня. Вони зберігаються в CMS як sellable collection: кожен запис є продуктом. Коли запис публікується, Proyecta автоматично інтегрує його в Commerce як реальний продукт, доступний для купівлі, — створює продукт і його ціновий варіант, копіюючи ціну безпосередньо з поля контенту. Вітрина відображає ціну з контенту, а checkout списує кошти через пов’язаний варіант; оскільки вони спільно використовують одне джерело, розбіжності між ними неможливі. Ви керуєте цими позиціями як контентом (у Admin вашого застосунку, в builder або на опублікованому сайті), а не через Commerce > Products. Дивіться Управління контентом.
Звичайний каталог, який не приймає платежі карткою, — меню лише для перегляду або магазин, де кнопка «купити» відкриває посилання на замовлення у WhatsApp, — є просто звичайним контентом: звичайна колекція каталогу без Commerce-інтеграції. Саме оплата карткою робить колекцію доступною для продажу.
Створення продукту
Section titled “Створення продукту”У розділі Admin > Commerce > Products натисніть Create product (або запитайте AI: "Create a Pro plan at $29/month and a Business plan at $99/month."). Кожен продукт потребує:
- Назви для відображення (наприклад, «Pro»)
- Принаймні одного варіанту
Варіанти
Section titled “Варіанти”Кожен варіант має власні налаштування ціни:
| Поле | Примітки |
|---|---|
name |
Відображувана назва варіанту («Monthly», «Annual», «Large») |
currency |
Тризначний код ISO — USD, EUR, GBP, JPY, BRL, MXN, INR… (підтримується 130+) |
unit_amount |
Ціна в найменших одиницях валюти (центи). 2900 = $29.00 |
recurring |
Необов’язково — { interval: 'week' | 'month' | 'year' }. Пропустіть для разових цін. Щоденне виставлення рахунків наразі не підтримується. |
is_default |
Приймається, але ще не застосовується — вибір варіанту за замовчуванням наразі не реалізовано. |
media |
Прикріпіть зображення або відео за ідентифікатором CDN-файлу (дивіться Файли) |
Ціни незмінні. Після створення варіанту його ціну не можна змінити — натомість створіть новий варіант. Це захищає наявних підписників від випадкових змін цін.
Функції (права доступу)
Section titled “Функції (права доступу)”Функції — це базовий механізм контролю доступу. Створіть функцію один раз у Admin > Commerce > Products, а потім прикріпіть її до одного або кількох продуктів. Кожна функція має назву, необов’язковий опис і ключ — малі літери, цифри та підкреслення (наприклад, pro_features), — саме цей ключ перевіряє ваш застосунок.
Коли ви створюєте продукт, ви прикріплюєте до нього функції через «ресурси». Клієнти, які оформляють підписку на продукт, отримують доступ до всіх прикріплених до нього функцій.
Далі в коді вашого застосунку перевіряйте доступ за цим ключем:
const { hasAccess, isLoading } = useEntitlement('pro_features');
if (isLoading) return <Spinner />;if (!hasAccess) return <UpgradePrompt />;return <ProOnlyThing />;Перевірка виконується на сервері відносно підписаної сесії, тому її неможливо підробити з браузера. Повний приклад дивіться у розділі Інтеграція Commerce у мій застосунок.
Примітка: Завжди перевіряйте доступ за ключем функції — slug, похідний від назви функції (наприклад,
pro_features), — а не за внутрішнім ідентифікатором функції.
Саме так ви обмежуєте доступ до Pro-сторінок, API endpoints або функцій у коді вашого застосунку.
Типові форми продуктів
Section titled “Типові форми продуктів”SaaS-підписки
Create products: Free ($0/month), Pro ($29/month, $290/year), Business ($99/month, $990/year).Attach a 'pro_features' feature to Pro and Business so I can gate access in my code.Фізичні товари
Create a T-shirt product with three variants: Small, Medium, Large at $25 each.Цифрові товари
Create a course product with a single one-time variant at $149.Донати
Create a donation product with three variants: $25, $50, $100 — all one-time.Інвентар
Section titled “Інвентар”Proyecta Commerce наразі не відстежує інвентар для фізичних продуктів. Якщо ви продаєте товари зі складу, зберігайте кількість запасів у базі даних вашого застосунку та перевіряйте їх у процесі checkout.
Незабаром
Section titled “Незабаром”- Налаштування полів checkout — збір додаткової інформації від покупців
- Ціноутворення «платіть скільки хочете»
- Вбудоване відстеження інвентарю для фізичних продуктів