PHP code example of haikiri / mikbill

1. Go to this page and download the library: Download haikiri/mikbill library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

haikiri / mikbill example snippets




use Haikiri\MikBiLL\MikBiLLApi;

$MikBiLL = new MikBiLLApi(
    url: "https://api.example.com/", # Твой Api сервер.
    key: "yourApiSignKey", # Твой Api ключ для подписи запросов.
);

$MikBiLL::$debug = true;

$MikBiLL->isProxy = false; # true чтобы включить
$MikBiLL->proxy_addr = "10.11.12.13";
$MikBiLL->proxy_port = 8080;
$MikBiLL->proxy_user = "userName";
$MikBiLL->proxy_pass = "userPassword";

$MikBiLL->proxy_type = CURLPROXY_SOCKS4;

$billing_uid = 13; # UID клиента в MikBiLL.
$token = $MikBiLL->billing->Users()->getUserToken(uid: $billing_uid);

$MikBiLL->setUserToken(token: $token);

$MikBiLL->getUserToken();

echo "<h3>token:</h3>";
echo "<code style='font-size: 18px;'>{$MikBiLL->getUserToken()}</code><hr>";

$user = $MikBiLL->cabinet->User()->getUser();
echo "<h2>[{$user->getUserFirstName()} {$user->getUserMiddleName()}]</h2>";
echo "<h3>Массив данных клиента:</h3>";
echo "<pre>" . print_r($user->getAsArray(), true) . "</pre><hr>";

# Пример поиска всех клиентов у которых 'state' равен (=) '4' (то есть удалён):
$searchResult = $MikBiLL->billing->Users()->searchUser(
    key: "state",     # Указываем ключ 'state'
    value: "4",       # state - это статус клиента: (1 - обычный, 2 - заморожен, 3 - отключен, 4 - удален)
    operator: "=",    # Возможные операторы: ['<', '=', '>', '>=', '!='] или ['меньше', 'равно', 'больше', 'больше или равно', 'не равно']
);

echo "<h3>Список удалённых клиентов:</h3>";
foreach ($searchResult->getUsers() as $user) {
    echo "<h2>[uid: {$user->getUserId()}] – {$user->getUserFirstName()} {$user->getUserMiddleName()}</h2>";
}

echo "<h3>Данные конкретного клиента:</h3>";
$billing_uid = 13; # UID клиента в MikBiLL.
$user = $MikBiLL->billing->Users()->searchUser(value: $billing_uid)->getOne();
echo "<h2>[uid: {$user->getUserId()}] – {$user->getUserFirstName()} {$user->getUserMiddleName()}</h2>";

echo "<h3>Доступные подписки клиенту:</h3>";

$subs = $MikBiLL->cabinet->Subscriptions()->getSubscriptions();
foreach ($subs->getSubscriptions() as $sub) {
    echo "<hr><h2><code>[id:{$sub->getId()}] " . $sub->getName() . "</code></h2>";
    echo "<li>Цена: {$sub->getServicePrice()} {$sub->getCurrency()}.</li>";
    echo "<p>Описание: {$sub->getDescription()}</p>";
}

$id = 101; # ID услуги в MikBiLL.
$status = $MikBiLL->cabinet->Subscriptions()->setSubscriptions(id: $id, activate: 1);

echo $status
	? "Успешно оформили подписку №$id."
	: "Не удалось оформить подписку №$id.";

$id = 101; # ID услуги в MikBiLL.
$status = $MikBiLL->cabinet->Subscriptions()->setSubscriptions(id: $id);

echo $status
	? "Успешно отписались от подписки №$id."
	: "Не удалось отписаться от подписки №$id.";

$token = $MikBiLL->cabinet->Auth()
	->login("userLogin", "userPassword")
	->getToken();

echo $token
	? "Успешно авторизовались."
	: "Не удалось авторизоваться.";

#   Обязательно запоминаем полученный токен для последующих запросов.
$MikBiLL->setUserToken($token);