T.ME/BIBIL_0DAY
CasperSecurity


Server : Apache/2
System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64
User : gositeme ( 1004)
PHP Version : 8.2.29
Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Directory :  /home/gositeme/domains/soundstudiopro.com/public_html/config/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/gositeme/domains/soundstudiopro.com/public_html/config/event_pricing.php
<?php
/**
 * Event Ticket Pricing Configuration
 * Competitive with Eventbrite's pricing model
 * 
 * Eventbrite charges:
 * - Service fee: 3.7% + $1.79 per ticket
 * - Payment processing: 2.9% per order
 * - Total: ~6.6% + $1.79 per ticket
 * 
 * Our competitive pricing:
 * - Free plan: 2.5% + $0.99 per ticket (better than Eventbrite)
 * - Pro plan: 2.0% + $0.99 per ticket (even better)
 * - Enterprise: 1.5% + $0.99 per ticket (best rate)
 */

// Define config array
$event_pricing_config = [
    // Fee structure: [percentage, fixed_fee_per_ticket]
    'pricing_tiers' => [
        'free' => [
            'name' => 'Free Plan',
            'service_fee_percentage' => 2.5,  // 2.5% (vs Eventbrite's 3.7%)
            'fixed_fee_per_ticket' => 0.99,    // $0.99 (vs Eventbrite's $1.79)
            'payment_processing_percentage' => 2.9, // Stripe's standard rate
            'description' => 'Best value - lower fees than Eventbrite'
        ],
        'starter' => [
            'name' => 'Starter Plan',
            'service_fee_percentage' => 2.2,
            'fixed_fee_per_ticket' => 0.99,
            'payment_processing_percentage' => 2.9,
            'description' => 'Reduced fees for Starter members'
        ],
        'pro' => [
            'name' => 'Pro Plan',
            'service_fee_percentage' => 2.0,   // 2.0% (vs Eventbrite's 3.7%)
            'fixed_fee_per_ticket' => 0.99,
            'payment_processing_percentage' => 2.9,
            'description' => 'Even lower fees for Pro members'
        ],
        'premium' => [
            'name' => 'Premium Plan',
            'service_fee_percentage' => 1.8,
            'fixed_fee_per_ticket' => 0.99,
            'payment_processing_percentage' => 2.9,
            'description' => 'Premium rates for Premium members'
        ],
        'enterprise' => [
            'name' => 'Enterprise Plan',
            'service_fee_percentage' => 1.5,   // Best rate
            'fixed_fee_per_ticket' => 0.99,
            'payment_processing_percentage' => 2.9,
            'description' => 'Lowest fees for Enterprise members'
        ]
    ],
    
    // Free events have no fees
    'free_event_fee' => [
        'service_fee_percentage' => 0,
        'fixed_fee_per_ticket' => 0,
        'payment_processing_percentage' => 0
    ],
    
    // Fee payment options
    'fee_payment_options' => [
        'attendee_pays' => [
            'name' => 'Attendee Pays Fees',
            'description' => 'Fees are added to ticket price (default)',
            'default' => true
        ],
        'organizer_absorbs' => [
            'name' => 'Organizer Absorbs Fees',
            'description' => 'Fees are deducted from ticket revenue',
            'default' => false
        ]
    ],
    
    // Minimum ticket price (to cover fees)
    'minimum_ticket_price' => 1.00,
    
    // Comparison with Eventbrite
    'eventbrite_comparison' => [
        'eventbrite_service_fee' => 3.7,
        'eventbrite_fixed_fee' => 1.79,
        'eventbrite_payment_processing' => 2.9,
        'our_advantage' => 'Lower service fees and fixed fees on all plans'
    ]
];

/**
 * Get the pricing config (used internally by functions)
 */
function getEventPricingConfig() {
    static $config = null;
    if ($config === null) {
        // Get config from global scope (set when file is included)
        global $event_pricing_config;
        if (isset($event_pricing_config)) {
            $config = $event_pricing_config;
        } else {
            // Fallback: load it directly
            $config = require __DIR__ . '/event_pricing.php';
        }
    }
    return $config;
}

/**
 * Calculate fees for a ticket sale
 * 
 * @param float $ticket_price The ticket price
 * @param string $user_plan User's subscription plan (free, starter, pro, etc.)
 * @param bool $is_free_event Whether this is a free event
 * @param bool $organizer_absorbs Whether organizer absorbs fees (vs attendee pays)
 * @return array ['service_fee', 'payment_processing_fee', 'total_fees', 'organizer_receives']
 */
function calculateEventTicketFees($ticket_price, $user_plan = 'free', $is_free_event = false, $organizer_absorbs = false) {
    $config = getEventPricingConfig();
    
    // Free events have no fees
    if ($is_free_event || $ticket_price == 0) {
        return [
            'service_fee' => 0,
            'payment_processing_fee' => 0,
            'total_fees' => 0,
            'organizer_receives' => 0,
            'attendee_pays' => 0
        ];
    }
    
    // Get pricing tier
    $plan = strtolower($user_plan ?? 'free');
    if (!isset($config['pricing_tiers'][$plan])) {
        $plan = 'free'; // Default to free plan
    }
    
    $tier = $config['pricing_tiers'][$plan];
    
    // Calculate service fee (percentage + fixed)
    $service_fee = ($ticket_price * ($tier['service_fee_percentage'] / 100)) + $tier['fixed_fee_per_ticket'];
    
    // Calculate payment processing fee
    $payment_processing_fee = $ticket_price * ($tier['payment_processing_percentage'] / 100);
    
    // Total fees
    $total_fees = $service_fee + $payment_processing_fee;
    
    if ($organizer_absorbs) {
        // Organizer absorbs fees - they receive less
        $organizer_receives = $ticket_price - $total_fees;
        $attendee_pays = $ticket_price;
    } else {
        // Attendee pays fees - they pay more, organizer gets full ticket price
        $organizer_receives = $ticket_price;
        $attendee_pays = $ticket_price + $total_fees;
    }
    
    return [
        'service_fee' => round($service_fee, 2),
        'payment_processing_fee' => round($payment_processing_fee, 2),
        'total_fees' => round($total_fees, 2),
        'organizer_receives' => round($organizer_receives, 2),
        'attendee_pays' => round($attendee_pays, 2),
        'fee_breakdown' => [
            'service_fee_percentage' => $tier['service_fee_percentage'],
            'fixed_fee' => $tier['fixed_fee_per_ticket'],
            'payment_processing_percentage' => $tier['payment_processing_percentage']
        ]
    ];
}

/**
 * Get pricing tier for a user plan
 */
function getEventPricingTier($user_plan = 'free') {
    $config = getEventPricingConfig();
    $plan = strtolower($user_plan ?? 'free');
    
    if (!isset($config['pricing_tiers'][$plan])) {
        $plan = 'free';
    }
    
    return $config['pricing_tiers'][$plan];
}

// Return config for direct require usage
return $event_pricing_config;

CasperSecurity Mini