forked from LiveCarta/PayPal-PHP-Server-SDK
* Automated commit message * Automated commit message * add changelog --------- Co-authored-by: PayPalServerSDKs <server-sdks@paypal.com>
65 lines
3.1 KiB
Markdown
65 lines
3.1 KiB
Markdown
|
|
# Client Class Documentation
|
|
|
|
The following parameters are configurable for the API Client:
|
|
|
|
| Parameter | Type | Description |
|
|
| --- | --- | --- |
|
|
| environment | `Environment` | The API environment. <br> **Default: `Environment.SANDBOX`** |
|
|
| timeout | `int` | Timeout for API calls in seconds.<br>*Default*: `0` |
|
|
| enableRetries | `bool` | Whether to enable retries and backoff feature.<br>*Default*: `false` |
|
|
| numberOfRetries | `int` | The number of retries to make.<br>*Default*: `0` |
|
|
| retryInterval | `float` | The retry time interval between the endpoint calls.<br>*Default*: `1` |
|
|
| backOffFactor | `float` | Exponential backoff factor to increase interval between retries.<br>*Default*: `2` |
|
|
| maximumRetryWaitTime | `int` | The maximum wait time in seconds for overall retrying requests.<br>*Default*: `0` |
|
|
| retryOnTimeout | `bool` | Whether to retry on request timeout.<br>*Default*: `true` |
|
|
| httpStatusCodesToRetry | `array` | Http status codes to retry against.<br>*Default*: `408, 413, 429, 500, 502, 503, 504, 521, 522, 524` |
|
|
| httpMethodsToRetry | `array` | Http methods to retry against.<br>*Default*: `'GET', 'PUT'` |
|
|
| loggingConfiguration | [`LoggingConfigurationBuilder`](../doc/logging-configuration-builder.md) | Represents the logging configurations for API calls |
|
|
| proxyConfiguration | [`ProxyConfigurationBuilder`](../doc/proxy-configuration-builder.md) | Represents the proxy configurations for API calls |
|
|
| clientCredentialsAuth | [`ClientCredentialsAuth`](auth/oauth-2-client-credentials-grant.md) | The Credentials Setter for OAuth 2 Client Credentials Grant |
|
|
|
|
The API client can be initialized as follows:
|
|
|
|
```php
|
|
use PaypalServerSdkLib\Logging\LoggingConfigurationBuilder;
|
|
use PaypalServerSdkLib\Logging\RequestLoggingConfigurationBuilder;
|
|
use PaypalServerSdkLib\Logging\ResponseLoggingConfigurationBuilder;
|
|
use Psr\Log\LogLevel;
|
|
use PaypalServerSdkLib\Environment;
|
|
use PaypalServerSdkLib\Authentication\ClientCredentialsAuthCredentialsBuilder;
|
|
use PaypalServerSdkLib\PaypalServerSdkClientBuilder;
|
|
|
|
$client = PaypalServerSdkClientBuilder::init()
|
|
->clientCredentialsAuthCredentials(
|
|
ClientCredentialsAuthCredentialsBuilder::init(
|
|
'OAuthClientId',
|
|
'OAuthClientSecret'
|
|
)
|
|
)
|
|
->environment(Environment::SANDBOX)
|
|
->loggingConfiguration(
|
|
LoggingConfigurationBuilder::init()
|
|
->level(LogLevel::INFO)
|
|
->requestConfiguration(RequestLoggingConfigurationBuilder::init()->body(true))
|
|
->responseConfiguration(ResponseLoggingConfigurationBuilder::init()->headers(true))
|
|
)
|
|
->build();
|
|
```
|
|
|
|
## PayPal Server SDK Client
|
|
|
|
The gateway for the SDK. This class acts as a factory for the Controllers and also holds the configuration of the SDK.
|
|
|
|
## Controllers
|
|
|
|
| Name | Description |
|
|
| --- | --- |
|
|
| getOrdersController() | Gets OrdersController |
|
|
| getPaymentsController() | Gets PaymentsController |
|
|
| getVaultController() | Gets VaultController |
|
|
| getTransactionSearchController() | Gets TransactionSearchController |
|
|
| getSubscriptionsController() | Gets SubscriptionsController |
|
|
| getOAuthAuthorizationController() | Gets OAuthAuthorizationController |
|
|
|