PHPackages                             ykweb/yii2-sberbank-pay - 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. [Payment Processing](/categories/payments)
4. /
5. ykweb/yii2-sberbank-pay

ActiveYii2-extension[Payment Processing](/categories/payments)

ykweb/yii2-sberbank-pay
=======================

125PHP

Since May 5Pushed 5y agoCompare

[ Source](https://github.com/ykweb/yii2-sberbank-pay)[ Packagist](https://packagist.org/packages/ykweb/yii2-sberbank-pay)[ RSS](/packages/ykweb-yii2-sberbank-pay/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependenciesVersions (5)Used By (0)

Yii2 Sberbank payment module
============================

[](#yii2-sberbank-payment-module)

Модуль позволяет организовать прием платежей через шлюз Сбербанка на вашем yii2-проекте. Для понимания принципов осуществления платежей через шлюз Сбербанка, пожалуйста, ознакомьтесь с официальной документацией, которую высылает техподдержка Сбербанка при регистрации мерчанта в их системе. При возникновении вопросов - пишите на контактную почту компании Pantera Digital, указанную в профиле компании на Github. Также мы готовы доработать модуль для вас, с предложениями также пишите на почту.

### Установка через композер

[](#установка-через-композер)

```
composer require ykweb/yii2-sberbank-pay "@dev"

```

### Запустить миграции

[](#запустить-миграции)

```
php yii migrate --migrationPath=@ykweb/yii2/pay/sberbank/migrations

```

### Настройка, добавить в config/main.php

[](#настройка-добавить-в-configmainphp)

```
'modules' => [
    'sberbank' => [
        'class' => 'ykweb\yii2\pay\sberbank\Module',
        'components' => [
            'sberbank' => [
                'class' => ykweb\yii2\pay\sberbank\components\Sberbank::class,

                // время жизни инвойса в секундах (по умолчанию 20 минут - см. документацию Сбербанка)
                // в этом примере мы ставим время 1 неделю, т.е. в течение этого времени покупатель может
                // произвести оплату по выданной ему ссылке
                'sessionTimeoutSecs' => 60 * 60 * 24 * 7,

                // логин api мерчанта
                'login' => 'ваш логин',

                // пароль api мерчанта
                'password' => 'ваш пароль',

                // использовать тестовый режим (по умолчанию - нет)
                'testServer' => false,
            ],
        ],

        // страница вашего сайта с информацией об успешной оплате
        'successUrl' => '/paySuccess',

        // страница вашего сайта с информацией о НЕуспешной оплате
        'failUrl' => '/payFail',

        // обработчик, вызываемый по факту успешной оплаты
        'successCallback' => function($invoice) {
            // какая-то ваша логика, например
            $order = \your\models\Order::findOne($invoice->order_id);
            $client = $order->getClient();
            $client->sendEmail('Зачислена оплата по вашему заказу №' . $order->id);
            // .. и т.д.
        },

        // необязательный callback для генерации uniqid инвойса, необходим
        // в том случае, если по каким-то причинам используемый по умолчанию
        // формат `#invoice_id#-#timestamp#` вам не подходит
        'idGenerator' => function(Invoice $invoice, int $id) {
            // $id - это uniqid, сгенерированный по умолчанию
            // вместо него используем собственный алгоритм, например такой
            return '000-AAA-' . $invoice->id;
        },
    ],
]

```

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

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

В вашем контроллере после сохранения заказа, либо на событие создания заказа вам необходимо создать инвойс, передав в него номер и сумму вашего заказа:

```
// ...здесь какая-то ваша логика по сохранению заказа, например это объект $order

// создаем и сохраняем инвойс, передаем в него номер и сумму вашего заказа
$invoice = \ykweb\yii2\pay\sberbank\models\Invoice::addSberbank($order->id, $order->price);

```

Далее для перенаправления пользователя на шлюз оплаты Сбербанка вам нужно выдать пользователю ссылку (либо автоматически перенаправить его) на url:

```
\yii\helpers\Html::a('Оплатить заказ', ['/sberbank/default/create', 'id' => $invoice->id /* id инвойса */])

```

При этом при переходе пользователя по этой ссылке (либо автоматическом перенаправлении) будет произведено обращение к API сбербанка для создания инвойса у них в системе, и перенаправление уже на платежную форму Сбербанка.

После успешной оплаты на шлюзе Сбербанка пользователь будет преренаправлен на `yoursite.com/paySuccess`. В случае неуспешной оплаты пользователь будет преренаправлен на `yoursite.com/payFail`. `paySuccess` и `payFail` задаются в настройках модуля, см. пример конфигурации.

### Статусы инвойсов

[](#статусы-инвойсов)

```
I - initial, инвойс создан
S - success, успешно оплачен

```

###  Health Score

20

—

LowBetter than 14% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity39

Early-stage or recently created project

 Bus Factor2

2 contributors hold 50%+ of commits

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/15299312f37bff1a7eab9d750fdc9451c85b921d713079aa9a8b848bd687fd45?d=identicon)[ykweb](/maintainers/ykweb)

---

Top Contributors

[![webmayak](https://avatars.githubusercontent.com/u/642519?v=4)](https://github.com/webmayak "webmayak (20 commits)")[![Singletonn](https://avatars.githubusercontent.com/u/9639275?v=4)](https://github.com/Singletonn "Singletonn (19 commits)")[![ykweb](https://avatars.githubusercontent.com/u/3439006?v=4)](https://github.com/ykweb "ykweb (17 commits)")

### Embed Badge

![Health badge](/badges/ykweb-yii2-sberbank-pay/health.svg)

```
[![Health](https://phpackages.com/badges/ykweb-yii2-sberbank-pay/health.svg)](https://phpackages.com/packages/ykweb-yii2-sberbank-pay)
```

###  Alternatives

[omnipay/paypal

PayPal gateway for Omnipay payment processing library

3156.8M53](/packages/omnipay-paypal)[eduardokum/laravel-boleto

Biblioteca com boletos para o laravel

626351.9k2](/packages/eduardokum-laravel-boleto)[tbbc/money-bundle

This is a Symfony bundle that integrates moneyphp/money library (Fowler pattern): https://github.com/moneyphp/money.

1961.9M](/packages/tbbc-money-bundle)[2checkout/2checkout-php

2Checkout PHP Library

83740.3k2](/packages/2checkout-2checkout-php)[smhg/sepa-qr-data

Generate QR code data for SEPA payments

61717.2k5](/packages/smhg-sepa-qr-data)[omnipay/dummy

Dummy driver for the Omnipay payment processing library

271.2M33](/packages/omnipay-dummy)

PHPackages © 2026

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