Quick Start Guide
This guide will help you set up your first subscription plan and start accepting payments in under 10 minutes.
Step 1: Create Your First Module
Go to Wagtail Admin → Subscriptions → Modules
Click “Add Module”
Fill in:
Name: “Core Features”
Slug: “core-features”
Description: “Essential features for all users”
Click Save
Step 2: Create Features
Go to Subscriptions → Features
Click “Add Feature” and create:
Basic Feature
Module: Core Features
Name: “Basic Support”
Slug: “basic-support”
Type: Binary (On/Off)
Quota Feature
Module: Core Features
Name: “API Calls”
Slug: “api-calls”
Type: Quota (Usage Limit)
Default Quota: 1000
Quota Unit: “calls/month”
Step 3: Create Subscription Plans
Go to Subscriptions → Plans
Create your plans:
Free Plan
Name: “Free”
Slug: “free”
Price: 0.00
Billing Period: Monthly
Trial Period: 0 days
Pro Plan
Name: “Professional”
Slug: “professional”
Price: 29.99
Billing Period: Monthly
Trial Period: 14 days
Step 4: Associate Features with Plans
Go to Subscriptions → Plan Features
For each plan, click “Manage Features”
Add features and set quotas:
Free Plan Features
✅ Basic Support (included)
✅ API Calls (quota: 100)
Pro Plan Features
✅ Basic Support (included)
✅ API Calls (quota: 10000)
Step 5: Configure Payment Processor
Go to Subscriptions → Settings
Follow the Stripe setup guide:
Create Stripe account
Get API keys
Add webhook endpoint
Update Django settings
Step 6: Add Pricing to Your Site
Add to your template:
{% load subscription_tags %}
<div class="pricing-section">
{% price_table %}
</div>
Step 7: Test the Flow
Visit
/subscriptions/pricing/Click “Start Free Trial” or “Get Started”
Complete the subscription process
Check the admin for new customers and subscriptions
Protecting Content
In Views
from wagtail_subscriptions.permissions.decorators import feature_required
@feature_required('api-calls')
def api_view(request):
return JsonResponse({'message': 'API access granted'})
In Templates
{% if request.user.subscriptions.first.has_feature_access:'api-calls' %}
<a href="/api/">Access API</a>
{% else %}
<a href="/subscriptions/pricing/">Upgrade to access API</a>
{% endif %}
What’s Next?
Troubleshooting
Common Issues
“No module named ‘wagtail_subscriptions’”
Make sure you’ve added it to
INSTALLED_APPSRun
pip install wagtail-subscriptions
“Table doesn’t exist” errors
Run
python manage.py migrate
Payment processor not working
Check your API keys in settings
Verify webhook endpoints
Check the Settings page in admin
Need help? Check our FAQ or open an issue.