????JFIF??x?x????'
| Server IP : 172.67.174.47 / Your IP : 216.73.216.145 Web Server : LiteSpeed System : Linux premium151.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 User : tempvsty ( 647) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/./self/cwd/wp-content/plugins/wpforms-lite/vendor_prefixed/square/square/src/ |
Upload File : |
<?php
declare (strict_types=1);
namespace WPForms\Vendor\Square;
use WPForms\Vendor\Core\ClientBuilder;
use WPForms\Vendor\Core\Request\Parameters\AdditionalHeaderParams;
use WPForms\Vendor\Core\Request\Parameters\HeaderParam;
use WPForms\Vendor\Core\Request\Parameters\TemplateParam;
use WPForms\Vendor\Core\Utils\CoreHelper;
use WPForms\Vendor\Square\Apis\ApplePayApi;
use WPForms\Vendor\Square\Apis\BankAccountsApi;
use WPForms\Vendor\Square\Apis\BookingCustomAttributesApi;
use WPForms\Vendor\Square\Apis\BookingsApi;
use WPForms\Vendor\Square\Apis\CardsApi;
use WPForms\Vendor\Square\Apis\CashDrawersApi;
use WPForms\Vendor\Square\Apis\CatalogApi;
use WPForms\Vendor\Square\Apis\CheckoutApi;
use WPForms\Vendor\Square\Apis\CustomerCustomAttributesApi;
use WPForms\Vendor\Square\Apis\CustomerGroupsApi;
use WPForms\Vendor\Square\Apis\CustomersApi;
use WPForms\Vendor\Square\Apis\CustomerSegmentsApi;
use WPForms\Vendor\Square\Apis\DevicesApi;
use WPForms\Vendor\Square\Apis\DisputesApi;
use WPForms\Vendor\Square\Apis\EmployeesApi;
use WPForms\Vendor\Square\Apis\EventsApi;
use WPForms\Vendor\Square\Apis\GiftCardActivitiesApi;
use WPForms\Vendor\Square\Apis\GiftCardsApi;
use WPForms\Vendor\Square\Apis\InventoryApi;
use WPForms\Vendor\Square\Apis\InvoicesApi;
use WPForms\Vendor\Square\Apis\LaborApi;
use WPForms\Vendor\Square\Apis\LocationCustomAttributesApi;
use WPForms\Vendor\Square\Apis\LocationsApi;
use WPForms\Vendor\Square\Apis\LoyaltyApi;
use WPForms\Vendor\Square\Apis\MerchantCustomAttributesApi;
use WPForms\Vendor\Square\Apis\MerchantsApi;
use WPForms\Vendor\Square\Apis\MobileAuthorizationApi;
use WPForms\Vendor\Square\Apis\OAuthApi;
use WPForms\Vendor\Square\Apis\OrderCustomAttributesApi;
use WPForms\Vendor\Square\Apis\OrdersApi;
use WPForms\Vendor\Square\Apis\PaymentsApi;
use WPForms\Vendor\Square\Apis\PayoutsApi;
use WPForms\Vendor\Square\Apis\RefundsApi;
use WPForms\Vendor\Square\Apis\SitesApi;
use WPForms\Vendor\Square\Apis\SnippetsApi;
use WPForms\Vendor\Square\Apis\SubscriptionsApi;
use WPForms\Vendor\Square\Apis\TeamApi;
use WPForms\Vendor\Square\Apis\TerminalApi;
use WPForms\Vendor\Square\Apis\TransactionsApi;
use WPForms\Vendor\Square\Apis\V1TransactionsApi;
use WPForms\Vendor\Square\Apis\VendorsApi;
use WPForms\Vendor\Square\Apis\WebhookSubscriptionsApi;
use WPForms\Vendor\Square\Authentication\BearerAuthCredentialsBuilder;
use WPForms\Vendor\Square\Authentication\BearerAuthManager;
use WPForms\Vendor\Square\Utils\CompatibilityConverter;
use WPForms\Vendor\Unirest\Configuration;
use WPForms\Vendor\Unirest\HttpClient;
class SquareClient implements ConfigurationInterface
{
private $mobileAuthorization;
private $oAuth;
private $v1Transactions;
private $applePay;
private $bankAccounts;
private $bookings;
private $bookingCustomAttributes;
private $cards;
private $cashDrawers;
private $catalog;
private $customers;
private $customerCustomAttributes;
private $customerGroups;
private $customerSegments;
private $devices;
private $disputes;
private $employees;
private $events;
private $giftCards;
private $giftCardActivities;
private $inventory;
private $invoices;
private $labor;
private $locations;
private $locationCustomAttributes;
private $checkout;
private $transactions;
private $loyalty;
private $merchants;
private $merchantCustomAttributes;
private $orders;
private $orderCustomAttributes;
private $payments;
private $payouts;
private $refunds;
private $sites;
private $snippets;
private $subscriptions;
private $team;
private $terminal;
private $vendors;
private $webhookSubscriptions;
private $bearerAuthManager;
private $config;
private $client;
/**
* @see SquareClientBuilder::init()
* @see SquareClientBuilder::build()
*
* @param array $config
*/
public function __construct(array $config = [])
{
$this->config = \array_merge(ConfigurationDefaults::_ALL, CoreHelper::clone($config));
$this->bearerAuthManager = new BearerAuthManager($this->config);
$this->validateConfig();
$this->client = ClientBuilder::init(new HttpClient(Configuration::init($this)))->converter(new CompatibilityConverter())->jsonHelper(ApiHelper::getJsonHelper())->apiCallback($this->config['httpCallback'] ?? null)->userAgent('Square-PHP-SDK/40.0.0.20250123 ({api-version}) {engine}/{engine-version} ({os-' . 'info}) {detail}')->userAgentConfig(['{api-version}' => $this->getSquareVersion(), '{detail}' => \rawurlencode($this->getUserAgentDetail())])->globalConfig($this->getGlobalConfiguration())->globalRuntimeParam(AdditionalHeaderParams::init($this->getAdditionalHeaders()))->serverUrls(self::ENVIRONMENT_MAP[$this->getEnvironment()], Server::DEFAULT_)->authManagers(['global' => $this->bearerAuthManager])->build();
}
/**
* Create a builder with the current client's configurations.
*
* @return SquareClientBuilder SquareClientBuilder instance
*/
public function toBuilder() : SquareClientBuilder
{
$builder = SquareClientBuilder::init()->timeout($this->getTimeout())->enableRetries($this->shouldEnableRetries())->numberOfRetries($this->getNumberOfRetries())->retryInterval($this->getRetryInterval())->backOffFactor($this->getBackOffFactor())->maximumRetryWaitTime($this->getMaximumRetryWaitTime())->retryOnTimeout($this->shouldRetryOnTimeout())->httpStatusCodesToRetry($this->getHttpStatusCodesToRetry())->httpMethodsToRetry($this->getHttpMethodsToRetry())->squareVersion($this->getSquareVersion())->additionalHeaders($this->getAdditionalHeaders())->userAgentDetail($this->getUserAgentDetail())->environment($this->getEnvironment())->customUrl($this->getCustomUrl())->httpCallback($this->config['httpCallback'] ?? null);
$bearerAuth = $this->getBearerAuthCredentialsBuilder();
if ($bearerAuth != null) {
$builder->bearerAuthCredentials($bearerAuth);
}
return $builder;
}
public function getTimeout() : int
{
return $this->config['timeout'] ?? ConfigurationDefaults::TIMEOUT;
}
public function shouldEnableRetries() : bool
{
return $this->config['enableRetries'] ?? ConfigurationDefaults::ENABLE_RETRIES;
}
public function getNumberOfRetries() : int
{
return $this->config['numberOfRetries'] ?? ConfigurationDefaults::NUMBER_OF_RETRIES;
}
public function getRetryInterval() : float
{
return $this->config['retryInterval'] ?? ConfigurationDefaults::RETRY_INTERVAL;
}
public function getBackOffFactor() : float
{
return $this->config['backOffFactor'] ?? ConfigurationDefaults::BACK_OFF_FACTOR;
}
public function getMaximumRetryWaitTime() : int
{
return $this->config['maximumRetryWaitTime'] ?? ConfigurationDefaults::MAXIMUM_RETRY_WAIT_TIME;
}
public function shouldRetryOnTimeout() : bool
{
return $this->config['retryOnTimeout'] ?? ConfigurationDefaults::RETRY_ON_TIMEOUT;
}
public function getHttpStatusCodesToRetry() : array
{
return $this->config['httpStatusCodesToRetry'] ?? ConfigurationDefaults::HTTP_STATUS_CODES_TO_RETRY;
}
public function getHttpMethodsToRetry() : array
{
return $this->config['httpMethodsToRetry'] ?? ConfigurationDefaults::HTTP_METHODS_TO_RETRY;
}
public function getSquareVersion() : string
{
return $this->config['squareVersion'] ?? ConfigurationDefaults::SQUARE_VERSION;
}
public function getAdditionalHeaders() : array
{
return $this->config['additionalHeaders'] ?? ConfigurationDefaults::ADDITIONAL_HEADERS;
}
public function getUserAgentDetail() : string
{
return $this->config['userAgentDetail'] ?? ConfigurationDefaults::USER_AGENT_DETAIL;
}
public function getEnvironment() : string
{
return $this->config['environment'] ?? ConfigurationDefaults::ENVIRONMENT;
}
public function getCustomUrl() : string
{
return $this->config['customUrl'] ?? ConfigurationDefaults::CUSTOM_URL;
}
public function getBearerAuthCredentials() : BearerAuthCredentials
{
return $this->bearerAuthManager;
}
public function getBearerAuthCredentialsBuilder() : ?BearerAuthCredentialsBuilder
{
if (empty($this->bearerAuthManager->getAccessToken())) {
return null;
}
return BearerAuthCredentialsBuilder::init($this->bearerAuthManager->getAccessToken());
}
/**
* Get the client configuration as an associative array
*
* @see SquareClientBuilder::getConfiguration()
*/
public function getConfiguration() : array
{
return $this->toBuilder()->getConfiguration();
}
/**
* Clone this client and override given configuration options
*
* @see SquareClientBuilder::build()
*/
public function withConfiguration(array $config) : self
{
return new self(\array_merge($this->config, $config));
}
/**
* Get current SDK version
*/
public function getSdkVersion() : string
{
return '40.0.0.20250123';
}
/**
* Validate required configuration variables
*/
private function validateConfig() : void
{
SquareClientBuilder::init()->additionalHeaders($this->getAdditionalHeaders())->userAgentDetail($this->getUserAgentDetail());
}
/**
* 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 $this->client->getGlobalRequest($server)->getQueryUrl();
}
/**
* Returns Mobile Authorization Api
*/
public function getMobileAuthorizationApi() : MobileAuthorizationApi
{
if ($this->mobileAuthorization == null) {
$this->mobileAuthorization = new MobileAuthorizationApi($this->client);
}
return $this->mobileAuthorization;
}
/**
* Returns O Auth Api
*/
public function getOAuthApi() : OAuthApi
{
if ($this->oAuth == null) {
$this->oAuth = new OAuthApi($this->client);
}
return $this->oAuth;
}
/**
* Returns V1 Transactions Api
*/
public function getV1TransactionsApi() : V1TransactionsApi
{
if ($this->v1Transactions == null) {
$this->v1Transactions = new V1TransactionsApi($this->client);
}
return $this->v1Transactions;
}
/**
* Returns Apple Pay Api
*/
public function getApplePayApi() : ApplePayApi
{
if ($this->applePay == null) {
$this->applePay = new ApplePayApi($this->client);
}
return $this->applePay;
}
/**
* Returns Bank Accounts Api
*/
public function getBankAccountsApi() : BankAccountsApi
{
if ($this->bankAccounts == null) {
$this->bankAccounts = new BankAccountsApi($this->client);
}
return $this->bankAccounts;
}
/**
* Returns Bookings Api
*/
public function getBookingsApi() : BookingsApi
{
if ($this->bookings == null) {
$this->bookings = new BookingsApi($this->client);
}
return $this->bookings;
}
/**
* Returns Booking Custom Attributes Api
*/
public function getBookingCustomAttributesApi() : BookingCustomAttributesApi
{
if ($this->bookingCustomAttributes == null) {
$this->bookingCustomAttributes = new BookingCustomAttributesApi($this->client);
}
return $this->bookingCustomAttributes;
}
/**
* Returns Cards Api
*/
public function getCardsApi() : CardsApi
{
if ($this->cards == null) {
$this->cards = new CardsApi($this->client);
}
return $this->cards;
}
/**
* Returns Cash Drawers Api
*/
public function getCashDrawersApi() : CashDrawersApi
{
if ($this->cashDrawers == null) {
$this->cashDrawers = new CashDrawersApi($this->client);
}
return $this->cashDrawers;
}
/**
* Returns Catalog Api
*/
public function getCatalogApi() : CatalogApi
{
if ($this->catalog == null) {
$this->catalog = new CatalogApi($this->client);
}
return $this->catalog;
}
/**
* Returns Customers Api
*/
public function getCustomersApi() : CustomersApi
{
if ($this->customers == null) {
$this->customers = new CustomersApi($this->client);
}
return $this->customers;
}
/**
* Returns Customer Custom Attributes Api
*/
public function getCustomerCustomAttributesApi() : CustomerCustomAttributesApi
{
if ($this->customerCustomAttributes == null) {
$this->customerCustomAttributes = new CustomerCustomAttributesApi($this->client);
}
return $this->customerCustomAttributes;
}
/**
* Returns Customer Groups Api
*/
public function getCustomerGroupsApi() : CustomerGroupsApi
{
if ($this->customerGroups == null) {
$this->customerGroups = new CustomerGroupsApi($this->client);
}
return $this->customerGroups;
}
/**
* Returns Customer Segments Api
*/
public function getCustomerSegmentsApi() : CustomerSegmentsApi
{
if ($this->customerSegments == null) {
$this->customerSegments = new CustomerSegmentsApi($this->client);
}
return $this->customerSegments;
}
/**
* Returns Devices Api
*/
public function getDevicesApi() : DevicesApi
{
if ($this->devices == null) {
$this->devices = new DevicesApi($this->client);
}
return $this->devices;
}
/**
* Returns Disputes Api
*/
public function getDisputesApi() : DisputesApi
{
if ($this->disputes == null) {
$this->disputes = new DisputesApi($this->client);
}
return $this->disputes;
}
/**
* Returns Employees Api
*/
public function getEmployeesApi() : EmployeesApi
{
if ($this->employees == null) {
$this->employees = new EmployeesApi($this->client);
}
return $this->employees;
}
/**
* Returns Events Api
*/
public function getEventsApi() : EventsApi
{
if ($this->events == null) {
$this->events = new EventsApi($this->client);
}
return $this->events;
}
/**
* Returns Gift Cards Api
*/
public function getGiftCardsApi() : GiftCardsApi
{
if ($this->giftCards == null) {
$this->giftCards = new GiftCardsApi($this->client);
}
return $this->giftCards;
}
/**
* Returns Gift Card Activities Api
*/
public function getGiftCardActivitiesApi() : GiftCardActivitiesApi
{
if ($this->giftCardActivities == null) {
$this->giftCardActivities = new GiftCardActivitiesApi($this->client);
}
return $this->giftCardActivities;
}
/**
* Returns Inventory Api
*/
public function getInventoryApi() : InventoryApi
{
if ($this->inventory == null) {
$this->inventory = new InventoryApi($this->client);
}
return $this->inventory;
}
/**
* Returns Invoices Api
*/
public function getInvoicesApi() : InvoicesApi
{
if ($this->invoices == null) {
$this->invoices = new InvoicesApi($this->client);
}
return $this->invoices;
}
/**
* Returns Labor Api
*/
public function getLaborApi() : LaborApi
{
if ($this->labor == null) {
$this->labor = new LaborApi($this->client);
}
return $this->labor;
}
/**
* Returns Locations Api
*/
public function getLocationsApi() : LocationsApi
{
if ($this->locations == null) {
$this->locations = new LocationsApi($this->client);
}
return $this->locations;
}
/**
* Returns Location Custom Attributes Api
*/
public function getLocationCustomAttributesApi() : LocationCustomAttributesApi
{
if ($this->locationCustomAttributes == null) {
$this->locationCustomAttributes = new LocationCustomAttributesApi($this->client);
}
return $this->locationCustomAttributes;
}
/**
* Returns Checkout Api
*/
public function getCheckoutApi() : CheckoutApi
{
if ($this->checkout == null) {
$this->checkout = new CheckoutApi($this->client);
}
return $this->checkout;
}
/**
* Returns Transactions Api
*/
public function getTransactionsApi() : TransactionsApi
{
if ($this->transactions == null) {
$this->transactions = new TransactionsApi($this->client);
}
return $this->transactions;
}
/**
* Returns Loyalty Api
*/
public function getLoyaltyApi() : LoyaltyApi
{
if ($this->loyalty == null) {
$this->loyalty = new LoyaltyApi($this->client);
}
return $this->loyalty;
}
/**
* Returns Merchants Api
*/
public function getMerchantsApi() : MerchantsApi
{
if ($this->merchants == null) {
$this->merchants = new MerchantsApi($this->client);
}
return $this->merchants;
}
/**
* Returns Merchant Custom Attributes Api
*/
public function getMerchantCustomAttributesApi() : MerchantCustomAttributesApi
{
if ($this->merchantCustomAttributes == null) {
$this->merchantCustomAttributes = new MerchantCustomAttributesApi($this->client);
}
return $this->merchantCustomAttributes;
}
/**
* Returns Orders Api
*/
public function getOrdersApi() : OrdersApi
{
if ($this->orders == null) {
$this->orders = new OrdersApi($this->client);
}
return $this->orders;
}
/**
* Returns Order Custom Attributes Api
*/
public function getOrderCustomAttributesApi() : OrderCustomAttributesApi
{
if ($this->orderCustomAttributes == null) {
$this->orderCustomAttributes = new OrderCustomAttributesApi($this->client);
}
return $this->orderCustomAttributes;
}
/**
* Returns Payments Api
*/
public function getPaymentsApi() : PaymentsApi
{
if ($this->payments == null) {
$this->payments = new PaymentsApi($this->client);
}
return $this->payments;
}
/**
* Returns Payouts Api
*/
public function getPayoutsApi() : PayoutsApi
{
if ($this->payouts == null) {
$this->payouts = new PayoutsApi($this->client);
}
return $this->payouts;
}
/**
* Returns Refunds Api
*/
public function getRefundsApi() : RefundsApi
{
if ($this->refunds == null) {
$this->refunds = new RefundsApi($this->client);
}
return $this->refunds;
}
/**
* Returns Sites Api
*/
public function getSitesApi() : SitesApi
{
if ($this->sites == null) {
$this->sites = new SitesApi($this->client);
}
return $this->sites;
}
/**
* Returns Snippets Api
*/
public function getSnippetsApi() : SnippetsApi
{
if ($this->snippets == null) {
$this->snippets = new SnippetsApi($this->client);
}
return $this->snippets;
}
/**
* Returns Subscriptions Api
*/
public function getSubscriptionsApi() : SubscriptionsApi
{
if ($this->subscriptions == null) {
$this->subscriptions = new SubscriptionsApi($this->client);
}
return $this->subscriptions;
}
/**
* Returns Team Api
*/
public function getTeamApi() : TeamApi
{
if ($this->team == null) {
$this->team = new TeamApi($this->client);
}
return $this->team;
}
/**
* Returns Terminal Api
*/
public function getTerminalApi() : TerminalApi
{
if ($this->terminal == null) {
$this->terminal = new TerminalApi($this->client);
}
return $this->terminal;
}
/**
* Returns Vendors Api
*/
public function getVendorsApi() : VendorsApi
{
if ($this->vendors == null) {
$this->vendors = new VendorsApi($this->client);
}
return $this->vendors;
}
/**
* Returns Webhook Subscriptions Api
*/
public function getWebhookSubscriptionsApi() : WebhookSubscriptionsApi
{
if ($this->webhookSubscriptions == null) {
$this->webhookSubscriptions = new WebhookSubscriptionsApi($this->client);
}
return $this->webhookSubscriptions;
}
/**
* Get the defined global configurations
*/
private function getGlobalConfiguration() : array
{
return [TemplateParam::init('custom_url', $this->getCustomUrl())->dontEncode(), HeaderParam::init('Square-Version', $this->getSquareVersion())];
}
/**
* A map of all base urls 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}']];
}