%PDF- %GIF98; %PNG;
Server : ApacheSystem : Linux host.digitalbabaji.in 4.18.0-513.11.1.el8_9.x86_64 #1 SMP Wed Jan 17 02:00:40 EST 2024 x86_64 User : addictionfreeind ( 1003) PHP Version : 7.2.34 Disable Function : exec,passthru,shell_exec,system Directory : /home/addictionfreeind/public_html/admin1/vendor/square/square/src/ |
Upload File : |
<?php
declare(strict_types=1);
namespace Square;
use Square\Apis;
/**
* Square client class
*/
class SquareClient implements ConfigurationInterface
{
private $mobileAuthorization;
private $oAuth;
private $v1Transactions;
private $applePay;
private $bankAccounts;
private $bookings;
private $cards;
private $cashDrawers;
private $catalog;
private $customers;
private $customerGroups;
private $customerSegments;
private $devices;
private $disputes;
private $employees;
private $giftCards;
private $giftCardActivities;
private $inventory;
private $invoices;
private $labor;
private $locations;
private $checkout;
private $transactions;
private $loyalty;
private $merchants;
private $orders;
private $payments;
private $refunds;
private $sites;
private $snippets;
private $subscriptions;
private $team;
private $terminal;
private $timeout = ConfigurationDefaults::TIMEOUT;
private $enableRetries = ConfigurationDefaults::ENABLE_RETRIES;
private $numberOfRetries = ConfigurationDefaults::NUMBER_OF_RETRIES;
private $retryInterval = ConfigurationDefaults::RETRY_INTERVAL;
private $backOffFactor = ConfigurationDefaults::BACK_OFF_FACTOR;
private $maximumRetryWaitTime = ConfigurationDefaults::MAXIMUM_RETRY_WAIT_TIME;
private $retryOnTimeout = ConfigurationDefaults::RETRY_ON_TIMEOUT;
private $httpStatusCodesToRetry = ConfigurationDefaults::HTTP_STATUS_CODES_TO_RETRY;
private $httpMethodsToRetry = ConfigurationDefaults::HTTP_METHODS_TO_RETRY;
private $squareVersion = ConfigurationDefaults::SQUARE_VERSION;
private $additionalHeaders = ConfigurationDefaults::ADDITIONAL_HEADERS;
private $environment = ConfigurationDefaults::ENVIRONMENT;
private $customUrl = ConfigurationDefaults::CUSTOM_URL;
private $accessToken = ConfigurationDefaults::ACCESS_TOKEN;
private $accessTokenManager;
private $authManagers = [];
private $httpCallback;
public function __construct(array $configOptions = null)
{
if (isset($configOptions['timeout'])) {
$this->timeout = $configOptions['timeout'];
}
if (isset($configOptions['enableRetries'])) {
$this->enableRetries = $configOptions['enableRetries'];
}
if (isset($configOptions['numberOfRetries'])) {
$this->numberOfRetries = $configOptions['numberOfRetries'];
}
if (isset($configOptions['retryInterval'])) {
$this->retryInterval = $configOptions['retryInterval'];
}
if (isset($configOptions['backOffFactor'])) {
$this->backOffFactor = $configOptions['backOffFactor'];
}
if (isset($configOptions['maximumRetryWaitTime'])) {
$this->maximumRetryWaitTime = $configOptions['maximumRetryWaitTime'];
}
if (isset($configOptions['retryOnTimeout'])) {
$this->retryOnTimeout = $configOptions['retryOnTimeout'];
}
if (isset($configOptions['httpStatusCodesToRetry'])) {
$this->httpStatusCodesToRetry = $configOptions['httpStatusCodesToRetry'];
}
if (isset($configOptions['httpMethodsToRetry'])) {
$this->httpMethodsToRetry = $configOptions['httpMethodsToRetry'];
}
if (isset($configOptions['squareVersion'])) {
$this->squareVersion = $configOptions['squareVersion'];
}
if (isset($configOptions['additionalHeaders'])) {
$this->additionalHeaders = $configOptions['additionalHeaders'];
\Square\ApiHelper::assertHeaders($this->additionalHeaders);
}
if (isset($configOptions['environment'])) {
$this->environment = $configOptions['environment'];
}
if (isset($configOptions['customUrl'])) {
$this->customUrl = $configOptions['customUrl'];
}
if (isset($configOptions['accessToken'])) {
$this->accessToken = $configOptions['accessToken'];
}
if (isset($configOptions['httpCallback'])) {
$this->httpCallback = $configOptions['httpCallback'];
}
$this->accessTokenManager = new AccessTokenManager($this->accessToken);
$this->authManagers['global'] = $this->accessTokenManager;
}
/**
* Get the client configuration as an associative array
*/
public function getConfiguration(): array
{
$configMap = [];
if (isset($this->timeout)) {
$configMap['timeout'] = $this->timeout;
}
if (isset($this->enableRetries)) {
$configMap['enableRetries'] = $this->enableRetries;
}
if (isset($this->numberOfRetries)) {
$configMap['numberOfRetries'] = $this->numberOfRetries;
}
if (isset($this->retryInterval)) {
$configMap['retryInterval'] = $this->retryInterval;
}
if (isset($this->backOffFactor)) {
$configMap['backOffFactor'] = $this->backOffFactor;
}
if (isset($this->maximumRetryWaitTime)) {
$configMap['maximumRetryWaitTime'] = $this->maximumRetryWaitTime;
}
if (isset($this->retryOnTimeout)) {
$configMap['retryOnTimeout'] = $this->retryOnTimeout;
}
if (isset($this->httpStatusCodesToRetry)) {
$configMap['httpStatusCodesToRetry'] = $this->httpStatusCodesToRetry;
}
if (isset($this->httpMethodsToRetry)) {
$configMap['httpMethodsToRetry'] = $this->httpMethodsToRetry;
}
if (isset($this->squareVersion)) {
$configMap['squareVersion'] = $this->squareVersion;
}
if (isset($this->additionalHeaders)) {
$configMap['additionalHeaders'] = $this->additionalHeaders;
}
if (isset($this->environment)) {
$configMap['environment'] = $this->environment;
}
if (isset($this->customUrl)) {
$configMap['customUrl'] = $this->customUrl;
}
if ($this->getAccessTokenCredentials()->getAccessToken() !== null) {
$configMap['accessToken'] = $this->getAccessTokenCredentials()->getAccessToken();
}
if (isset($this->httpCallback)) {
$configMap['httpCallback'] = $this->httpCallback;
}
return $configMap;
}
/**
* Clone this client and override given configuration options
*/
public function withConfiguration(array $configOptions): self
{
return new self(\array_merge($this->getConfiguration(), $configOptions));
}
public function getTimeout(): int
{
return $this->timeout;
}
public function shouldEnableRetries(): bool
{
return $this->enableRetries;
}
public function getNumberOfRetries(): int
{
return $this->numberOfRetries;
}
public function getRetryInterval(): float
{
return $this->retryInterval;
}
public function getBackOffFactor(): float
{
return $this->backOffFactor;
}
public function getMaximumRetryWaitTime(): int
{
return $this->maximumRetryWaitTime;
}
public function shouldRetryOnTimeout(): bool
{
return $this->retryOnTimeout;
}
public function getHttpStatusCodesToRetry(): array
{
return $this->httpStatusCodesToRetry;
}
public function getHttpMethodsToRetry(): array
{
return $this->httpMethodsToRetry;
}
public function getSquareVersion(): string
{
return $this->squareVersion;
}
public function getAdditionalHeaders(): array
{
return $this->additionalHeaders;
}
public function getEnvironment(): string
{
return $this->environment;
}
public function getCustomUrl(): string
{
return $this->customUrl;
}
public function getAccessTokenCredentials(): ?AccessTokenCredentials
{
return $this->accessTokenManager;
}
/**
* Get current SDK version
*/
public function getSdkVersion(): string
{
return '16.0.0.20211117';
}
/**
* Get the base uri for a given server in the current environment
*
* @param string $server Server name
*
* @return string Base URI
*/
public function getBaseUri(string $server = Server::DEFAULT_): string
{
return ApiHelper::appendUrlWithTemplateParameters(
static::ENVIRONMENT_MAP[$this->environment][$server],
[
'custom_url' => $this->customUrl,
],
false
);
}
/**
* Returns Mobile Authorization Api
*/
public function getMobileAuthorizationApi(): Apis\MobileAuthorizationApi
{
if ($this->mobileAuthorization == null) {
$this->mobileAuthorization = new Apis\MobileAuthorizationApi(
$this,
$this->authManagers,
$this->httpCallback
);
}
return $this->mobileAuthorization;
}
/**
* Returns O Auth Api
*/
public function getOAuthApi(): Apis\OAuthApi
{
if ($this->oAuth == null) {
$this->oAuth = new Apis\OAuthApi($this, $this->authManagers, $this->httpCallback);
}
return $this->oAuth;
}
/**
* Returns V1 Transactions Api
*/
public function getV1TransactionsApi(): Apis\V1TransactionsApi
{
if ($this->v1Transactions == null) {
$this->v1Transactions = new Apis\V1TransactionsApi(
$this,
$this->authManagers,
$this->httpCallback
);
}
return $this->v1Transactions;
}
/**
* Returns Apple Pay Api
*/
public function getApplePayApi(): Apis\ApplePayApi
{
if ($this->applePay == null) {
$this->applePay = new Apis\ApplePayApi($this, $this->authManagers, $this->httpCallback);
}
return $this->applePay;
}
/**
* Returns Bank Accounts Api
*/
public function getBankAccountsApi(): Apis\BankAccountsApi
{
if ($this->bankAccounts == null) {
$this->bankAccounts = new Apis\BankAccountsApi($this, $this->authManagers, $this->httpCallback);
}
return $this->bankAccounts;
}
/**
* Returns Bookings Api
*/
public function getBookingsApi(): Apis\BookingsApi
{
if ($this->bookings == null) {
$this->bookings = new Apis\BookingsApi($this, $this->authManagers, $this->httpCallback);
}
return $this->bookings;
}
/**
* Returns Cards Api
*/
public function getCardsApi(): Apis\CardsApi
{
if ($this->cards == null) {
$this->cards = new Apis\CardsApi($this, $this->authManagers, $this->httpCallback);
}
return $this->cards;
}
/**
* Returns Cash Drawers Api
*/
public function getCashDrawersApi(): Apis\CashDrawersApi
{
if ($this->cashDrawers == null) {
$this->cashDrawers = new Apis\CashDrawersApi($this, $this->authManagers, $this->httpCallback);
}
return $this->cashDrawers;
}
/**
* Returns Catalog Api
*/
public function getCatalogApi(): Apis\CatalogApi
{
if ($this->catalog == null) {
$this->catalog = new Apis\CatalogApi($this, $this->authManagers, $this->httpCallback);
}
return $this->catalog;
}
/**
* Returns Customers Api
*/
public function getCustomersApi(): Apis\CustomersApi
{
if ($this->customers == null) {
$this->customers = new Apis\CustomersApi($this, $this->authManagers, $this->httpCallback);
}
return $this->customers;
}
/**
* Returns Customer Groups Api
*/
public function getCustomerGroupsApi(): Apis\CustomerGroupsApi
{
if ($this->customerGroups == null) {
$this->customerGroups = new Apis\CustomerGroupsApi(
$this,
$this->authManagers,
$this->httpCallback
);
}
return $this->customerGroups;
}
/**
* Returns Customer Segments Api
*/
public function getCustomerSegmentsApi(): Apis\CustomerSegmentsApi
{
if ($this->customerSegments == null) {
$this->customerSegments = new Apis\CustomerSegmentsApi(
$this,
$this->authManagers,
$this->httpCallback
);
}
return $this->customerSegments;
}
/**
* Returns Devices Api
*/
public function getDevicesApi(): Apis\DevicesApi
{
if ($this->devices == null) {
$this->devices = new Apis\DevicesApi($this, $this->authManagers, $this->httpCallback);
}
return $this->devices;
}
/**
* Returns Disputes Api
*/
public function getDisputesApi(): Apis\DisputesApi
{
if ($this->disputes == null) {
$this->disputes = new Apis\DisputesApi($this, $this->authManagers, $this->httpCallback);
}
return $this->disputes;
}
/**
* Returns Employees Api
*/
public function getEmployeesApi(): Apis\EmployeesApi
{
if ($this->employees == null) {
$this->employees = new Apis\EmployeesApi($this, $this->authManagers, $this->httpCallback);
}
return $this->employees;
}
/**
* Returns Gift Cards Api
*/
public function getGiftCardsApi(): Apis\GiftCardsApi
{
if ($this->giftCards == null) {
$this->giftCards = new Apis\GiftCardsApi($this, $this->authManagers, $this->httpCallback);
}
return $this->giftCards;
}
/**
* Returns Gift Card Activities Api
*/
public function getGiftCardActivitiesApi(): Apis\GiftCardActivitiesApi
{
if ($this->giftCardActivities == null) {
$this->giftCardActivities = new Apis\GiftCardActivitiesApi(
$this,
$this->authManagers,
$this->httpCallback
);
}
return $this->giftCardActivities;
}
/**
* Returns Inventory Api
*/
public function getInventoryApi(): Apis\InventoryApi
{
if ($this->inventory == null) {
$this->inventory = new Apis\InventoryApi($this, $this->authManagers, $this->httpCallback);
}
return $this->inventory;
}
/**
* Returns Invoices Api
*/
public function getInvoicesApi(): Apis\InvoicesApi
{
if ($this->invoices == null) {
$this->invoices = new Apis\InvoicesApi($this, $this->authManagers, $this->httpCallback);
}
return $this->invoices;
}
/**
* Returns Labor Api
*/
public function getLaborApi(): Apis\LaborApi
{
if ($this->labor == null) {
$this->labor = new Apis\LaborApi($this, $this->authManagers, $this->httpCallback);
}
return $this->labor;
}
/**
* Returns Locations Api
*/
public function getLocationsApi(): Apis\LocationsApi
{
if ($this->locations == null) {
$this->locations = new Apis\LocationsApi($this, $this->authManagers, $this->httpCallback);
}
return $this->locations;
}
/**
* Returns Checkout Api
*/
public function getCheckoutApi(): Apis\CheckoutApi
{
if ($this->checkout == null) {
$this->checkout = new Apis\CheckoutApi($this, $this->authManagers, $this->httpCallback);
}
return $this->checkout;
}
/**
* Returns Transactions Api
*/
public function getTransactionsApi(): Apis\TransactionsApi
{
if ($this->transactions == null) {
$this->transactions = new Apis\TransactionsApi($this, $this->authManagers, $this->httpCallback);
}
return $this->transactions;
}
/**
* Returns Loyalty Api
*/
public function getLoyaltyApi(): Apis\LoyaltyApi
{
if ($this->loyalty == null) {
$this->loyalty = new Apis\LoyaltyApi($this, $this->authManagers, $this->httpCallback);
}
return $this->loyalty;
}
/**
* Returns Merchants Api
*/
public function getMerchantsApi(): Apis\MerchantsApi
{
if ($this->merchants == null) {
$this->merchants = new Apis\MerchantsApi($this, $this->authManagers, $this->httpCallback);
}
return $this->merchants;
}
/**
* Returns Orders Api
*/
public function getOrdersApi(): Apis\OrdersApi
{
if ($this->orders == null) {
$this->orders = new Apis\OrdersApi($this, $this->authManagers, $this->httpCallback);
}
return $this->orders;
}
/**
* Returns Payments Api
*/
public function getPaymentsApi(): Apis\PaymentsApi
{
if ($this->payments == null) {
$this->payments = new Apis\PaymentsApi($this, $this->authManagers, $this->httpCallback);
}
return $this->payments;
}
/**
* Returns Refunds Api
*/
public function getRefundsApi(): Apis\RefundsApi
{
if ($this->refunds == null) {
$this->refunds = new Apis\RefundsApi($this, $this->authManagers, $this->httpCallback);
}
return $this->refunds;
}
/**
* Returns Sites Api
*/
public function getSitesApi(): Apis\SitesApi
{
if ($this->sites == null) {
$this->sites = new Apis\SitesApi($this, $this->authManagers, $this->httpCallback);
}
return $this->sites;
}
/**
* Returns Snippets Api
*/
public function getSnippetsApi(): Apis\SnippetsApi
{
if ($this->snippets == null) {
$this->snippets = new Apis\SnippetsApi($this, $this->authManagers, $this->httpCallback);
}
return $this->snippets;
}
/**
* Returns Subscriptions Api
*/
public function getSubscriptionsApi(): Apis\SubscriptionsApi
{
if ($this->subscriptions == null) {
$this->subscriptions = new Apis\SubscriptionsApi(
$this,
$this->authManagers,
$this->httpCallback
);
}
return $this->subscriptions;
}
/**
* Returns Team Api
*/
public function getTeamApi(): Apis\TeamApi
{
if ($this->team == null) {
$this->team = new Apis\TeamApi($this, $this->authManagers, $this->httpCallback);
}
return $this->team;
}
/**
* Returns Terminal Api
*/
public function getTerminalApi(): Apis\TerminalApi
{
if ($this->terminal == null) {
$this->terminal = new Apis\TerminalApi($this, $this->authManagers, $this->httpCallback);
}
return $this->terminal;
}
/**
* A map of all baseurls used in different environments and servers
*
* @var array
*/
private const ENVIRONMENT_MAP = [
Environment::PRODUCTION => [
Server::DEFAULT_ => 'https://connect.squareup.com',
],
Environment::SANDBOX => [
Server::DEFAULT_ => 'https://connect.squareupsandbox.com',
],
Environment::CUSTOM => [
Server::DEFAULT_ => '{custom_url}',
],
];
}