Расширение для фреймворка Yii2, позволяющее работать с PHP клиентом API ФНС для онлайн-чеков.
Описание доступных методов API находится можно посмотреть в README соответствующей библиотеки.
Предпочтительный способ устаноки расшрения через composer. Для работы расширения необходимо установить набор пакетов, реализующих стандарт PSR-7, например:
composer require php-http/curl-client guzzlehttp/psr7 php-http/message
Подробнее можно почитать здесь. Далее запустите
composer require --prefer-dist kosov/yii2-fns-check:"~1.0.0"
в директории своего проекта или добавьте
"kosov/yii2-fns-check": "~1.1.0"
в секцию require
файла composer.json
вашего проекта.
Для использования расширения сконфигурируйте компонент в конфигурации приложения:
return [
//....
'components' => [
'fnsCheck' => [
'class' => 'kosov\yii\fnscheck\FnsCheck',
'username' => '+7XXXXXXXXXX', // Логин пользователя
'password' => 'XXXXXX', // Пароль пользователя
],
]
];
/**
* Страница вывода детальной информации по чеку.
*/
public function actionDetail()
{
Yii::$app->getResponse()->format = Response::FORMAT_JSON;
// Данные с QR-кода t=20181109T194700&s=222.58&fn=XXXXXXXXXXXXXXXX&i=XXXXX&fp=XXXXXXXXX&n=1
$checkData = Yii::$app->fnsCheck->fromQrCode(Yii::$app->getRequest()->getQueryString());
try {
// Получение детальной информации по реквизитам чека
$response = Yii::$app->fnsCheck->getCheckDetail(new CheckDetail($checkData));
return Json::decode($response->getContents());
} catch (FnsCheckApiException $exception) {
return Json::encode(['error' => $exception->getMessage()]);
}
}