Pricing
How to configure pricing?
The pricing configuration resides in the be-payments application / directory pricing.yaml file.
Products and pricing is managed via the pricing.yaml and is version-controlled in git. You don't need to setup or preconfigure any products in the Stripe UI.
This configuration will power the pricing endpoint and the checkout endpoint.
The frontend counterpart is the Upgrade.vue component in the fe-dashboard/app/components/account directory.
There are three subscription tiers out-of-the-box. Free, Plus and Enterprise.
yaml
# Pricing configuration - source of truth for all subscription tiers
# This file defines allowed products and prices that can be created in Stripe
# The backend validates all checkout requests against this configuration
items:
- key: free
name: Free
currency: usd
unit_amount: 0
interval: month
description: Free tier
tier: free
tier_level: 0
- key: plus
name: Plus
currency: usd
unit_amount: 10
interval: month
description: Plus subscription - monthly billing
tier: plus
tier_level: 1
yearly_discount: 0.15
- key: enterprise
name: Enterprise
currency: usd
unit_amount: 20
interval: month
description: Enterprise subscription - monthly billing
tier: enterprise
tier_level: 2
seat_price: 20
# Valid upgrade paths - defines which tiers can upgrade to which
upgrade_paths:
free:
- plus
- enterprise
plus:
- enterprise
enterprise: []