bayzet/chekonline

该包是一个类,用于与chekonline.ru在线结账服务的API进行交互

v1.0.8 2019-02-12 08:59 UTC

This package is auto-updated.

Last update: 2024-09-12 21:59:25 UTC


README

该包代表了一个用于与chekonline.ru在线收银服务API进行交互的简单工具,具有最小的使用设置。如果您需要一个最大可定制的chekonline交互客户端,建议使用官方SDK chekonline/chekonline-sdk-php。

安装

通过 Composer

要使用 composer 安装,请确保您位于项目根目录下,然后在控制台输入以下命令:

composer require bayzet/chekonline

快速开始

要在测试模式下运行,需要请求测试收银机的证书和私钥,并在创建客户端时传递它们。

try{
  // Создание клиента
  $chekonline = new ChekClient($certificate, $privateKey);
  
  // Включение тестового режима
  $chekonline->test_mode = true;
  
  // Создаём экземпляр метода API
  $datas = new ComplexMethod();
  
  // Необходимо указать email клиента, либо его номер телефона
  if($_POST['client_email'] != ""){
      $datas->PhoneOrEmail = $_POST['client_email'];
  }elseif($_POST['client_phone'] != ""){
      $datas->PhoneOrEmail = substr($_POST['client_phone'], -10);
  }

  // Указываем тип документра
  // В примере "Приход"
  $datas->DocumentType = DocumentType::INCOME;
  
  // Указываем тип системы налогообложения
  // В примере "Единый налог на вменённый доход"
  $datas->TaxMode = TaxMode::ENVD;
  
  // Добавление продукта в чек
  $datas->addProductItem($quantity, $price, TaxId::TAX_FREE, $description);
  
  // Отправка запроса
  $request = $chekonline->send($datas);
  
  // Вывод результата
  print_r($request);
}catch(Exception $e){
  printf('Ошибка (%d): %s' . PHP_EOL, $e->getCode(), $e->getMessage());
}