Documentation ComusThumbz
Connexion Admin

Creator Subscription Packages

Overview

The Admin Creator Subscription Packages page manages the subscription package templates that creators can offer to their fans. These templates define the standard subscription tiers available platform-wide, ensuring consistency while allowing creators to enable/disable tiers for their profiles.

Key capabilities include:

  • Create and manage subscription package templates
  • Set dual pricing (USD and tokens)
  • Define benefits for each package tier
  • Control which packages creators can offer
  • Track usage statistics (how many creators offer each package)
  • Enable/disable packages without deletion
  • Reorder packages for display priority

 


System Requirements

PHP Requirements

Requirement Minimum Recommended
PHP Version 7.4+ 8.0+
Memory Limit 32M 64M

PHP Extensions Required

  • mysqli - Database connectivity
  • json - JSON encoding for benefits array
  • session - Session management for CSRF protection

PHP Settings

session.autostart = Off
date.timezone = Your/Timezone

Features & UI Elements

Page Header

[Screenshot: creator-packages-header]

The page header displays:

  • Title: "Creator Subscription Packages"
  • Icon: fa-user-star (user with star icon)
  • Breadcrumb: Dashboard / Billing / Creator Subscription Packages
  • Back to Access Packages link

 

Alert Messages

Success and error messages appear below the header:

  • Success (green): "Package created successfully", "Package updated successfully"
  • Error (red): "Invalid security token", "Package name is required"

 

Package Statistics

[Screenshot: creator-packages-stats]

Three statistics cards showing overview:

Card Color Icon Description
Total Packages Green fa-box All package templates
Active Packages Blue fa-check-circle Packages available to creators
Creators Using Purple fa-users Creators offering at least one package

Packages Table

[Screenshot: creator-packages-table]

The main packages display table:

Column Description
Order Display order (drag-to-reorder icon)
Name Package name with badge preview
Description Marketing description (truncated)
Price (USD) Dollar price per period
Price (Tokens) Token price per period
Duration Subscription period in days
Recurring Auto-renew indicator
Benefits Number of benefits listed
Creators Count of creators offering this package
Status Active/Inactive toggle
Actions Edit, Duplicate, Delete buttons

Badge Preview: Each package row shows the badge as it will appear:

  • Background color matching badgecolor
  • Icon from badgeicon
  • Package name text

Add/Edit Package Form

[Screenshot: creator-packages-form]

A form to create or edit package templates:

Basic Information:

Field Type Required Description
Package Name Text Yes Display name (e.g., "Gold", "VIP")
Description Textarea No Marketing description


Pricing:

Field Type Required Description
Price (USD) Number Yes Dollar amount per period
Price (Tokens) Number No Token amount (alternative payment)
Duration (days) Number Yes Subscription period length
Recurring Checkbox - Enable auto-renewal


Benefits:

Field Type Description
Benefits Dynamic List Add/remove benefit strings
Add Benefit Button Add new benefit line
Remove Button Remove specific benefit


Display Options:

Field Type Description
Badge Color Color Picker Hex color for badge display
Badge Icon Icon Selector Font Awesome icon class
Display Order Number Sort order (lower = first)
Active Checkbox Available for creators

Benefits Editor

 

[Screenshot: creator-packages-benefits]

The benefits section uses a dynamic list:

  • Each benefit is a single text input
  • "Add Benefit" button adds new empty input
  • Remove (X) button next to each benefit
  • Benefits stored as JSON array in database
  • Displayed as bullet points on creator profiles

 

Badge Preview

[Screenshot: creator-packages-badge-preview]

Live preview of the package badge:

  • Updates as you change color and icon
  • Shows how badge will appear on subscriptions
  • Helps ensure visual consistency

 


Step-by-Step Usage

Creating a New Package Template

  1. Navigate to Admin Panel → Billing → Creator Subscription Packages
  2. Click Add Package button
  3. Fill in the form:

Example Gold Package:

  • Package Name: "Gold"
  • Description: "Premium subscription with VIP perks"
  • Price (USD): 19.99
  • Price (Tokens): 200
  • Duration: 30
  • Recurring: Checked
  • Benefits:
  • "All Silver benefits"
  • "Custom content requests"
  • "Behind-the-scenes access"
  • "Exclusive live streams"
  • Badge Color: #FFD700 (gold)
  • Badge Icon: fa-crown
  • Display Order: 3
  • Active: Checked

 

  1. Click Save Package

 

Success: Package created successfully

 

Editing an Existing Package

  1. Find the package in the table
  2. Click the Edit button (pencil icon)
  3. Form populates with current values
  4. Make desired changes
  5. Click Update Package

 

Warning: Changing prices on existing packages does NOT affect current subscriptions. Changes apply only to new subscriptions.

 

Managing Benefits

Adding Benefits:

  1. In the package form, scroll to Benefits section
  2. Click Add Benefit
  3. Enter benefit text in new input
  4. Repeat for additional benefits

 

