softinvest / cloudpayments-php-client
cloudpayments api client, php8 support
Requires
- php: >=7.4
- guzzlehttp/guzzle: ~6.3
- myclabs/php-enum: 1.6
Requires (Dev)
- phpunit/phpunit: ^9.5
README
Оглавление
- Установка
- Начало работы
- Поддерживаемые методы
- Параметры запроса
- Параметры ответа
- Уведомления
- Идемпотентность
Установка
Установить библиотеку можно с помощью composer:
composer require flowwow/cloudpayments-php-client
Начало работы
$publicId = /*...*/; $pass = /*...*/; $apiClient = new \Flowwow\Cloudpayments\Library($publicId, $pass); $response = $apiClient->paymentsCardsCharge(new \Flowwow\Cloudpayments\Request\CardsPayment( 100, 'RUB', '123.123.123.123', '01492500008719030128SMfLeYdKp5dSQVIiO5l6ZCJiPdel4uDjdFTTz1UnXY' )); echo $response->success;
Поддерживаемые методы
Библиотека поддерживает большое количество методов api(https://developers.cloudpayments.ru/#api). Для параметров запроса и ответа поддерживается объект-обертка.
$apiClient = new \Flowwow\Cloudpayments\Library(\*...*\); $apiClient->paymentsCardsCharge(\*...*\);
Параметры запроса
Параметры запроса обернуты в dto-объект
... $validationUrl = 'https://apple-pay-gateway.apple.com/paymentservices/startSession'; $request = new \Flowwow\Cloudpayments\Request\ApplepayStartSession($validationUrl); $apiClient->startSession($request);
Библиотека может выбрасывать ошибку BadTypeException
при формировании request-объекта
try { ... $validationUrl = 'https://apple-pay-gateway.apple.com/paymentservices/startSession'; $request = new \Flowwow\Cloudpayments\Request\ApplepayStartSession($validationUrl); ... } catch (\Flowwow\Cloudpayments\Exceptions\BadTypeException $e) { var_dump($e->getMessage()); }
Параметры ответа
Параметры ответа так же обернуты в dto-объект. CloudResponse
имеет 3 свойства: success
, message
, model
В свойство model
записывается нужная сущность, в зависимости от запроса.
Список поддерживаемых сущностей:
AppleSessionModel
NotificationModel
SubscriptionModel
TokenModel
TransactionModel
TransactionWith3dsModel
Уведомления
Библиотека включает в себя dto-объекты для параметров веб хуков
$hookData = new \Flowwow\Cloudpayments\Hook\HookPay($_POST); echo $hookData->transactionId;
Список всех уведомлений - https://developers.cloudpayments.ru/#check
Идемпотентность
Библиотека поддерживает идемпотентные запросы
... $apiClient = new \Flowwow\Cloudpayments\Library(\*...*\); $apiClient->setIdempotency(true); $apiClient->createPaymentByCard2Step(\*...*\); ...
License
MIT