mirror of
https://git.yoomoney.ru/scm/sdk/yookassa-sdk-php.git
synced 2026-10-08 08:35:15 +00:00
Добавлены новые методы. Изменены некоторые методы
Обновлены описания классов, свойств и методов для документации Добавлена документация Добавлены примеры использования SDK
This commit is contained in:
+72
-29
@@ -46,15 +46,22 @@ use YooKassa\Helpers\Config\ConfigurationLoaderInterface;
|
||||
|
||||
class BaseClient
|
||||
{
|
||||
const PAYMENTS_PATH = '/payments';
|
||||
const REFUNDS_PATH = '/refunds';
|
||||
const WEBHOOKS_PATH = '/webhooks';
|
||||
const RECEIPTS_PATH = '/receipts';
|
||||
/** Точка входа для запроса к API по магазину */
|
||||
const ME_PATH = '/me';
|
||||
|
||||
/**
|
||||
* Имя HTTP заголовка, используемого для передачи idempotence key
|
||||
*/
|
||||
/** Точка входа для запросов к API по платежам */
|
||||
const PAYMENTS_PATH = '/payments';
|
||||
|
||||
/** Точка входа для запросов к API по возвратам */
|
||||
const REFUNDS_PATH = '/refunds';
|
||||
|
||||
/** Точка входа для запросов к API по вебхукам */
|
||||
const WEBHOOKS_PATH = '/webhooks';
|
||||
|
||||
/** Точка входа для запросов к API по чекам */
|
||||
const RECEIPTS_PATH = '/receipts';
|
||||
|
||||
/** Имя HTTP заголовка, используемого для передачи idempotence key */
|
||||
const IDEMPOTENCY_KEY_HEADER = 'Idempotence-Key';
|
||||
|
||||
/**
|
||||
@@ -63,51 +70,61 @@ class BaseClient
|
||||
*/
|
||||
const DEFAULT_DELAY = 1800;
|
||||
|
||||
/**
|
||||
* Значение по умолчанию количества попыток получения информации от API если пришёл ответ с HTTP статусом 202
|
||||
*/
|
||||
/** Значение по умолчанию количества попыток получения информации от API если пришёл ответ с HTTP статусом 202 */
|
||||
const DEFAULT_TRIES_COUNT = 3;
|
||||
|
||||
/**
|
||||
* Значение по умолчанию количества попыток получения информации от API если пришёл ответ с HTTP статусом 202
|
||||
*/
|
||||
/** Значение по умолчанию количества попыток получения информации от API если пришёл ответ с HTTP статусом 202 */
|
||||
const DEFAULT_ATTEMPTS_COUNT = 3;
|
||||
|
||||
/**
|
||||
* CURL клиент
|
||||
*
|
||||
* @var null|ApiClientInterface
|
||||
*/
|
||||
protected $apiClient;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
* shopId магазина
|
||||
*
|
||||
* @var string|int
|
||||
*/
|
||||
protected $login;
|
||||
|
||||
/**
|
||||
* Секретный ключ магазина
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $password;
|
||||
|
||||
/**
|
||||
* Настройки для CURL клиента
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $config;
|
||||
|
||||
/**
|
||||
* Время через которое будут осуществляться повторные запросы
|
||||
*
|
||||
* Значение по умолчанию - 1800 миллисекунд.
|
||||
*
|
||||
* @var int значение в миллисекундах
|
||||
*/
|
||||
protected $timeout;
|
||||
|
||||
/**
|
||||
* Количество повторных запросов при ответе API статусом 202
|
||||
*
|
||||
* Значение по умолчанию 3
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
protected $attempts;
|
||||
|
||||
/**
|
||||
* Объект для логирования работы SDK
|
||||
*
|
||||
* @var LoggerInterface|null
|
||||
*/
|
||||
protected $logger;
|
||||
@@ -127,19 +144,23 @@ class BaseClient
|
||||
if ($configLoader === null) {
|
||||
$configLoader = new ConfigurationLoader();
|
||||
}
|
||||
$config = $configLoader->load()->getConfig();
|
||||
$config = $configLoader->load()->getConfig();
|
||||
$this->setConfig($config);
|
||||
$apiClient->setConfig($config);
|
||||
|
||||
$this->attempts = self::DEFAULT_ATTEMPTS_COUNT;
|
||||
$this->attempts = self::DEFAULT_ATTEMPTS_COUNT;
|
||||
$this->apiClient = $apiClient;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $login
|
||||
* @param $password
|
||||
* Устанавливает авторизацию по логин/паролю
|
||||
*
|
||||
* @return static $this
|
||||
* @example 01-client.php 7 1 Пример авторизации
|
||||
*
|
||||
* @param string $login
|
||||
* @param string $password
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
public function setAuth($login, $password)
|
||||
{
|
||||
@@ -155,7 +176,11 @@ class BaseClient
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $token
|
||||
* Устанавливает авторизацию по Oauth-токену
|
||||
*
|
||||
* @example 01-client.php 9 1 Пример авторизации
|
||||
*
|
||||
* @param string $token
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
@@ -170,6 +195,8 @@ class BaseClient
|
||||
}
|
||||
|
||||
/**
|
||||
* Возвращает CURL клиента для работы с API
|
||||
*
|
||||
* @return ApiClientInterface
|
||||
*/
|
||||
public function getApiClient()
|
||||
@@ -178,9 +205,11 @@ class BaseClient
|
||||
}
|
||||
|
||||
/**
|
||||
* Устанавливает CURL клиента для работы с API
|
||||
*
|
||||
* @param ApiClientInterface $apiClient
|
||||
*
|
||||
* @return static $this
|
||||
* @return $this
|
||||
*/
|
||||
public function setApiClient(ApiClientInterface $apiClient)
|
||||
{
|
||||
@@ -209,6 +238,8 @@ class BaseClient
|
||||
}
|
||||
|
||||
/**
|
||||
* Возвращает настройки клиента
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getConfig()
|
||||
@@ -217,6 +248,8 @@ class BaseClient
|
||||
}
|
||||
|
||||
/**
|
||||
* Устанавливает настройки клиента
|
||||
*
|
||||
* @param array $config
|
||||
*/
|
||||
public function setConfig($config)
|
||||
@@ -225,11 +258,11 @@ class BaseClient
|
||||
}
|
||||
|
||||
/**
|
||||
* Установка значение задержки между повторными запросами
|
||||
* Установка значения задержки между повторными запросами
|
||||
*
|
||||
* @param int $timeout
|
||||
*
|
||||
* @return static
|
||||
* @return $this
|
||||
*/
|
||||
public function setRetryTimeout($timeout)
|
||||
{
|
||||
@@ -243,7 +276,7 @@ class BaseClient
|
||||
*
|
||||
* @param int $attempts
|
||||
*
|
||||
* @return static
|
||||
* @return $this
|
||||
*/
|
||||
public function setMaxRequestAttempts($attempts)
|
||||
{
|
||||
@@ -253,7 +286,9 @@ class BaseClient
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $serializedData
|
||||
* Кодирует массив данных в JSON строку
|
||||
*
|
||||
* @param array $serializedData
|
||||
*
|
||||
* @return string
|
||||
* @throws Exception
|
||||
@@ -279,6 +314,10 @@ class BaseClient
|
||||
}
|
||||
|
||||
/**
|
||||
* Убирает лишние обратные слэши, а также декодирует строку UTF-8 в нормальный вид
|
||||
*
|
||||
* Вспомогательная функция для старых версий PHP
|
||||
*
|
||||
* @param string $json
|
||||
* @return string|false
|
||||
*/
|
||||
@@ -296,6 +335,8 @@ class BaseClient
|
||||
}
|
||||
|
||||
/**
|
||||
* Декодирует JSON строку в массив данных
|
||||
*
|
||||
* @param ResponseObject $response
|
||||
*
|
||||
* @return array
|
||||
@@ -311,6 +352,8 @@ class BaseClient
|
||||
}
|
||||
|
||||
/**
|
||||
* Выбрасывает исключение по коду ошибки
|
||||
*
|
||||
* @param ResponseObject $response
|
||||
*
|
||||
* @throws ApiException
|
||||
@@ -361,7 +404,7 @@ class BaseClient
|
||||
/**
|
||||
* Задержка между повторными запросами
|
||||
*
|
||||
* @param $response
|
||||
* @param ResponseObject $response
|
||||
*/
|
||||
protected function delay($response)
|
||||
{
|
||||
@@ -382,9 +425,9 @@ class BaseClient
|
||||
/**
|
||||
* Выполнение запроса и обработка 202 статуса
|
||||
*
|
||||
* @param $path
|
||||
* @param $method
|
||||
* @param $queryParams
|
||||
* @param string $path
|
||||
* @param string $method
|
||||
* @param array $queryParams
|
||||
* @param null $httpBody
|
||||
* @param array $headers
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user