Removing Benefits:

  1. Find the benefit to remove
  2. Click the X button next to it
  3. Benefit is removed from the list

 

Ordering Benefits:

  • Benefits display in the order listed
  • Most important benefits should be first
  • Consider using "All [Lower Tier] benefits" for higher tiers

 

 

Tip: Keep benefits concise and actionable. Focus on what subscribers GET, not what they pay.

 

Setting Up Package Tiers

A typical tiered structure:

Tier Price Key Differentiator
Bronze $4.99 Basic access
Silver $9.99 Priority + bonus content
Gold $19.99 Custom requests + exclusives
Platinum $49.99 Personal engagement + calls

Best Practices:

  1. Maintain consistent price jumps (roughly 2x each tier)
  2. Each tier should include all lower tier benefits
  3. Higher tiers need tangible unique benefits
  4. Don't create too many tiers (3-4 is optimal)

Duplicating a Package

  1. Find the package to duplicate
  2. Click the Duplicate button (copy icon)
  3. Form opens with copied values
  4. Modify as needed (change name, price)
  5. Click Save Package

 

Note: Duplication is useful for creating seasonal variants or special promotional packages.

 

Deactivating a Package

  1. Find the package in the table
  2. Click the status toggle or Edit button
  3. Uncheck the Active checkbox
  4. Save changes

Effects of Deactivation:

  • Creators can no longer offer this package
  • Existing subscriptions continue until expiry
  • Package hidden from creator settings
  • Can be reactivated at any time

 

Deleting a Package

  1. Find the package in the table
  2. Click the Delete button (trash icon)
  3. Confirm the deletion

 

Warning: You cannot delete packages with active subscriptions. Deactivate instead and let subscriptions expire naturally.

 

Reordering Packages

  1. Note the Display Order column
  2. Edit each package to set desired order
  3. Lower numbers appear first
  4. Save each package after updating

Recommended Order:

  1. Lowest price tier first (entry point)
  2. Progress through to highest tier
  3. Featured/promoted tier can be highlighted separately

 


Best Practices

Pricing Strategy

 

Tip: Effective pricing maximizes both conversions and revenue:

 

Price Anchoring:

  • Show highest tier first (mentally anchors value)
  • Highlight middle tier as "Most Popular"
  • Lowest tier serves as entry point

 

Token Pricing:

  • Token price should offer slight discount vs USD
  • Encourages token purchases (pre-commitment)
  • Example: $9.99 = 100 tokens ($0.10/token = 10% savings)

 

Regional Considerations:

  • USD pricing for international reach
  • Token pricing helps normalize across currencies
  • Consider purchasing power differences

 

Benefit Structure

Tier 1 (Basic):

  • Content access
  • Basic interaction (likes, comments)
  • Subscriber recognition (badge)

 

Tier 2 (Standard):

  • All Tier 1 benefits
  • Priority features (early access, priority replies)
  • Bonus content (monthly extras)

 

Tier 3 (Premium):

  • All Tier 2 benefits
  • Personalization (custom content, requests)
  • Exclusive access (private content, streams)

 

Tier 4 (VIP):

  • All Tier 3 benefits
  • Personal engagement (video calls, direct access)
  • Physical perks (merch discounts, meet & greets)

 

Badge Design

Color Guidelines:

