robokassa / sdk-php
SDK для работы с Robokassa в PHP
Installs: 4 124
Dependents: 0
Suggesters: 0
Security: 0
Stars: 6
Watchers: 2
Forks: 0
Open Issues: 0
pkg:composer/robokassa/sdk-php
Requires
- php: >=7.4
- guzzlehttp/guzzle: ^7.0
Requires (Dev)
- phpunit/phpunit: ^9.0
README
SDK для интеграции с платёжной системой Robokassa на PHP.
Позволяет отправлять платёжные запросы (включая JWT), проверять статус платежа и получать доступные методы оплаты.
📦 Установка
Установите SDK через Composer:
composer require robokassa/sdk-php
🚀 Доступные методы
| Метод | Описание | Документация |
|---|---|---|
payment()->sendJwt(array $params): string |
✅ Рекомендуемый способ. Создаёт ссылку на оплату через JWT-интерфейс | docs.robokassa.ru/pay-interface/#jwt |
payment()->sendCurl(array $params): string |
Создаёт ссылку на оплату через стандартный интерфейс | — |
webService()->getPaymentMethods(string $lang = 'ru'): array |
Получает список доступных методов оплаты | docs.robokassa.ru/xml-interfaces/#currency |
webService()->opState(int $invoiceID): array |
Получает статус оплаты по InvoiceID |
docs.robokassa.ru/xml-interfaces/#account |
status()->getInvoiceInformationList(array $filters): array |
Получает список выставленных счетов с возможностью фильтрации по статусу, дате, сумме и т.д. | docs.robokassa.ru/invoiceapi/#status |
receipt()->sendSecondCheck(array $payload): string |
Отправляет запрос на формирование второго чека и возвращает ответ | docs.robokassa.ru/second-check/#request |
receipt()->getCheckStatus(array $payload): array |
Отправляет запрос на получение статуса фискального чека | docs.robokassa.ru/second-check/#status |
⚙️ Настройка окружения
SDK не зависит от дополнительных библиотек для работы с конфигурацией: передавайте логин и пароли так, как это принято в вашем проекте (Laravel, Symfony, Docker, чистый PHP и т.д.). В SDK данные попадают в массив настроек при создании клиента, поэтому вы можете использовать любую существующую систему управления секретами.
Минимальная настройка для примеров
- Скопируйте файл
.env.exampleв.env. - Заполните переменные
ROBOKASSA_LOGIN,ROBOKASSA_PASSWORD1,ROBOKASSA_PASSWORD2. - Запустите нужный файл из папки
examples/. Файлexamples/bootstrap.phpавтоматически считывает.envи загружает значения в$_ENV.
Использование в собственном приложении
- Фреймворки (Laravel, Symfony и др.) — используйте штатные механизмы конфигурации и передавайте значения при создании
Robokassa. - Чистый PHP или Docker — задайте переменные окружения (например, через
exportилиdocker run -e) либо заполните$_ENVлюбым удобным способом.
$robokassa = new Robokassa( [ 'login' => getenv('ROBOKASSA_LOGIN') ?: '', 'password1' => getenv('ROBOKASSA_PASSWORD1') ?: '', 'password2' => getenv('ROBOKASSA_PASSWORD2') ?: '', 'hashType' => 'md5', ], new HttpClient() );
📂 Примеры использования
Полные примеры использования SDK находятся в папке examples/:
send_payment_jwt.php— создание ссылки на оплату через JWT (рекомендуется)send_payment_curl.php— создание ссылки на оплату через стандартный CURL-интерфейсget_payment_methods.php— получение доступных способов оплатыget_invoice_status.php— проверка статуса счётаsend_second_check.php— отправка второго чекаget_check_status.php— проверка статуса чекаget_invoice_information.php— запрос статуса созданного счета/ссылки
📌 Дополнительно
- Метод
payment()->sendJwt()— предпочтительный способ и рекомендуется к использованию. - Официальная документация: docs.robokassa.ru