Skip to content
This repository has been archived by the owner on Jul 31, 2023. It is now read-only.
/ yii2-fns-check Public archive

Интеграция PHP клиента API ФНС для работы с онлайн-чеками с фреймворком Yii

License

Notifications You must be signed in to change notification settings

kosov/yii2-fns-check

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

yii2-fns-check

Расширение для фреймворка 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()]);
    }
}

About

Интеграция PHP клиента API ФНС для работы с онлайн-чеками с фреймворком Yii

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages