PHPackages                             tigusigalpa/yandexcloud-billing-php - 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. tigusigalpa/yandexcloud-billing-php

ActiveLibrary[API Development](/categories/api)

tigusigalpa/yandexcloud-billing-php
===================================

PHP SDK for Yandex Cloud Billing API

v2.0.2(5mo ago)61MITPHPPHP ^8.0

Since Oct 25Pushed 5mo agoCompare

[ Source](https://github.com/tigusigalpa/yandexcloud-billing-php)[ Packagist](https://packagist.org/packages/tigusigalpa/yandexcloud-billing-php)[ Docs](https://github.com/tigusigalpa/yandexcloud-billing-php)[ RSS](/packages/tigusigalpa-yandexcloud-billing-php/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (6)Versions (3)Used By (0)

Yandex Cloud Billing PHP SDK
============================

[](#yandex-cloud-billing-php-sdk)

[![Yandex Cloud Billing PHP SDK](https://private-user-images.githubusercontent.com/2721390/511406307-3f8a22f8-2f47-4a0a-8198-b072cef361b3.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzM5MzI5NDAsIm5iZiI6MTc3MzkzMjY0MCwicGF0aCI6Ii8yNzIxMzkwLzUxMTQwNjMwNy0zZjhhMjJmOC0yZjQ3LTRhMGEtODE5OC1iMDcyY2VmMzYxYjMucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDMxOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjAzMTlUMTUwNDAwWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9Njk2MTIzODg5NjA5NWMxMDFmYjlhZjVhOTFkMzI3NzZjOGE4NjE4ZTg0ZTc4YjI5ODRjY2ZjMzk2NjFlYWVlYyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.PL5iiye7TUOrB0FsO1bJkz0xY8flWtc6CpiSXzzPUYU)](https://private-user-images.githubusercontent.com/2721390/511406307-3f8a22f8-2f47-4a0a-8198-b072cef361b3.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzM5MzI5NDAsIm5iZiI6MTc3MzkzMjY0MCwicGF0aCI6Ii8yNzIxMzkwLzUxMTQwNjMwNy0zZjhhMjJmOC0yZjQ3LTRhMGEtODE5OC1iMDcyY2VmMzYxYjMucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDMxOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjAzMTlUMTUwNDAwWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9Njk2MTIzODg5NjA5NWMxMDFmYjlhZjVhOTFkMzI3NzZjOGE4NjE4ZTg0ZTc4YjI5ODRjY2ZjMzk2NjFlYWVlYyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.PL5iiye7TUOrB0FsO1bJkz0xY8flWtc6CpiSXzzPUYU)

[![Latest Version on Packagist](https://camo.githubusercontent.com/8f0f14b59c21248bf693796981fc8a4aea2a52cfd580debec0a64e8a2abe6f51/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f74696775736967616c70612f79616e646578636c6f75642d62696c6c696e672d7068702e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/tigusigalpa/yandexcloud-billing-php)[![PHP Version](https://camo.githubusercontent.com/6b7b0c644f303423f3afdfd183c86e39322137fa454b8d60f5f16c06c2a28066/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f74696775736967616c70612f79616e646578636c6f75642d62696c6c696e672d7068702e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/tigusigalpa/yandexcloud-billing-php)[![License](https://camo.githubusercontent.com/fc2f40a4d9dd08b879c8db5cca3bf91eacafdaad0a1560e077faf9506be0e75b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f74696775736967616c70612f79616e646578636c6f75642d62696c6c696e672d7068702e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/tigusigalpa/yandexcloud-billing-php)

PHP/Laravel клиентская библиотека для **Yandex Cloud Billing API** — сервиса управления биллинговыми аккаунтами, бюджетами и анализа расходов в Yandex Cloud.

> **Примечание:** Этот пакет использует [yandex-cloud-client-php](https://github.com/tigusigalpa/yandex-cloud-client-php) для управления инфраструктурой Yandex Cloud (авторизация, организации, облака, каталоги).

📚 Документация
--------------

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

- [Документация Yandex Cloud Billing](https://yandex.cloud/ru/docs/billing/)
- [Руководство по быстрому старту](https://yandex.cloud/ru/docs/billing/quickstart/)
- [Справочник API](https://yandex.cloud/ru/docs/billing/api-ref/)
- [Руководство по OAuth токенам](https://yandex.cloud/ru/docs/iam/concepts/authorization/oauth-token)
- API Endpoint: `https://billing.api.cloud.yandex.net`

✨ Возможности
-------------

[](#-возможности)

- ✅ Полная поддержка Yandex Cloud Billing API
- ✅ **Автоматическая генерация IAM токена из OAuth токена**
- ✅ Управление биллинговыми аккаунтами
- ✅ Создание и управление бюджетами с уведомлениями
- ✅ Привязка облаков к биллинговым аккаунтам
- ✅ Управление правами доступа
- ✅ OAuth и Service Account аутентификация
- ✅ **Кэширование IAM токенов** (файловая система, Redis)
- ✅ PHP 8.0+ со строгой типизацией
- ✅ Интеграция с Laravel 8-12 (service provider, facade, config)
- ✅ **Artisan команды** для управления через CLI
- ✅ Типизированные исключения для лучшей обработки ошибок
- ✅ Валидация данных перед отправкой в API
- ✅ Комплексное покрытие тестами

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

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

```
composer require tigusigalpa/yandexcloud-billing-php
```

⚙️ Конфигурация (Laravel)
-------------------------

[](#️-конфигурация-laravel)

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

```
php artisan vendor:publish --tag=yandex-cloud-billing-config
```

Добавьте переменные окружения в ваш `.env`:

```
# РЕКОМЕНДУЕТСЯ: Используйте OAuth токен (начинается с y0_, y1_, y2_, y3_)
# OAuth токены не истекают и автоматически конвертируются в IAM токены
YANDEX_OAUTH_TOKEN=y0_your-oauth-token

# АЛЬТЕРНАТИВА: Service Account (рекомендуется для production)
YANDEX_CLOUD_AUTH_TYPE=service_account
YANDEX_SERVICE_ACCOUNT_ID=your-service-account-id
YANDEX_SERVICE_ACCOUNT_KEY_ID=your-key-id
YANDEX_SERVICE_ACCOUNT_PRIVATE_KEY=your-private-key

# Настройки кэширования
YANDEX_CLOUD_CACHE_ENABLED=true
YANDEX_CLOUD_CACHE_DRIVER=file
YANDEX_CLOUD_CACHE_TTL=43200
```

🔐 Руководство по авторизации и подключению к API
------------------------------------------------

[](#-руководство-по-авторизации-и-подключению-к-api)

### Шаг 1: Получение OAuth токена

[](#шаг-1-получение-oauth-токена)

**Документация:** [Руководство по OAuth токенам](https://yandex.cloud/ru/docs/iam/concepts/authorization/oauth-token)

**Получите токен через OAuth запрос:**

```
https://oauth.yandex.ru/authorize?response_type=token&client_id=1a6990aa636648e9b2ef855fa7bec2fb

```

1. Откройте URL выше в вашем браузере
2. Авторизуйте приложение
3. Скопируйте OAuth токен из URL ответа (формат: `y0_...`, `y1_...`, `y2_...`, `y3_...`)
4. Добавьте токен в `.env` (Laravel): ```
    YANDEX_OAUTH_TOKEN=y0_your-oauth-token
    ```

**Или используйте Yandex CLI:**

```
yc iam create-token
```

⚠️ **Важно**: Никогда не записывайте токены прямо в код! Используйте переменные окружения или конфигурационные файлы.

### Шаг 2: Получение IAM токена (автоматически)

[](#шаг-2-получение-iam-токена-автоматически)

IAM токен генерируется автоматически из OAuth токена и кэшируется на 12 часов. Вам не нужно делать это вручную.

```
use Tigusigalpa\YandexCloudBilling\YandexCloudBillingClient;

// OAuth токен автоматически обменивается на IAM-токен
$client = new YandexCloudBillingClient('y0_your-oauth-token');
```

### Шаг 3: Service Account (для production)

[](#шаг-3-service-account-для-production)

**Документация:** [Service Account](https://yandex.cloud/ru/docs/iam/concepts/users/service-accounts)

Для production окружения рекомендуется использовать Service Account:

```
use Tigusigalpa\YandexCloudBilling\YandexCloudBillingClient;

$client = YandexCloudBillingClient::createWithServiceAccount(
    'service-account-id',
    'key-id',
    'private-key-content'
);
```

🚀 Быстрый старт
---------------

[](#-быстрый-старт)

### Базовое использование (PHP)

[](#базовое-использование-php)

```