Tier Level Suggested Colors
Basic Bronze (#CD7F32), Green (#28a745)
Standard Silver (#C0C0C0), Blue (#007bff)
Premium Gold (#FFD700), Purple (#6f42c1)
VIP Platinum (#E5E4E2), Black (#212529)


Icon Selection:

  • Use progression: fa-medal → fa-award → fa-crown → fa-gem
  • Keep icons recognizable at small sizes
  • Solid icons work better than outline

 


Troubleshooting

Common Issues

Package Not Appearing for Creators

Cause: Package inactive or creator hasn't enabled it

Solutions:

Verify Active checkbox is checkedCheck tblCreatorOfferedPackages for creator's selectionsEnsure creator profile is verified

  1. Check displayorder isn't pushing it off-screen

 

Benefits Not Saving

Cause: JSON encoding issue or empty benefits

Solutions:

  1. Check for special characters in benefit text
  2. Remove empty benefit inputs before saving
  3. Verify benefits JSON in database:

 

SELECT packageid, benefits, JSONVALID(benefits) as valid

FROM tblCreatorSubscriptionPackages;

 

Badge Color Not Displaying

Cause: Invalid hex color format

Solutions:

  1. Ensure color includes # prefix (e.g., #FFD700)
  2. Use 6-digit hex format
  3. Clear browser cache
  4. Check CSS for conflicting styles

 

Cannot Delete Package

Cause: Package has active subscriptions

Solutions:

  1. Check for active subscriptions:

 

SELECT COUNT() FROM tblCreatorSubscriptions

WHERE packageid = ? AND status = 'active';

 

  1. Deactivate package instead of deleting
  2. Wait for subscriptions to expire naturally
  3. Or migrate subscriptions to different package first

 

Database Issues

Missing Packages in Dropdown

Cause: Package deleted or inactive

Solution:

-- Check all packages regardless of status

SELECT packageid, packagename, isactive

FROM tblCreatorSubscriptionPackages

ORDER BY displayorder;

 


-- Find orphaned references
SELECT cop.
FROM tblCreatorOfferedPackages cop
LEFT JOIN tblCreatorSubscriptionPackages csp
ON cop.package
id = csp.packageid
WHERE csp.package
id IS NULL;

 

Duplicate Package Names

Cause: No unique constraint on names

Solution:

-- Find duplicates

SELECT packagename, COUNT(*) as count

FROM tblCreatorSubscriptionPackages

GROUP BY packagename

HAVING count > 1;

 


-- Rename duplicates or merge

 


Security Considerations

CSRF Protection

All form submissions include CSRF token validation:

if ($POST['csrftoken'] !== $SESSION['admincsrftoken']) {

    die('Invalid security token');

}

 

Input Validation

  • Package names sanitized (HTML special chars)
  • Prices validated as positive decimals
  • Duration validated as positive integer
  • Benefits array validated before JSON encoding
  • Icon classes validated against allowed list

Price Manipulation Prevention

  • Prices stored server-side only
  • Frontend displays for reference
  • Backend validates all pricing calculations
  • Token/USD exchange rate centrally managed

Translatable Strings

{
    "creatorpackagestitle": "Creator Subscription Packages",
    "creatorpackagesbreadcrumb": "Dashboard / Billing / Creator Subscription Packages",
    "creatorpackagesback": "Back to Access Packages",
    "creatorpackagesstattotal": "Total Packages",
    "creatorpackagesstatactive": "Active Packages",
    "creatorpackagesstatcreators": "Creators Using",
    "creatorpackagesadd": "Add Package",
    "creatorpackagesedit": "Edit Package",
    "creatorpackagestableorder": "Order",
    "creatorpackagestablename": "Name",
    "creatorpackagestabledescription": "Description",
    "creatorpackagestablepriceusd": "Price (USD)",
    "creatorpackagestablepricetokens": "Price (Tokens)",
    "creatorpackagestableduration": "Duration",
    "creatorpackagestablerecurring": "Recurring",
    "creatorpackagestablebenefits": "Benefits",
    "creatorpackagestablecreators": "Creators",
    "creatorpackagestablestatus": "Status",
    "creatorpackagestableactions": "Actions",
    "creatorpackagesformname": "Package Name",
    "creatorpackagesformdescription": "Description",
    "creatorpackagesformpriceusd": "Price (USD)",
    "creatorpackagesformpricetokens": "Price (Tokens)",
    "creatorpackagesformduration": "Duration (days)",
    "creatorpackagesformrecurring": "Recurring (Auto-renew)",
    "creatorpackagesformbenefits": "Benefits",
    "creatorpackagesformaddbenefit": "Add Benefit",
    "creatorpackagesformremovebenefit": "Remove",
    "creatorpackagesformbadgecolor": "Badge Color",
    "creatorpackagesformbadgeicon": "Badge Icon",
    "creatorpackagesformdisplayorder": "Display Order",
    "creatorpackagesformactive": "Active",
    "creatorpackagesformsave": "Save Package",
    "creatorpackagesformupdate": "Update Package",
    "creatorpackagesformcancel": "Cancel",
    "creatorpackagesstatusactive": "Active",
    "creatorpackagesstatusinactive": "Inactive",
    "creatorpackagesduplicate": "Duplicate",
    "creatorpackagesdelete": "Delete",
    "creatorpackagesdeleteconfirm": "Are you sure you want to delete this package? This cannot be undone.",
    "creatorpackagesdeletehassubscriptions": "Cannot delete package with active subscriptions. Deactivate instead.",
    "creatorpackagescreatedsuccess": "Package created successfully",
    "creatorpackagesupdatedsuccess": "Package updated successfully",
    "creatorpackagesdeletedsuccess": "Package deleted successfully",
    "creatorpackagesduplicatedsuccess": "Package duplicated successfully",
    "creatorpackageserrorcsrf": "Invalid security token",
    "creatorpackageserrornotfound": "Package not found",
    "creatorpackageserrornamerequired": "Package name is required",
    "creatorpackageserrorpricerequired": "Price is required",
    "creatorpackagesnopackages": "No packages found",
    "creatorpackagesdays": "days",
    "creatorpackagesyes": "Yes",
    "creatorpackagesno": "No",
    "creatorpackagespreview": "Badge Preview"
}


Version History

Version Date Changes
1.0.0 2025-10-20 Initial creator subscription packages page
1.1.0 2025-11-01 Added benefits management
1.2.0 2025-11-15 Added badge customization
1.3.0 2025-12-01 Added usage statistics
1.4.0 2025-12-15 Modern UI with green theme
1.5.0 2025-01-02 Added token pricing, duplicate function