nixprosoft / ATOL

ATOL PHP API client

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status Coverage Status codecov Codacy Badge

АТОЛ Онлайн

О проекте

Данная библиотека предназначена для работы с сервисом АТОЛ Онлайн.

Установка

Предполагается установка с использованием composer

composer require ssitdikov/atol

Пример использования

Запрос токена

$client = new ApiClient();

try {
    /**
     * @var TokenResponse $token
     */
    $token = $client->getToken(
        new TokenRequest('login', 'password')
    );
} catch (\Exception $e) {
// smth with exception
}

Операция продажи

//... $token = $client->getToken();
try {
    $uuid = '00001/11-2017'; // Уникальный id заказа
    $groupId = 'GroupId'; // Выдается АТОЛ
    
    $itemA = new Item('Товар 1', 1200.50, 1, Vat::TAX_NONE);
    $itemB = new Item('Товар 2', 3200.50, 1, Vat::TAX_NONE);
    
    $paymentElectr = new Payment(Payment::PAYMENT_TYPE_ELECTR, 4400.00);
    $paymentCredit = new Payment(Payment::PAYMENT_TYPE_CREDIT, 1.00);
    
    $receipt = new Receipt();
    $receipt->setSno(ReceiptSno::RECEIPT_SNO_USN_INCOME)
        ->setItems([$itemA, $itemB])
        ->setPhone('9170123456')
        ->setEmail('test@email.com')
        ->setPayments([$paymentElectr, $paymentCredit]);
    
    $inn = '1111111111'; // Ваш ИНН
    $payment_address = 'test.mystore.dev'; // Адрес вашего сайта
    $callback_url = 'http://test.mystore.dev/callback/api/url';
    
    $info = new Info($inn, $payment_address, $callback_url);

    /**
    * @var OperationResponse $operation
    */
    $operation = $client->doOperation(
        new OperationRequest($groupId, OperationRequest::OPERATION_SELL, $uuid, $receipt, $info, $token)
    );
    
    $uuidAtol = $operation->getUuid(); // Получаем уникальный идентификатор uuid из системы АТОЛ
} catch (\Exception $e) {
// smth with exception
}

Получить отчет по операции

//... $token = $client->getToken();
//... $uuidAtol = $operation->getUuid();
try {
    $groupId = 'GroupId'; // Выдается АТОЛ
    $report = $client->getReport(
        new ReportRequest($groupId, $uuidAtol, $token)
    );
} catch (\Exception $e) {
// smth with exception
}

About

ATOL PHP API client

License:MIT License


Languages

Language:PHP 100.0%