PHPackages                             vlsv/sber-pay-qr-api-client - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [HTTP &amp; Networking](/categories/http)
4. /
5. vlsv/sber-pay-qr-api-client

ActiveLibrary[HTTP &amp; Networking](/categories/http)

vlsv/sber-pay-qr-api-client
===========================

Клиент для работы с API SberPay QR

v1.0.1(3y ago)31205[2 issues](https://github.com/skodnik/sber-pay-qr-api-client/issues)MITPHPPHP ^8.1

Since Oct 23Pushed 3y ago1 watchersCompare

[ Source](https://github.com/skodnik/sber-pay-qr-api-client)[ Packagist](https://packagist.org/packages/vlsv/sber-pay-qr-api-client)[ RSS](/packages/vlsv-sber-pay-qr-api-client/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (6)Versions (3)Used By (0)

[![phpunit tests](https://github.com/skodnik/sber-pay-qr-api-client/actions/workflows/php.yml/badge.svg)](https://github.com/skodnik/sber-pay-qr-api-client/actions/workflows/php.yml/badge.svg)

Клиент для работы с API SberPay QR/Плати QR
===========================================

[](#клиент-для-работы-с-api-sberpay-qrплати-qr)

Оплата по QR - современный способ приёма платежей с помощью графического кода. Сервис оплаты по QR позволяет проводить оплату по SberPay QR (в приложении СберБанк Онлайн), Плати QR (в приложениях банков-партнёров) и СБП QR (Система Быстрых Платежей) [подробнее о сервисе](https://api.developer.sber.ru/product/PlatiQR/doc/v1/QR_API_doc1).

Данный клиент реализует сервисы платформы QR.API (QR продавца):

- **creation** - создание заказа и формирование Динамического QR-кода под создаваемый заказ (по запросу Клиента): QR код уже содержит сумму данного заказа.
- **status** - запрос статуса заказа: получение статуса оплаты и детализации по операциям.
- **revocation** - отмена неоплаченного заказа: Покупатель не произвел оплату в установленное время (как правило на сайтах до 20 минут ожидания), либо выбрал другой способ оплаты.
- **cancel** - отмена/возврат финансовой операции.
- **registry** - запрос реестра операций.

Зависимости
-----------

[](#зависимости)

Для выполнения запросов к API потребуется Sber API Registry `access_token`. Один из способов его получения - с помощью библиотеки [vlsv/sber-api-registry-oauth-client](https://packagist.org/packages/vlsv/sber-api-registry-oauth-client).

Установка библиотеки
--------------------

[](#установка-библиотеки)

```
composer require vlsv/sber-pay-qr-api-client
```

Получение сертификата
---------------------

[](#получение-сертификата)

### Официальная документация:

[](#официальная-документация)

- [Выпустить сертификат](https://api.developer.sber.ru/how-to-use/create_certificate)
- [Настройки сервиса вызова API](https://api.developer.sber.ru/how-to-use/api_settings)

Подготовка сертификата
----------------------

[](#подготовка-сертификата)

```
openssl pkcs12 -in {path_to_certificate}/cert.p12 -out {path_to_certificate}/cert.pem -nodes
```

Или, как альтернатива, можно передавать сертификат в формате `.p12`, в этом случае необходимо указать и пароль для него.

Работа с API
------------

[](#работа-с-api)

### Создание заказа

[](#создание-заказа)

Пример конфигурации клиента смотри в [TestCaseBase.php](tests/TestCaseBase.php)

```
$orderParamsType = (new \Vlsv\SberPayQrApiClient\Entity\RequestCreationOrderParamsType())
    ->setPositionName('some_position_name')
    ->setPositionCount(1)
    ->setPositionDescription('some_position_description')
    ->setPositionSum(190000);

$requestCreation = (new \Vlsv\SberPayQrApiClient\Entity\RequestCreation())
    ->setMemberId('some_member_id')
    ->setOrderCreateDate(new DateTimeImmutable())
    ->setOrderParamsType([$orderParamsType]);

try {
    /** @var \Vlsv\SberPayQrApiClient\Entity\ResponseCreation $responseCreation */
    $responseCreation = $this->apiClient->makeRequest(
        accessToken: 'personal_temporary_access_token',
        apiEndpoint: \Vlsv\SberPayQrApiClient\Entity\ApiEndpoint::CREATION,
        requestObject: $requestCreation,
    );
} catch (ApiException $exception) {
    echo $exception->getMessage();

    exit();
}

// Идентификатор заказа на стороне эквайера.
// Необходим для дальнейшей работы с API.
echo $responseCreation->getOrderId();

// Ссылка на форму оплаты - QR-код.
echo $responseCreation->getOrderFormUrl();
```

Все методы объекта ответа см. [ResponseCreation](src/Entity/ResponseCreation.php)

### Запрос статуса заказа

[](#запрос-статуса-заказа)

```
$requestStatus = (new \Vlsv\SberPayQrApiClient\Entity\RequestStatus())
    ->setOrderId('5cf8cb8b-37e3-42e9-8f69-306fa72e106f')
    ->setTid('83457dda-332c-46f4-b928-8d4bd9ee3afe');

try {
    /** @var \Vlsv\SberPayQrApiClient\Entity\ResponseStatus $responseStatus */
    $responseStatus = $this->apiClient->makeRequest(
        accessToken: 'personal_temporary_access_token',
        apiEndpoint: \Vlsv\SberPayQrApiClient\Entity\ApiEndpoint::STATUS,
        requestObject: $requestStatus,
    );
} catch (\Vlsv\SberPayQrApiClient\Entity\ApiException $exception) {
    echo $exception->getMessage();

    exit();
}

// Состояние заказа на стороне эквайера.
echo $responseStatus->getOrderState()->value;
```

Все методы объекта ответа см. [ResponseStatus](src/Entity/ResponseStatus.php)

Работа с остальными методами производится аналогичным образом.

Тесты
-----

[](#тесты)

Все группы.

```
composer tests
```

Feature и unit.

```
composer tests-feature && composer tests-unit
```

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance7

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~60 days

Total

2

Last Release

1235d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/0a2237c67741e5be893af5ebbcf4fdf0eac507ebb6cea1882a39770891aff07a?d=identicon)[vlsv](/maintainers/vlsv)

---

Top Contributors

[![skodnik](https://avatars.githubusercontent.com/u/1265773?v=4)](https://github.com/skodnik "skodnik (3 commits)")

---

Tags

apirestoauthsber

###  Code Quality

TestsPHPUnit

Static AnalysisPsalm

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/vlsv-sber-pay-qr-api-client/health.svg)

```
[![Health](https://phpackages.com/badges/vlsv-sber-pay-qr-api-client/health.svg)](https://phpackages.com/packages/vlsv-sber-pay-qr-api-client)
```

###  Alternatives

[zoonman/linkedin-api-php-client

LinkedIn API PHP SDK with OAuth 2.0 &amp; CSRF support. Can be used for social sign in or sharing on LinkedIn. Examples. Documentation.

127704.0k](/packages/zoonman-linkedin-api-php-client)[abantecart/ups-php

UPS PHP SDK based on OAuth

1815.3k](/packages/abantecart-ups-php)[wearearchitect/sharepoint-oauth-app-client

SharePoint OAuth App Client

156.1k](/packages/wearearchitect-sharepoint-oauth-app-client)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
