![]() 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/pdf-ai.com/private_html/app/Http/Controllers/User/ |
<?php
namespace App\Http\Controllers\User;
use App\Http\Controllers\Controller;
use Illuminate\Support\Str;
use App\Models\PaymentPlatform;
use App\Models\Setting;
use App\Models\SubscriptionPlan;
use App\Models\PrepaidPlan;
class PlanController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$monthly = SubscriptionPlan::where('status', 'active')->where('payment_frequency', 'monthly')->count();
$yearly = SubscriptionPlan::where('status', 'active')->where('payment_frequency', 'yearly')->count();
$prepaid = PrepaidPlan::where('status', 'active')->count();
$monthly_subscriptions = SubscriptionPlan::where('status', 'active')->where('payment_frequency', 'monthly')->get();
$yearly_subscriptions = SubscriptionPlan::where('status', 'active')->where('payment_frequency', 'yearly')->get();
$prepaids = PrepaidPlan::where('status', 'active')->get();
return view('user.plans.index', compact('monthly', 'yearly', 'monthly_subscriptions', 'yearly_subscriptions', 'prepaids', 'prepaid'));
}
/**
* Checkout for Subscription plans only.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function subscribe(SubscriptionPlan $id)
{
$payment_platforms = PaymentPlatform::where('subscriptions_enabled', 1)->get();
$tax_value = (config('payment.payment_tax') > 0) ? $tax = $id->price * config('payment.payment_tax') / 100 : 0;
$total_value = $tax_value + $id->price;
$currency = $id->currency;
$gateway_plan_id = $id->gateway_plan_id;
$bank_information = ['bank_instructions', 'bank_requisites'];
$bank = [];
$settings = Setting::all();
foreach ($settings as $row) {
if (in_array($row['name'], $bank_information)) {
$bank[$row['name']] = $row['value'];
}
}
$bank_order_id = 'BT-' . strtoupper(Str::random(10));
session()->put('bank_order_id', $bank_order_id);
return view('user.plans.subscribe-checkout', compact('id', 'payment_platforms', 'tax_value', 'total_value', 'currency', 'gateway_plan_id', 'bank', 'bank_order_id'));
}
/**
* Checkout for Prepaid plans only.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function checkout(PrepaidPlan $id)
{
$payment_platforms = PaymentPlatform::where('enabled', 1)->get();
$tax_value = (config('payment.payment_tax') > 0) ? $tax = $id->price * config('payment.payment_tax') / 100 : 0;
$total_value = $tax_value + $id->price;
$currency = $id->currency;
$bank_information = ['bank_instructions', 'bank_requisites'];
$bank = [];
$settings = Setting::all();
foreach ($settings as $row) {
if (in_array($row['name'], $bank_information)) {
$bank[$row['name']] = $row['value'];
}
}
$bank_order_id = 'BT-' . strtoupper(Str::random(10));
session()->put('bank_order_id', $bank_order_id);
return view('user.plans.prepaid-checkout', compact('id', 'payment_platforms', 'tax_value', 'total_value', 'currency', 'bank', 'bank_order_id'));
}
}