mindbox / sdk
Mindbox SDK for PHP
Installs: 133 807
Dependents: 1
Suggesters: 0
Security: 0
Stars: 7
Watchers: 10
Forks: 18
Open Issues: 11
Requires (Dev)
Suggests
- ext-curl: *
- dev-master
- v2.2.0.x-dev
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 0.0.3
- 0.0.2
- 0.0.1
- 0.0.0
- dev-MBM-393
- dev-cdp/kiyakov/newAuthScheme
- dev-renovate/configure
- dev-MBM-353
- dev-fix-readme-links
- dev-MBM-333
- dev-add-action-php74
- dev-MaximBurcev-patch-2
- dev-MBM-319
- dev-MBM-318
- dev-MaximBurcev-patch-1
- dev-MBM-299
- dev-MBM-259
- dev-release/2.4.2
- dev-MBM-149
- dev-MBM-144
- dev-MBM-33
- dev-MBM-83
- dev-MBM-88
- dev-MBM-72
- dev-MBM-8
- dev-MB-750
- dev-fix/booleanValuesInXML
- dev-test/parseResponseCode
- dev-test/parseRawHeaders
- dev-hotfix/RawHeadersParse
This package is auto-updated.
Last update: 2025-02-26 10:03:48 UTC
README
PHP библиотека для упрощённого взаимодейтсвия вашего PHP приложения с API Mindbox. С полной документацией API Mindbox можно ознакомиться здесь.
Начало работы
Зависимости
- PHP версии 7.3 или выше
- psr/log
- ext-json
- ext-simplexml
- ext-libxml
- ext-curl (опционально)
Установка
Вы можете установить Mindbox SDK двумя способами: используя Composer или скачав архив. Первый способ предпочтительнее, так как позволяет обновить библиотеку одной командой.
Composer (рекомендуемый способ)
Mindbox PHP SDK можно установить с помощью менеджера зависимостей Composer, используя следующую команду:
composer require mindbox/sdk
Для установки Mindbox PHP SDK в проекты, которые работают на PHP версии >=5.6 и < 7.3 необходимо использовать версию 1.0.7. Для этого выполнить следующую команду:
composer require "mindbox/sdk:^1.0.7"
Установка вручную
- Скачайте архив, содержащий исходный код проекта (включая зависимости).
- Распакуйте в директорию вашего проекта.
- Подключите автозагрузчик классов в начале вашего скрипта:
require_once __DIR__ . '/path/to/mindboxSDK/vendor/autoload.php';
Использование
Обязательные параметры конфигурации SDK:
{logsDir}
- директория для логов{endpointId}
- уникальный идентификатор сайта/мобильного приложения/и т.п. Значение нужно уточнить у менеджера Mindbox.{secretKey}
- секретный ключ, соответствующий endpointId. Значение нужно уточнить у менеджера Mindbox.{domainZone}
домен API Mindbox, на который будут отправляться запросы
Опциональные параметры:
{timeout}
таймаут соединения http запроса (в секундах), опционально. По умолчанию 5 секунд.{httpClient}
способ отправки запроса ("curl", "stream"), опционально. По умолчанию curl, если установлено расширение ext-curl, иначе stream.
Инициализация SDK
$logger = new \Mindbox\Loggers\MindboxFileLogger('{logsDir}'); $mindbox = new \Mindbox\Mindbox([ 'endpointId' => '{endpointId}', 'secretKey' => '{secretKey}', 'domainZone' => '{domainZone}', //'timeout' => '{timeout}', //'httpClient' => '{httpClient}', ], $logger);
Подробнее о конфигурации и инициализации SDK здесь.
Использование хелперов для стандартных операций
Для стандартных операций Mindbox реализован набор хелперов, упрощающий осуществление запросов. Простой пример отправки запроса авторизации потребителя к Mindbox с использованием хелпера:
$logger = new \Mindbox\Loggers\MindboxFileLogger('{logsDir}'); $mindbox = new \Mindbox\Mindbox([ 'endpointId' => '{endpointId}', 'secretKey' => '{secretKey}', 'domainZone' => '{domainZone}', ], $logger); $customer = new \Mindbox\DTO\CustomerRequestDTO(); $customer->setEmail('test@test.ru'); $customer->setMobilePhone('77777777777'); $customer->setId('mindboxId', '1028'); try { $response = $mindbox->customer() ->authorize($customer, 'Website.AuthorizeCustomer') ->sendRequest(); $requestBody = $response->getRequest()->getBody(); $responseBody = $response->getBody(); } catch (\Mindbox\Exceptions\MindboxClientException $e) { echo $e->getMessage(); return; }
Подробнее об использовании хелперов SDK здесь.
Универсальные методы для отправки произвольных запросов
Запросы, для которых не реализованы хелперы, можно выполнить с помощью универсальных методов:
$logger = new \Mindbox\Loggers\MindboxFileLogger('{logsDir}'); $mindbox = new \Mindbox\Mindbox([ 'endpointId' => '{endpointId}', 'secretKey' => '{secretKey}', 'domainZone' => '{domainZone}', ], $logger); $operation = new \Mindbox\DTO\OperationDTO(); $customer = new \Mindbox\DTO\CustomerRequestDTO(); $customer->setEmail('test@test.ru'); $customer->setMobilePhone('77777777777'); $customer->setId('mindboxId', '1028'); $operation->setCustomer($customer); try { $response = $mindbox->getClientV3() ->prepareRequest('POST', 'Website.AuthorizeCustomer', $operation, '', [], false) ->sendRequest(); $requestBody = $response->getRequest()->getBody(); $responseBody = $response->getBody(); } catch (\Mindbox\Exceptions\MindboxClientException $e) { echo $e->getMessage(); }
Подробнее об использовании универсальных методов SDK здесь.
Документация
Подробная документация библиотеки доступна по ссылке.