PHPackages                             xcremant/laravel-sberbank-acquiring - 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. [API Development](/categories/api)
4. /
5. xcremant/laravel-sberbank-acquiring

ActiveLibrary[API Development](/categories/api)

xcremant/laravel-sberbank-acquiring
===================================

Provides functionality to interoperate with Sberbank acquiring system

02PHP

Since Nov 30Pushed 2y agoCompare

[ Source](https://github.com/XcreMANt/laravel-sberbank-acquiring)[ Packagist](https://packagist.org/packages/xcremant/laravel-sberbank-acquiring)[ RSS](/packages/xcremant-laravel-sberbank-acquiring/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Laravel Sberbank Acquiring
==========================

[](#laravel-sberbank-acquiring)

[![CI](https://github.com/avlyalin/laravel-sberbank-acquiring/workflows/CI/badge.svg)](https://github.com/avlyalin/laravel-sberbank-acquiring/workflows/CI/badge.svg)[![codecov](https://camo.githubusercontent.com/a4a58f8e55a78cb2be00ef2ee4eb78351c6ea1833ee511ccc47c76fa3134afab/68747470733a2f2f636f6465636f762e696f2f67682f61766c79616c696e2f6c61726176656c2d7362657262616e6b2d616371756972696e672f6272616e63682f6d61737465722f67726170682f62616467652e737667)](https://codecov.io/gh/avlyalin/laravel-sberbank-acquiring)[![MIT license](https://camo.githubusercontent.com/08cef40a9105b6526ca22088bc514fbfdbc9aac1ddbf8d4e6c750e3a88a44dca/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d626c75652e737667)](https://lbesson.mit-license.org/)

Пакет предоставляет вашему приложению функциональность для работы с платежами с использованием эквайринга от Сбербанка. Возможности:

- Создание и хранение платежей
- Логирование операций по платежам

Перед использованием рекомендуется ознакомиться с документацией, предоставляемой Сбербанком.

Требования
----------

[](#требования)

- PHP &gt;= 8.0
- Laravel &gt;= 5.8
- Расширения PHP: ext-json, ext-curl
- Реляционная БД

Установка
---------

[](#установка)

Добавьте пакет в зависимости:

```
composer require xcremant/laravel-sberbank-acquiring

```

Опубликуйте файл настроек:

```
php artisan vendor:publish --provider="Avlyalin\SberbankAcquiring\Providers\AcquiringServiceProvider" --tag=config

```

Опубликуйте файлы миграций:

```
php artisan vendor:publish --provider="Avlyalin\SberbankAcquiring\Providers\AcquiringServiceProvider" --tag=migrations

```

Запустите миграции:

```
php artisan migrate

```

Обзор
-----

[](#обзор)

- [Таблицы](#%D0%A2%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D1%8B)
- [Клиент](#%D0%9A%D0%BB%D0%B8%D0%B5%D0%BD%D1%82)
- [Операции](#%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8)
- [Настройки](#%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8)
- [Аутентификация](#%D0%90%D1%83%D1%82%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F)
- [Обновление статусов платежей](#%D0%9E%D0%B1%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D1%81%D1%82%D0%B0%D1%82%D1%83%D1%81%D0%BE%D0%B2-%D0%BF%D0%BB%D0%B0%D1%82%D0%B5%D0%B6%D0%B5%D0%B9)
- [События (Events)](#C%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D1%8F-events)
- [Исключения (Exception)](#%D0%98%D1%81%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D1%8F-exceptions)
- [Поддержка](#%D0%9F%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%BA%D0%B0)
- [Лицензия (License)](#%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F-license)

Таблицы
-------

[](#таблицы)

Для хранения истории платежей и операций создаётся несколько таблиц:

- **acquiring\_payments** - базовая таблица платежей, хранит общую информацию по платежам всех платежных систем
- **acquiring\_payment\_operations** - операции по платежам
- **acquiring\_sberbank\_payments** - платежи напрямую через систему Сбербанка
- **acquiring\_apple\_pay\_payments** - платежи через Apple Pay
- **acquiring\_samsung\_pay\_payments** - платежи через Samsung Pay
- **acquiring\_google\_pay\_payments** - платежи через Google Pay
- **acquiring\_payment\_statuses** - справочник статусов платежей
- **acquiring\_payment\_operation\_types** - справочник типов операций
- **acquiring\_payment\_systems** - справочник платежных систем

Диаграмма: [![screenshot of conversion](./diagram.png)](./diagram.png)

> Связь базового платежа и платежей в разных платежных системах организована на уровне ORM через полиморфную связь.

Клиент
------

[](#клиент)

Пакет содержит два класса-клиента для работы с эквайрингом:

- `ApiClient` - вызывает API Сбербанка
- `Client` - обёртка для `ApiClient`, сохраняет платежи и операции в БД, использует файл настроек. Рекомендуется пользоваться им.

`ApiClient` и `Client` добавлены в [Service Container](https://laravel.com/docs/5.8/container) и могут быть использованы в Dependency Injection. Резолвинг классов:

```
use Avlyalin\SberbankAcquiring\Client\ApiClient;
use Avlyalin\SberbankAcquiring\Client\Client;

$client = $this->app->make(Client::class);

$apiClient = $this->app->make(ApiClient::class);
```

Операции
--------

[](#операции)

На данный момент поддерживаются следующие операции эквайринга:

ОперацияДокументация Сбербанка[Регистрация заказа](#%D0%A0%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D1%8F-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7%D0%B0)[Ссылка](https://securepayments.sberbank.ru/wiki/doku.php/integration:api:rest:requests:register)[Регистрация заказа с предавторизацией](#%D0%A0%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D1%8F-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7%D0%B0-%D1%81-%D0%BF%D1%80%D0%B5%D0%B4%D0%B0%D0%B2%D1%82%D0%BE%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B5%D0%B9)[Ссылка](https://securepayments.sberbank.ru/wiki/doku.php/integration:api:rest:requests:registerpreauth)[Запрос завершения оплаты заказа](#%D0%97%D0%B0%D0%BF%D1%80%D0%BE%D1%81-%D0%B7%D0%B0%D0%B2%D0%B5%D1%80%D1%88%D0%B5%D0%BD%D0%B8%D1%8F-%D0%BE%D0%BF%D0%BB%D0%B0%D1%82%D1%8B-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7%D0%B0)[Ссылка](https://securepayments.sberbank.ru/wiki/doku.php/integration:api:rest:requests:deposit)[Запрос отмены оплаты заказа](#%D0%97%D0%B0%D0%BF%D1%80%D0%BE%D1%81-%D0%BE%D1%82%D0%BC%D0%B5%D0%BD%D1%8B-%D0%BE%D0%BF%D0%BB%D0%B0%D1%82%D1%8B-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7%D0%B0)[Ссылка](https://securepayments.sberbank.ru/wiki/doku.php/integration:api:rest:requests:reverse)[Запрос возврата средств оплаты заказа](#%D0%97%D0%B0%D0%BF%D1%80%D0%BE%D1%81-%D0%B2%D0%BE%D0%B7%D0%B2%D1%80%D0%B0%D1%82%D0%B0-%D1%81%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B2-%D0%BE%D0%BF%D0%BB%D0%B0%D1%82%D1%8B-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7%D0%B0)[Ссылка](https://securepayments.sberbank.ru/wiki/doku.php/integration:api:rest:requests:refund)[Получение статуса заказа](#%D0%9F%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D1%81%D1%82%D0%B0%D1%82%D1%83%D1%81%D0%B0-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7%D0%B0)[Ссылка](https://securepayments.sberbank.ru/wiki/doku.php/integration:api:rest:requests:getorderstatusextended)[Запрос оплаты через Apple Pay](#%D0%97%D0%B0%D0%BF%D1%80%D0%BE%D1%81-%D0%BE%D0%BF%D0%BB%D0%B0%D1%82%D1%8B-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-Apple-Pay)[Ссылка](https://securepayments.sberbank.ru/wiki/doku.php/integration:api:rest:requests:payment_applepay)[Запрос оплаты через Samsung Pay](#%D0%97%D0%B0%D0%BF%D1%80%D0%BE%D1%81-%D0%BE%D0%BF%D0%BB%D0%B0%D1%82%D1%8B-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-Samsung-Pay)[Ссылка](https://securepayments.sberbank.ru/wiki/doku.php/integration:api:rest:requests:payment_samsungpay)[Запрос оплаты через Google Pay](#%D0%97%D0%B0%D0%BF%D1%80%D0%BE%D1%81-%D0%BE%D0%BF%D0%BB%D0%B0%D1%82%D1%8B-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-Google-Pay)[Ссылка](https://securepayments.sberbank.ru/wiki/doku.php/integration:api:rest:requests:payment_googlepay)[Запрос сведений о кассовом чеке](#%D0%97%D0%B0%D0%BF%D1%80%D0%BE%D1%81-%D1%81%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B9-%D0%BE-%D0%BA%D0%B0%D1%81%D1%81%D0%BE%D0%B2%D0%BE%D0%BC-%D1%87%D0%B5%D0%BA%D0%B5)[Ссылка](https://securepayments.sberbank.ru/wiki/doku.php/integration:api:rest:requests:getreceiptstatus)[Запрос деактивации связки](#%D0%97%D0%B0%D0%BF%D1%80%D0%BE%D1%81-%D0%B4%D0%B5%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%B0%D1%86%D0%B8%D0%B8-%D1%81%D0%B2%D1%8F%D0%B7%D0%BA%D0%B8)[Ссылка](https://securepayments.sberbank.ru/wiki/doku.php/integration:api:rest:requests:unbindcard)[Запрос активации связки](#%D0%97%D0%B0%D0%BF%D1%80%D0%BE%D1%81-%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%B0%D1%86%D0%B8%D0%B8-%D1%81%D0%B2%D1%8F%D0%B7%D0%BA%D0%B8)[Ссылка](https://securepayments.sberbank.ru/wiki/doku.php/integration:api:rest:requests:bindcard)[Запрос списка всех связок клиента](#%D0%97%D0%B0%D0%BF%D1%80%D0%BE%D1%81-%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%B0-%D0%B2%D1%81%D0%B5%D1%85-%D1%81%D0%B2%D1%8F%D0%B7%D0%BE%D0%BA-%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D0%B0)[Ссылка](https://securepayments.sberbank.ru/wiki/doku.php/integration:api:rest:requests:getbindings)[Запрос списка связок определённой банковской карты](#%D0%97%D0%B0%D0%BF%D1%80%D0%BE%D1%81-%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%B0-%D1%81%D0%B2%D1%8F%D0%B7%D0%BE%D0%BA-%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D1%91%D0%BD%D0%BD%D0%BE%D0%B9-%D0%B1%D0%B0%D0%BD%D0%BA%D0%BE%D0%B2%D1%81%D0%BA%D0%BE%D0%B9-%D0%BA%D0%B0%D1%80%D1%82%D1%8B)[Ссылка](https://securepayments.sberbank.ru/wiki/doku.php/integration:api:rest:requests:getbindingsbycardorid)[Запрос изменения срока действия связки](#%D0%97%D0%B0%D0%BF%D1%80%D0%BE%D1%81-%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F-%D1%81%D1%80%D0%BE%D0%BA%D0%B0-%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D1%8F-%D1%81%D0%B2%D1%8F%D0%B7%D0%BA%D0%B8)[Ссылка](https://securepayments.sberbank.ru/wiki/doku.php/integration:api:rest:requests:extendbinding)### Регистрация заказа

[](#регистрация-заказа)

Обязательный аргумент - сумма.

```
use Avlyalin\SberbankAcquiring\Client\HttpClientInterface;
use Avlyalin\SberbankAcquiring\Client\Client;

$client = $this->app->make(Client::class);
$acquiringPayment = $client->register(
    1000, // сумма
    ['orderNumber' => '123-456'], // необязательные параметры
    HttpClientInterface::METHOD_GET, // метод запроса
    ['Cache-Control' => 'no-cache'] // хэдеры запроса
);
$status = $acquiringPayment->status->name; // 'Зарегистрирован'
```

> Если во втором аргументе не указаны параметры **returnUrl** и **failUrl**, то они берутся из файла настроек.

### Регистрация заказа с предавторизацией

[](#регистрация-заказа-с-предавторизацией)

Обязательный аргумент - сумма.

```
use Avlyalin\SberbankAcquiring\Client\HttpClientInterface;
use Avlyalin\SberbankAcquiring\Client\Client;

$client = $this->app->make(Client::class);
$acquiringPayment = $client->registerPreAuth(
    1000, // сумма
    ['orderNumber' => '123-456'], // необязательные параметры
    HttpClientInterface::METHOD_GET, // метод запроса
    ['Cache-Control' => 'no-cache'] // хэдеры запроса
);
$status = $acquiringPayment->status->name; // 'Зарегистрирован'
```

> Если во втором аргументе не указаны параметры **returnUrl** и **failUrl**, то они берутся из файла настроек.

### Запрос завершения оплаты заказа

[](#запрос-завершения-оплаты-заказа)

Обязательные аргументы: id модели платежа (AcquiringPayment), сумма.

```
use Avlyalin\SberbankAcquiring\Client\HttpClientInterface;
use Avlyalin\SberbankAcquiring\Client\Client;

$client = $this->app->make(Client::class);
$acquiringPayment = $client->deposit(
    1, // id модели платежа (AcquiringPayment)
    1000, // сумма
    [], // необязательные параметры
    HttpClientInterface::METHOD_GET, // метод запроса
    ['Cache-Control' => 'no-cache'] // хэдеры запроса
);
```

### Запрос отмены оплаты заказа

[](#запрос-отмены-оплаты-заказа)

Обязательный аргумент - id модели платежа (AcquiringPayment).

```
use Avlyalin\SberbankAcquiring\Client\HttpClientInterface;
use Avlyalin\SberbankAcquiring\Client\Client;

$client = $this->app->make(Client::class);
$acquiringPayment = $client->reverse(
    1, // id модели платежа (AcquiringPayment)
    ['language' => 'EN'], // необязательные параметры
    HttpClientInterface::METHOD_GET, // метод запроса
    ['Cache-Control' => 'no-cache'] // хэдеры запроса
);
```

### Запрос возврата средств оплаты заказа

[](#запрос-возврата-средств-оплаты-заказа)

Обязательные аргументы: id модели платежа (AcquiringPayment), сумма.

```
use Avlyalin\SberbankAcquiring\Client\HttpClientInterface;
use Avlyalin\SberbankAcquiring\Client\Client;

$client = $this->app->make(Client::class);
$acquiringPayment = $client->refund(
    1, // id модели платежа (AcquiringPayment)
    500, // сумма
    ['language' => 'EN'], // необязательные параметры
    HttpClientInterface::METHOD_GET, // метод запроса
    ['Cache-Control' => 'no-cache'] // хэдеры запроса
);
```

### Получение статуса заказа

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

Обязательный аргумент - id модели платежа (AcquiringPayment).

```
use Avlyalin\SberbankAcquiring\Client\HttpClientInterface;
use Avlyalin\SberbankAcquiring\Client\Client;

$client = $this->app->make(Client::class);
$acquiringPayment = $client->getOrderStatusExtended(
    1, // id модели платежа (AcquiringPayment)
    ['language' => 'EN'], // необязательные параметры
    HttpClientInterface::METHOD_GET, // метод запроса
    ['Cache-Control' => 'no-cache'] // хэдеры запроса
);
```

### Запрос оплаты через Apple Pay

[](#запрос-оплаты-через-apple-pay)

Обязательный аргумент - **paymentToken**, полученный от системы Apple Pay. Подробнее [здесь](https://securepayments.sberbank.ru/wiki/doku.php/integration:api:rest:requests:payment_applepay).

```
use Avlyalin\SberbankAcquiring\Client\HttpClientInterface;
use Avlyalin\SberbankAcquiring\Client\Client;

$client = $this->app->make(Client::class);
$acquiringPayment = $client->payWithApplePay(
    'vnkXadsIDvejvKQPvcxbTqeEhfbPOG', // Токен, полученный от системы Apple Pay
    [ // необязательные параметры
        'orderNumber' => '123_abc',
        'language' => 'EN',
        'description' => 'payment description',
    ],
    HttpClientInterface::METHOD_GET, // метод запроса
    ['Cache-Control' => 'no-cache'] // хэдеры запроса
);
```

### Запрос оплаты через Samsung Pay

[](#запрос-оплаты-через-samsung-pay)

Обязательный аргумент - **paymentToken**, полученный от системы Samsung Pay. Подробнее [здесь](https://securepayments.sberbank.ru/wiki/doku.php/integration:api:rest:requests:payment_samsungpay).

```
use Avlyalin\SberbankAcquiring\Client\HttpClientInterface;
use Avlyalin\SberbankAcquiring\Client\Client;

$client = $this->app->make(Client::class);
$acquiringPayment = $client->payWithSamsungPay(
    'vnkXadsIDvejvKQPvcxbTqeEhfbPOG', // Токен, полученный от системы Samsung Pay
    [ // необязательные параметры
        'orderNumber' => '123_abc',
        'language' => 'EN',
        'description' => 'payment description',
    ],
    HttpClientInterface::METHOD_GET, // метод запроса
    ['Cache-Control' => 'no-cache'] // хэдеры запроса
);
```

### Запрос оплаты через Google Pay

[](#запрос-оплаты-через-google-pay)

Обязательные аргументы: **paymentToken**, полученный от системы Google Pay, сумма. Подробнее [здесь](https://securepayments.sberbank.ru/wiki/doku.php/integration:api:rest:requests:payment_googlepay).

```
use Avlyalin\SberbankAcquiring\Client\HttpClientInterface;
use Avlyalin\SberbankAcquiring\Client\Client;

$client = $this->app->make(Client::class);
$acquiringPayment = $client->payWithGooglePay(
    'vnkXadsIDvejvKQPvcxbTqeEhfbPOG', // Токен, полученный от системы Google Pay
    1000,
    [ // необязательные параметры
        'orderNumber' => '123_abc',
        'language' => 'EN',
        'description' => 'payment description',
    ],
    HttpClientInterface::METHOD_GET, // метод запроса
    ['Cache-Control' => 'no-cache'] // хэдеры запроса
);
```

### Запрос сведений о кассовом чеке

[](#запрос-сведений-о-кассовом-чеке)

Описание [здесь](https://securepayments.sberbank.ru/wiki/doku.php/integration:api:rest:requests:getreceiptstatus).

```
use Avlyalin\SberbankAcquiring\Client\HttpClientInterface;
use Avlyalin\SberbankAcquiring\Client\ApiClient;

$apiClient = $this->app->make(ApiClient::class);
$response = $apiClient->getReceiptStatus(
    [ // параметры
        'orderId' => 'kvp431_Wmvx_gqQx',
        'language' => 'EN'
    ],
    HttpClientInterface::METHOD_GET, // метод запроса
    ['Cache-Control' => 'no-cache'] // хэдеры запроса
);

if ($response->isOk) {
    print_r($response->getResponseArray());
} else {
    print_r($response->getErrorMessage());
}
```

### Запрос активации связки

[](#запрос-активации-связки)

Обязательный аргумент - идентификатор созданной ранее связки. Подробнее [здесь](https://securepayments.sberbank.ru/wiki/doku.php/integration:api:rest:requests:bindcard).

```
use Avlyalin\SberbankAcquiring\Client\HttpClientInterface;
use Avlyalin\SberbankAcquiring\Client\ApiClient;

$apiClient = $this->app->make(ApiClient::class);
$response = $apiClient->bindCard(
    '131-cvlg-1vcvc-14cvx', // id связки
    [], // необязательные параметры
    HttpClientInterface::METHOD_GET, // метод запроса
    ['Cache-Control' => 'no-cache'] // хэдеры запроса
);

if ($response->isOk) {
    print_r($response->getResponseArray());
} else {
    print_r($response->getErrorMessage());
}
```

### Запрос деактивации связки

[](#запрос-деактивации-связки)

Обязательный аргумент - идентификатор созданной ранее связки. Подробнее [здесь](https://securepayments.sberbank.ru/wiki/doku.php/integration:api:rest:requests:unbindcard).

```
use Avlyalin\SberbankAcquiring\Client\HttpClientInterface;
use Avlyalin\SberbankAcquiring\Client\ApiClient;

$apiClient = $this->app->make(ApiClient::class);
$response = $apiClient->unBindCard(
    '131-cvlg-1vcvc-14cvx', // id связки
    [], // необязательные параметры
    HttpClientInterface::METHOD_GET, // метод запроса
    ['Cache-Control' => 'no-cache'] // хэдеры запроса
);

if ($response->isOk) {
    print_r($response->getResponseArray());
} else {
    print_r($response->getErrorMessage());
}
```

### Запрос списка всех связок клиента

[](#запрос-списка-всех-связок-клиента)

Обязательный аргумент - номер (идентификатор) клиента в системе магазина. Подробнее [здесь](https://securepayments.sberbank.ru/wiki/doku.php/integration:api:rest:requests:getbindings).

```
use Avlyalin\SberbankAcquiring\Client\HttpClientInterface;
use Avlyalin\SberbankAcquiring\Client\ApiClient;

$apiClient = $this->app->make(ApiClient::class);
$response = $apiClient->getBindings(
    'client-id-1', // номер (идентификатор) клиента
    [], // необязательные параметры
    HttpClientInterface::METHOD_GET, // метод запроса
    ['Cache-Control' => 'no-cache'] // хэдеры запроса
);

if ($response->isOk) {
    print_r($response->getResponseArray());
} else {
    print_r($response->getErrorMessage());
}
```

### Запрос списка связок определённой банковской карты

[](#запрос-списка-связок-определённой-банковской-карты)

Описание [здесь](https://securepayments.sberbank.ru/wiki/doku.php/integration:api:rest:requests:getbindingsbycardorid).

```
use Avlyalin\SberbankAcquiring\Client\HttpClientInterface;
use Avlyalin\SberbankAcquiring\Client\ApiClient;

$apiClient = $this->app->make(ApiClient::class);
$response = $apiClient->getBindingsByCardOrId(
    'client-id-1', // номер (идентификатор) клиента
    [], // необязательные параметры
    HttpClientInterface::METHOD_GET, // метод запроса
    ['Cache-Control' => 'no-cache'] // хэдеры запроса
);

if ($response->isOk) {
    print_r($response->getResponseArray());
} else {
    print_r($response->getErrorMessage());
}
```

### Запрос изменения срока действия связки

[](#запрос-изменения-срока-действия-связки)

Обязательный аргумент - идентификатор созданной ранее связки. Подробнее [здесь](https://securepayments.sberbank.ru/wiki/doku.php/integration:api:rest:requests:extendbinding).

```
use Avlyalin\SberbankAcquiring\Client\HttpClientInterface;
use Avlyalin\SberbankAcquiring\Client\ApiClient;

$apiClient = $this->app->make(ApiClient::class);
$response = $apiClient->getBindingsByCardOrId(
    '131-cvlg-1vcvc-14cvx', // id связки
    [ // параметры
        'newExpiry' => 202012,
    ],
    HttpClientInterface::METHOD_GET, // метод запроса
    ['Cache-Control' => 'no-cache'] // хэдеры запроса
);

if ($response->isOk) {
    print_r($response->getResponseArray());
} else {
    print_r($response->getErrorMessage());
}
```

### Запрос проверки вовлечённости карты в 3DS

[](#запрос-проверки-вовлечённости-карты-в-3ds)

Обязательный аргумент - маскированный номер карты, которая использовалась для оплаты (PAN). Подробнее [здесь](https://securepayments.sberbank.ru/wiki/doku.php/integration:api:rest:requests:verifyenrollment).

```
use Avlyalin\SberbankAcquiring\Client\HttpClientInterface;
use Avlyalin\SberbankAcquiring\Client\ApiClient;

$apiClient = $this->app->make(ApiClient::class);
$response = $apiClient->verifyEnrollment(
    '4111111111111111', // номер карты
    HttpClientInterface::METHOD_GET, // метод запроса
    ['Cache-Control' => 'no-cache'] // хэдеры запроса
);

if ($response->isOk) {
    print_r($response->getResponseArray());
} else {
    print_r($response->getErrorMessage());
}
```

Настройки
---------

[](#настройки)

Ознакомьтесь с [файлом настроек](./config/sberbank-acquiring.php).

Аутентификация
--------------

[](#аутентификация)

Для аутентификации при обращении к платёжному шлюзу можно использовать следующие данные, полученные при регистрации:

- пара логин/пароль служебной учетной записи
- токен
- *логин продавца (при использовании платежных систем Apple Pay, Samsung Pay, Google Pay)*

файл конфигурации предоставляет параметры для задания данных аутентификации:

```
...
    'auth' => [
        'userName' => env('SBERBANK_USERNAME', ''),
        'password' => env('SBERBANK_PASSWORD', ''),
        'token' => env('SBERBANK_TOKEN', ''),
    ],
    'merchant_login' => env('SBERBANK_MERCHANT_LOGIN', ''),
...

```

Задать данные можно либо отредактировав файл конфигурации, либо указав их в `.env`:

```
SBERBANK_USERNAME=your_username
SBERBANK_PASSWORD=your_password
SBERBANK_TOKEN=your_token
SBERBANK_MERCHANT_LOGIN=your_merchant_login
```

Обновление статусов платежей
----------------------------

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

Некоторые операции не позволяют определить новый статус платежа. Для обновления статусов реализована **artisan**-команда, вызывающая операцию `getOrderStatusExtended` для всех платежей с заданным статусом.

Команда принимает аргумент **id** - набор id статусов платежей, для которых нужно обновить статус:

```
php artisan sberbank-acquiring:update-statuses --id=1 --id=7

```

Рекомендуется добавить команду в шедулер (**app/Console/Kernel.php**):

```
    use Avlyalin\SberbankAcquiring\Commands\UpdateStatusCommand;
    use Avlyalin\SberbankAcquiring\Models\AcquiringPaymentStatus;

    protected function schedule(Schedule $schedule)
    {
        $schedule->command(UpdateStatusCommand::class, [
            '--id' => [
                AcquiringPaymentStatus::NEW,
                AcquiringPaymentStatus::ACS_AUTH,
            ],
        ])->everyMinute();
    }
```

События (Events)
----------------

[](#события-events)

На данный момент реализовано одно событие:

СобытиеОписаниеПараметр*UpdateStatusCommandHasFailed*Во время обновления статусов платежей возникли ошибкиМассив исключенийИсключения (Exceptions)
-----------------------

[](#исключения-exceptions)

Пакет выбрасывает исключения, в случае возникновения ошибок.

ИсключениеПричина*HttpClientException*В ответ на запрос сервер вернул код, отличный от 200*NetworkException*Не удалось выполнить запрос*JsonException*Не удалось декодировать JSON ответ сервера*ResponseProcessingException*Не удалось сохранить ответ сервера*ConfigException*Ошибка файла конфигурации*ModelNotFoundException*Не удалось найти модель (платеж)*\\InvalidArgumentException*Некорректные параметры запроса*\\Throwable*При сохранении модели возникла ошибкаПоддержка
---------

[](#поддержка)

Если этот проект оказался для вас полезным, вы можете [поддержать его развитие здесь](https://www.patreon.com/user?u=38431737).

Лицензия (License)
------------------

[](#лицензия-license)

The MIT License (MIT). Please see [License File](https://github.com/avlyalin/laravel-sberbank-acquiring) for more information.

###  Health Score

13

—

LowBetter than 1% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity2

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity20

Early-stage or recently created project

 Bus Factor1

Top contributor holds 87.5% 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/041c1ea994a1affe6a752b173da63d5bef4ef246fbe14558db4f5b2d8e395a45?d=identicon)[XcreMANt](/maintainers/XcreMANt)

---

Top Contributors

[![avlyalin](https://avatars.githubusercontent.com/u/15813639?v=4)](https://github.com/avlyalin "avlyalin (112 commits)")[![MAXLG-GIT](https://avatars.githubusercontent.com/u/71430469?v=4)](https://github.com/MAXLG-GIT "MAXLG-GIT (7 commits)")[![XcreMANt](https://avatars.githubusercontent.com/u/37423783?v=4)](https://github.com/XcreMANt "XcreMANt (6 commits)")[![Dinver](https://avatars.githubusercontent.com/u/36528841?v=4)](https://github.com/Dinver "Dinver (3 commits)")

### Embed Badge

![Health badge](/badges/xcremant-laravel-sberbank-acquiring/health.svg)

```
[![Health](https://phpackages.com/badges/xcremant-laravel-sberbank-acquiring/health.svg)](https://phpackages.com/packages/xcremant-laravel-sberbank-acquiring)
```

###  Alternatives

[stripe/stripe-php

Stripe PHP Library

4.0k143.3M480](/packages/stripe-stripe-php)[twilio/sdk

A PHP wrapper for Twilio's API

1.6k92.9M272](/packages/twilio-sdk)[knplabs/github-api

GitHub API v3 client

2.2k15.8M187](/packages/knplabs-github-api)[facebook/php-business-sdk

PHP SDK for Facebook Business

90121.9M34](/packages/facebook-php-business-sdk)[meilisearch/meilisearch-php

PHP wrapper for the Meilisearch API

73813.7M114](/packages/meilisearch-meilisearch-php)[google/gax

Google API Core for PHP

263103.1M454](/packages/google-gax)

PHPackages © 2026

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