softinvest/cloudpayments-php-client

cloudpayments api client, php8 support

2.0.2 2021-09-28 11:04 UTC

This package is auto-updated.

Last update: 2024-10-20 21:51:41 UTC


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