!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/qr.picotech.app/public_html_v3_3/backup/vendor/mollie/mollie-api-php/src/   drwxr-xr-x
Free 25.79 GB of 117.98 GB (21.86%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace Mollie\Api;

use 
Composer\CaBundle\CaBundle;
use 
GuzzleHttp\Client;
use 
GuzzleHttp\ClientInterface;
use 
GuzzleHttp\Exception\GuzzleException;
use 
GuzzleHttp\HandlerStack;
use 
GuzzleHttp\Psr7\Request;
use 
GuzzleHttp\RequestOptions as GuzzleRequestOptions;
use 
Mollie\Api\Endpoints\ChargebackEndpoint;
use 
Mollie\Api\Endpoints\CustomerEndpoint;
use 
Mollie\Api\Endpoints\CustomerPaymentsEndpoint;
use 
Mollie\Api\Endpoints\InvoiceEndpoint;
use 
Mollie\Api\Endpoints\MandateEndpoint;
use 
Mollie\Api\Endpoints\MethodEndpoint;
use 
Mollie\Api\Endpoints\OnboardingEndpoint;
use 
Mollie\Api\Endpoints\OrderEndpoint;
use 
Mollie\Api\Endpoints\OrderLineEndpoint;
use 
Mollie\Api\Endpoints\OrderPaymentEndpoint;
use 
Mollie\Api\Endpoints\OrderRefundEndpoint;
use 
Mollie\Api\Endpoints\OrganizationEndpoint;
use 
Mollie\Api\Endpoints\PaymentCaptureEndpoint;
use 
Mollie\Api\Endpoints\PaymentChargebackEndpoint;
use 
Mollie\Api\Endpoints\PaymentEndpoint;
use 
Mollie\Api\Endpoints\PaymentRefundEndpoint;
use 
Mollie\Api\Endpoints\PermissionEndpoint;
use 
Mollie\Api\Endpoints\ProfileEndpoint;
use 
Mollie\Api\Endpoints\ProfileMethodEndpoint;
use 
Mollie\Api\Endpoints\RefundEndpoint;
use 
Mollie\Api\Endpoints\SettlementPaymentEndpoint;
use 
Mollie\Api\Endpoints\SettlementsEndpoint;
use 
Mollie\Api\Endpoints\ShipmentEndpoint;
use 
Mollie\Api\Endpoints\SubscriptionEndpoint;
use 
Mollie\Api\Endpoints\WalletEndpoint;
use 
Mollie\Api\Exceptions\ApiException;
use 
Mollie\Api\Exceptions\IncompatiblePlatform;
use 
Mollie\Api\Guzzle\RetryMiddlewareFactory;
use 
Psr\Http\Message\ResponseInterface;
use 
Psr\Http\Message\StreamInterface;

class 
MollieApiClient
{
    
/**
     * Version of our client.
     */
    
const CLIENT_VERSION "2.29.0";

    
/**
     * Endpoint of the remote API.
     */
    
const API_ENDPOINT "https://api.mollie.com";

    
/**
     * Version of the remote API.
     */
    
const API_VERSION "v2";

    
/**
     * HTTP Methods
     */
    
const HTTP_GET "GET";
    const 
HTTP_POST "POST";
    const 
HTTP_DELETE "DELETE";
    const 
HTTP_PATCH "PATCH";

    
/**
     * HTTP status codes
     */
    
const HTTP_NO_CONTENT 204;

    
/**
     * Default response timeout (in seconds).
     */
    
const TIMEOUT 10;

    
/**
     * Default connect timeout (in seconds).
     */
    
const CONNECT_TIMEOUT 2;

    
/**
     * @var ClientInterface
     */
    
protected $httpClient;

    
/**
     * @var string
     */
    
protected $apiEndpoint self::API_ENDPOINT;

    
/**
     * RESTful Payments resource.
     *
     * @var PaymentEndpoint
     */
    
public $payments;

    
/**
     * RESTful Methods resource.
     *
     * @var MethodEndpoint
     */
    
public $methods;

    
/**
     * @var ProfileMethodEndpoint
     */
    
public $profileMethods;

    
/**
     * RESTful Customers resource.
     *
     * @var CustomerEndpoint
     */
    
public $customers;

    
/**
     * RESTful Customer payments resource.
     *
     * @var CustomerPaymentsEndpoint
     */
    
public $customerPayments;

    
/**
     * RESTful Settlement resource.
     *
     * @var SettlementsEndpoint
     */
    
public $settlements;

    
/**
     * RESTful Settlement payment resource.
     *
     * @var \Mollie\Api\Endpoints\SettlementPaymentEndpoint
     */
    
public $settlementPayments;

    
/**
     * RESTful Subscription resource.
     *
     * @var SubscriptionEndpoint
     */
    
public $subscriptions;

    
/**
     * RESTful Mandate resource.
     *
     * @var MandateEndpoint
     */
    
public $mandates;

    
/**
     * @var ProfileEndpoint
     */
    
public $profiles;

    
/**
     * RESTful Organization resource.
     *
     * @var OrganizationEndpoint
     */
    
public $organizations;

    
/**
     * RESTful Permission resource.
     *
     * @var PermissionEndpoint
     */
    
public $permissions;

    
/**
     * RESTful Invoice resource.
     *
     * @var InvoiceEndpoint
     */
    
public $invoices;

    
/**
     * RESTful Onboarding resource.
     *
     * @var OnboardingEndpoint
     */
    
public $onboarding;

    
/**
     * RESTful Order resource.
     *
     * @var OrderEndpoint
     */
    
public $orders;

    
/**
     * RESTful OrderLine resource.
     *
     * @var OrderLineEndpoint
     */
    
public $orderLines;

    
/**
     * RESTful OrderPayment resource.
     *
     * @var OrderPaymentEndpoint
     */
    
public $orderPayments;

    
/**
     * RESTful Shipment resource.
     *
     * @var ShipmentEndpoint
     */
    
public $shipments;

    
/**
     * RESTful Refunds resource.
     *
     * @var RefundEndpoint
     */
    
public $refunds;

    
/**
     * RESTful Payment Refunds resource.
     *
     * @var PaymentRefundEndpoint
     */
    
public $paymentRefunds;

    
/**
     * RESTful Payment Captures resource.
     *
     * @var PaymentCaptureEndpoint
     */
    
public $paymentCaptures;

    
/**
     * RESTful Chargebacks resource.
     *
     * @var ChargebackEndpoint
     */
    
public $chargebacks;

    
/**
     * RESTful Payment Chargebacks resource.
     *
     * @var PaymentChargebackEndpoint
     */
    
public $paymentChargebacks;

    
/**
     * RESTful Order Refunds resource.
     *
     * @var OrderRefundEndpoint
     */
    
public $orderRefunds;

    
/**
     * Manages Wallet requests
     *
     * @var WalletEndpoint
     */
    
public $wallets;

    
/**
     * @var string
     */
    
protected $apiKey;

    
/**
     * True if an OAuth access token is set as API key.
     *
     * @var bool
     */
    
protected $oauthAccess;

    
/**
     * @var array
     */
    
protected $versionStrings = [];

    
/**
     * @var int
     */
    
protected $lastHttpResponseStatusCode;

    
/**
     * @param ClientInterface $httpClient
     *
     * @throws IncompatiblePlatform
     */
    
public function __construct(ClientInterface $httpClient null)
    {
        
$this->httpClient $httpClient;

        if (! 
$this->httpClient) {
            
$retryMiddlewareFactory = new RetryMiddlewareFactory;
            
$handlerStack HandlerStack::create();
            
$handlerStack->push($retryMiddlewareFactory->retry());

            
$this->httpClient = new Client([
                
GuzzleRequestOptions::VERIFY => CaBundle::getBundledCaBundlePath(),
                
GuzzleRequestOptions::TIMEOUT => self::TIMEOUT,
                
GuzzleRequestOptions::CONNECT_TIMEOUT => self::CONNECT_TIMEOUT,
                
'handler' => $handlerStack,
            ]);
        }

        
$compatibilityChecker = new CompatibilityChecker();
        
$compatibilityChecker->checkCompatibility();

        
$this->initializeEndpoints();

        
$this->addVersionString("Mollie/" self::CLIENT_VERSION);
        
$this->addVersionString("PHP/" phpversion());

        if (
defined('\GuzzleHttp\ClientInterface::MAJOR_VERSION')) { // Guzzle 7
            
$this->addVersionString("Guzzle/" ClientInterface::MAJOR_VERSION);
        } elseif (
defined('\GuzzleHttp\ClientInterface::VERSION')) { // Before Guzzle 7
            
$this->addVersionString("Guzzle/" ClientInterface::VERSION);
        }
    }

    public function 
initializeEndpoints()
    {
        
$this->payments = new PaymentEndpoint($this);
        
$this->methods = new MethodEndpoint($this);
        
$this->profileMethods = new ProfileMethodEndpoint($this);
        
$this->customers = new CustomerEndpoint($this);
        
$this->settlements = new SettlementsEndpoint($this);
        
$this->settlementPayments = new SettlementPaymentEndpoint($this);
        
$this->subscriptions = new SubscriptionEndpoint($this);
        
$this->customerPayments = new CustomerPaymentsEndpoint($this);
        
$this->mandates = new MandateEndpoint($this);
        
$this->invoices = new InvoiceEndpoint($this);
        
$this->permissions = new PermissionEndpoint($this);
        
$this->profiles = new ProfileEndpoint($this);
        
$this->onboarding = new OnboardingEndpoint($this);
        
$this->organizations = new OrganizationEndpoint($this);
        
$this->orders = new OrderEndpoint($this);
        
$this->orderLines = new OrderLineEndpoint($this);
        
$this->orderPayments = new OrderPaymentEndpoint($this);
        
$this->orderRefunds = new OrderRefundEndpoint($this);
        
$this->shipments = new ShipmentEndpoint($this);
        
$this->refunds = new RefundEndpoint($this);
        
$this->paymentRefunds = new PaymentRefundEndpoint($this);
        
$this->paymentCaptures = new PaymentCaptureEndpoint($this);
        
$this->chargebacks = new ChargebackEndpoint($this);
        
$this->paymentChargebacks = new PaymentChargebackEndpoint($this);
        
$this->wallets = new WalletEndpoint($this);
    }

    
/**
     * @param string $url
     *
     * @return MollieApiClient
     */
    
public function setApiEndpoint($url)
    {
        
$this->apiEndpoint rtrim(trim($url), '/');

        return 
$this;
    }

    
/**
     * @return string
     */
    
public function getApiEndpoint()
    {
        return 
$this->apiEndpoint;
    }

    
/**
     * @param string $apiKey The Mollie API key, starting with 'test_' or 'live_'
     *
     * @return MollieApiClient
     * @throws ApiException
     */
    
public function setApiKey($apiKey)
    {
        
$apiKey trim($apiKey);

        if (! 
preg_match('/^(live|test)_\w{30,}$/'$apiKey)) {
            throw new 
ApiException("Invalid API key: '{$apiKey}'. An API key must start with 'test_' or 'live_' and must be at least 30 characters long.");
        }

        
$this->apiKey $apiKey;
        
$this->oauthAccess false;

        return 
$this;
    }

    
/**
     * @param string $accessToken OAuth access token, starting with 'access_'
     *
     * @return MollieApiClient
     * @throws ApiException
     */
    
public function setAccessToken($accessToken)
    {
        
$accessToken trim($accessToken);

        if (! 
preg_match('/^access_\w+$/'$accessToken)) {
            throw new 
ApiException("Invalid OAuth access token: '{$accessToken}'. An access token must start with 'access_'.");
        }

        
$this->apiKey $accessToken;
        
$this->oauthAccess true;

        return 
$this;
    }

    
/**
     * Returns null if no API key has been set yet.
     *
     * @return bool|null
     */
    
public function usesOAuth()
    {
        return 
$this->oauthAccess;
    }

    
/**
     * @param string $versionString
     *
     * @return MollieApiClient
     */
    
public function addVersionString($versionString)
    {
        
$this->versionStrings[] = str_replace([" ""\t""\n""\r"], '-'$versionString);

        return 
$this;
    }

    
/**
     * Perform an http call. This method is used by the resource specific classes. Please use the $payments property to
     * perform operations on payments.
     *
     * @param string $httpMethod
     * @param string $apiMethod
     * @param string|null|resource|StreamInterface $httpBody
     *
     * @return \stdClass
     * @throws ApiException
     *
     * @codeCoverageIgnore
     */
    
public function performHttpCall($httpMethod$apiMethod$httpBody null)
    {
        
$url $this->apiEndpoint "/" self::API_VERSION "/" $apiMethod;

        return 
$this->performHttpCallToFullUrl($httpMethod$url$httpBody);
    }

    
/**
     * Perform an http call to a full url. This method is used by the resource specific classes.
     *
     * @see $payments
     * @see $isuers
     *
     * @param string $httpMethod
     * @param string $url
     * @param string|null|resource|StreamInterface $httpBody
     *
     * @return \stdClass|null
     * @throws ApiException
     *
     * @codeCoverageIgnore
     */
    
public function performHttpCallToFullUrl($httpMethod$url$httpBody null)
    {
        if (empty(
$this->apiKey)) {
            throw new 
ApiException("You have not set an API key or OAuth access token. Please use setApiKey() to set the API key.");
        }

        
$userAgent implode(' '$this->versionStrings);

        if (
$this->usesOAuth()) {
            
$userAgent .= " OAuth/2.0";
        }

        
$headers = [
            
'Accept' => "application/json",
            
'Authorization' => "Bearer {$this->apiKey}",
            
'User-Agent' => $userAgent,
        ];

        if (
function_exists("php_uname")) {
            
$headers['X-Mollie-Client-Info'] = php_uname();
        }

        
$request = new Request($httpMethod$url$headers$httpBody);

        try {
            
$response $this->httpClient->send($request, ['http_errors' => false]);
        } catch (
GuzzleException $e) {
            throw 
ApiException::createFromGuzzleException($e$request);
        }

        if (! 
$response) {
            throw new 
ApiException("Did not receive API response."0null$request);
        }

        return 
$this->parseResponseBody($response);
    }

    
/**
     * Parse the PSR-7 Response body
     *
     * @param ResponseInterface $response
     * @return \stdClass|null
     * @throws ApiException
     */
    
private function parseResponseBody(ResponseInterface $response)
    {
        
$body = (string) $response->getBody();
        if (empty(
$body)) {
            if (
$response->getStatusCode() === self::HTTP_NO_CONTENT) {
                return 
null;
            }

            throw new 
ApiException("No response body found.");
        }

        
$object = @json_decode($body);

        if (
json_last_error() !== JSON_ERROR_NONE) {
            throw new 
ApiException("Unable to decode Mollie response: '{$body}'.");
        }

        if (
$response->getStatusCode() >= 400) {
            throw 
ApiException::createFromResponse($responsenull);
        }

        return 
$object;
    }

    
/**
     * Serialization can be used for caching. Of course doing so can be dangerous but some like to live dangerously.
     *
     * \serialize() should be called on the collections or object you want to cache.
     *
     * We don't need any property that can be set by the constructor, only properties that are set by setters.
     *
     * Note that the API key is not serialized, so you need to set the key again after unserializing if you want to do
     * more API calls.
     *
     * @deprecated
     * @return string[]
     */
    
public function __sleep()
    {
        return [
"apiEndpoint"];
    }

    
/**
     * When unserializing a collection or a resource, this class should restore itself.
     *
     * Note that if you use a custom GuzzleClient, this client is lost. You can't re set the Client, so you should
     * probably not use this feature.
     *
     * @throws IncompatiblePlatform If suddenly unserialized on an incompatible platform.
     */
    
public function __wakeup()
    {
        
$this->__construct();
    }
}

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