PHPackages                             haikiri/mikbill - 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. haikiri/mikbill

ActiveLibrary[API Development](/categories/api)

haikiri/mikbill
===============

MikBiLL PHP SDK for working with clients.

1.10.0(4mo ago)195MITPHPPHP &gt;=8.0CI passing

Since May 28Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/MKC-MKC/mikbill)[ Packagist](https://packagist.org/packages/haikiri/mikbill)[ Docs](https://github.com/MKC-MKC/mikbill)[ RSS](/packages/haikiri-mikbill/feed)WikiDiscussions main Synced today

READMEChangelog (10)Dependencies (2)Versions (14)Used By (0)

MikBiLL PHP SDK
===============

[](#mikbill-php-sdk)

MikBiLL PHP SDK для работы с клиентами. Получение токена, данных клиентов. Управление подписками, отписками и т.д...

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

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

Рекомендуемая версия PHP **&gt;=8.0** и composer.

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

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

```
composer require haikiri/mikbill
```

📚 Ссылки
--------

[](#-ссылки)

- [Ссылка на этот SDK](https://github.com/MKC-MKC/mikbill)
- [Ссылка на этот SDK в Composer](https://packagist.org/packages/haikiri/mikbill)
- [Структура API сервера в Postman](https://documenter.getpostman.com/view/5969645/TVCfXTtK)
- [Установка и настройка API сервера](https://wiki.mikbill.pro/billing/external/api_cabinet)

---

📂 Структура
-----------

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

Так как официальная документация и сам MikBiLL API не использует систему версионирования, данная библиотека будет всегда актуальной и по мере возможностей сохранять старые методы взаимодействия.

Эта SDK библиотека будет наполняться по мере необходимости, возможностей и откликов. Большинство методов и примеры их использования будут перечислены в папке тестирования `tests`. Ниже в структуре будут перечислены ссылки на классы и тесты...

---

На что вы можете рассчитывать:

- \[F\] - Функционал завершён.
- \[MD\] - Основной функционал завершён. (Дочерние методы, возможно, могут быть добавлены позднее)
- \[P\] - В приоритете. (По планам завершить в ближайшее время)
- \[MP\] - Средний приоритет. (Было бы хорошо иметь, но не критично, когда-нибудь...)
- \[LP\] - Низкий приоритет. (Возможно появление базового функционала для некоторых методов в будущем)
- \[NP\] - Не запланирован. (Может быть в будущем/По запросу)
- \[??\] - Требуется проверка.

Все запросы в Billing Api должны быть подписаны общим HMAC ключом. Пример [смотри ниже](#%D0%B8%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F-%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0).

Все запросы в Cabinet Api должны быть подписаны Bearer токеном клиента. Пример получения токена [для бота](https://github.com/MKC-MKC/mikbill/blob/8e528f0fae097a38ff33dad306ebe9f3bdacb2b5/tests/BillingGetTokenTest.php#L36)либо для [личного кабинета](https://github.com/MKC-MKC/mikbill/blob/8e528f0fae097a38ff33dad306ebe9f3bdacb2b5/tests/CabinetLoginTest.php#L40).

- **Billing API**
    - Users \[F\]
        - [Получить токен клиента](https://github.com/MKC-MKC/mikbill/blob/main/tests/BillingGetTokenTest.php#L36)
        - [Поиск клиента](https://github.com/MKC-MKC/mikbill/blob/main/tests/BillingSearchUsersTest.php#L34)
        - [Kick User](https://github.com/MKC-MKC/mikbill/blob/main/src/Billing/UsersController.php#L81)
- **Cabinet API**
    - Auth \[F\]
        - [Авторизация по логину и паролю](https://github.com/MKC-MKC/mikbill/blob/main/tests/CabinetLoginTest.php#L25)
        - [Авторизация по телефону](https://github.com/MKC-MKC/mikbill/blob/main/src/Cabinet/AuthController.php#L50)
            - [OTP-Код](https://github.com/MKC-MKC/mikbill/blob/main/src/Cabinet/AuthController.php#L70)
    - Tickets \[F\]
        - [Список тикетов](https://github.com/MKC-MKC/mikbill/blob/main/tests/TicketsTest.php#40)
        - [Создание тикета](https://github.com/MKC-MKC/mikbill/blob/main/tests/TicketsTest.php#L71)
        - [Смотреть переписку тикета](https://github.com/MKC-MKC/mikbill/blob/main/tests/TicketsTest.php#L113)
        - [Отправка сообщения](https://github.com/MKC-MKC/mikbill/blob/main/src/Cabinet/TicketsController.php#L86)
    - Common \[F\]
        - [Время сервера](https://github.com/MKC-MKC/mikbill/blob/8e528f0fae097a38ff33dad306ebe9f3bdacb2b5/tests/CommonTest.php#L43)
        - [IP Клиента](https://github.com/MKC-MKC/mikbill/blob/8e528f0fae097a38ff33dad306ebe9f3bdacb2b5/tests/CommonTest.php#L36)
        - [Версия MikBiLL](https://github.com/MKC-MKC/mikbill/blob/8e528f0fae097a38ff33dad306ebe9f3bdacb2b5/src/Cabinet/CommonController.php#L82)
        - [Конфигурация](https://github.com/MKC-MKC/mikbill/blob/8e528f0fae097a38ff33dad306ebe9f3bdacb2b5/src/Cabinet/CommonController.php#L64)
        - [Контакты компании](https://github.com/MKC-MKC/mikbill/blob/8e528f0fae097a38ff33dad306ebe9f3bdacb2b5/src/Cabinet/CommonController.php#L100)
        - [Меню сайта](https://github.com/MKC-MKC/mikbill/blob/8e528f0fae097a38ff33dad306ebe9f3bdacb2b5/src/Cabinet/CommonController.php#L118)
    - Packet \[F\]
        - [Доступные тарифы](https://github.com/MKC-MKC/mikbill/blob/main/src/Cabinet/PacketController.php#L24)
        - [Информация об тарифе](https://github.com/MKC-MKC/mikbill/blob/main/src/Cabinet/PacketController.php#L45)
    - User \[MD\]
        - [Данные Клиента](https://github.com/MKC-MKC/mikbill/blob/main/tests/CabinetUserTest.php#L13)
        - [Напомнить пароль](https://github.com/MKC-MKC/mikbill/blob/main/src/Cabinet/UserController.php#L47)
        - [Изменить пароль](https://github.com/MKC-MKC/mikbill/blob/main/src/Cabinet/UserController.php#L73)
        - [Изменить тариф](https://github.com/MKC-MKC/mikbill/blob/main/src/Cabinet/UserController.php#L101)
        - Contacts \[P\]
    - Register Hotspot \[NP\]
    - Payments \[MD\]
        - [Voucher](https://github.com/MKC-MKC/mikbill/blob/main/src/Cabinet/PaymentsController.php#L26)
        - Прочие методы... \[NP\]
    - Services \[MP\]
        - [Услуга Турбо](https://github.com/MKC-MKC/mikbill/blob/main/tests/ServicesTurboInactiveTest.php#L29)
        - [Услуга Заморозка](https://github.com/MKC-MKC/mikbill/blob/main/tests/ServicesFreezeInactiveTest.php#L28)
        - [Услуга Кредит](https://github.com/MKC-MKC/mikbill/blob/main/tests/ServicesCreditInactiveTest.php#L29)
        - Real IP \[MP\]
        - Change MAC \[LP\]
        - Money Transfers \[LP\]
    - Subscriptions \[MD\]
        - [Additional](https://github.com/MKC-MKC/mikbill/blob/main/src/Cabinet/SubscriptionsController.php#L87)
        - [Middleware](https://github.com/MKC-MKC/mikbill/blob/main/tests/SubscriptionsTest.php#L84)
        - [Other](https://github.com/MKC-MKC/mikbill/blob/main/tests/SubscriptionsTest.php#L40)
        - Прочие методы... \[NP\]
    - Devices \[NP\]
    - Reports \[F\]
        - [Платежи](https://github.com/MKC-MKC/mikbill/blob/main/tests/ReportsPaymentsTest.php#L44)
        - [Сессии](https://github.com/MKC-MKC/mikbill/blob/main/tests/ReportsSessionsTest.php#L44)
    - News \[F\]
        - [Новости](https://github.com/MKC-MKC/mikbill/blob/main/src/Cabinet/NewsController.php#L24)

---

🧯 Обработка ошибок
------------------

[](#-обработка-ошибок)

Проект поддерживает лёгкую обработку ошибок с помощью исключений.

- Исключения, которые могут быть выброшены в стандартной реализации SDK:
    - `BillApiException` — отлавливает ответы биллинга и возвращает оригинальный код и текст ошибки.
    - `UnauthorizedException` — вызывается если произошла ошибка получения данных в следствии авторизации.
    - `Throwable` — используйте с осторожностью для глубокого отлова всех остальных ошибок.
- Полный список исключений можете найти в `src/Exception`

Оборачивай вызовы в `try-catch` чтобы отловить исключения:

```
try {
    /**
    * Здесь выполняйте запросы к API, чтобы отлавливать ошибки.
    */

} catch (\Haikiri\MikBiLL\Exception\UnauthorizedException $e) {
    // Сами придумаете как обрабатывать такие ошибки...
	echo "Не удалось авторизовать запрос: [{$e->getCode()}]";
	echo $e->getMessage();
} catch (\Haikiri\MikBiLL\Exception\BillApiException $e) {
	echo "MikBiLL прислал в ответ ошибку: [{$e->getCode()}]";
	echo $e->getMessage();
} catch (\Exception $e) {
	echo "Неизвестная ошибка: [{$e->getCode()}]";
	echo $e->getMessage();
}
```

---

🚀 Пример использования
======================

[](#-пример-использования)

Инициализация проекта
---------------------

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

Используй эту базовую конструкцию где-нибудь в своём проекте, чтобы инициализировать SDK:

```
require "vendor/autoload.php";

use Haikiri\MikBiLL\MikBiLLApi;

$MikBiLL = new MikBiLLApi(
    url: "https://api.example.com/", # Твой Api сервер.
    key: "yourApiSignKey", # Твой Api ключ для подписи административных billing запросов.
//    proxy: "socks5://USER:PASSWORD@HOST:PORT" # Укажи прокси, если нужно (или оставь строку пустой).
//    debug: false, # Укажи `true` – чтобы включить отладку запросов.
);
```

> Обрати внимание, что при использовании отладки, используется системный `error_log` для регистрации запросов и ответов.

💬 Напоследок:
=============

[](#-напоследок)

Токен нужно записывать в stateless хранилище каждый раз для отправки запросов к `Cabinet API`. Пример записи токена:

```
$token = "Здесь Bearer токен клиента.";
$MikBiLL->setUserToken($token);
```

---

Обрати внимание, что почти над каждым методом в исходном коде были оставлены комментарии. Некоторые поля и методы не описаны, т.к. официальной документации на каждый параметр попросту нет. Будет круто, если ты поможешь заполнить пробелы и знаешь что за что отвечает...

Если в каком-то объекте нет нужной модели, нет времени ждать внесения изменений, ты можешь использовать метод:

`getAsArray` – он вернёт тебе традиционный response\["data"\] массив данных, напрямую из запроса.

`getData` - он позволит обращаться к вложенным массивам в стиле "точки.доступа", например `getData("data.info.user")`.

> Если хочешь дополнить библиотеку — напиши по контактам в `composer.json`.

###  Health Score

41

—

FairBetter than 87% of packages

Maintenance86

Actively maintained with recent releases

Popularity11

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity49

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 ~21 days

Recently: every ~8 days

Total

13

Last Release

139d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/a765385567aa2c87b71ca503881de82bfbcf5928a093bb34d064c35c1cbdd578?d=identicon)[Haikiri](/maintainers/Haikiri)

---

Top Contributors

[![MKC-MKC](https://avatars.githubusercontent.com/u/59623220?v=4)](https://github.com/MKC-MKC "MKC-MKC (188 commits)")

---

Tags

composer-librarycomposer-packagecomposer2mikbillphpphp-libraryphp8sdksdk-phpphpapisdkbillingUserscabinetmikbill

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/haikiri-mikbill/health.svg)

```
[![Health](https://phpackages.com/badges/haikiri-mikbill/health.svg)](https://phpackages.com/packages/haikiri-mikbill)
```

###  Alternatives

[openai-php/laravel

OpenAI PHP for Laravel is a supercharged PHP API client that allows you to interact with the Open AI API

3.7k9.5M89](/packages/openai-php-laravel)[hubspot/api-client

Hubspot API client

24016.2M20](/packages/hubspot-api-client)[resend/resend-php

Resend PHP library.

617.2M43](/packages/resend-resend-php)[php-opencloud/openstack

PHP SDK for OpenStack APIs. Supports BlockStorage, Compute, Identity, Images, Networking and Metric Gnocchi

2312.4M25](/packages/php-opencloud-openstack)[checkout/checkout-sdk-php

Checkout.com SDK for PHP

563.6M13](/packages/checkout-checkout-sdk-php)[eslazarev/wildberries-sdk

Wildberries OpenAPI clients (generated).

273.0k](/packages/eslazarev-wildberries-sdk)

PHPackages © 2026

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