GithubHelp home page GithubHelp logo

atol.online's Introduction

Platron Atol SDK

Установка

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

composer require payprocessing/atol-online

Тесты

Для работы тестов необходим PHPUnit, для его установки необходимо выполнить команду

composer require phpunit/phpunit

Для того, чтобы запустить интеграционные тесты нужно скопировать файл tests/integration/MerchantSettingsSample.php удалив из названия Sample и вставив настройки магазина. После выполнить команду из корня проекта

vendor/bin/phpunit vendor/payprocessing/atol-online/tests/integration

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

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

$client = new Platron\Atol\clients\PostClient();

$tokenService = new Platron\Atol\services\GetTokenRequest('login', 'password');
$tokenResponse = new Platron\Atol\services\GetTokenResponse($client->sendRequest($tokenService));

2. Создание чека

$client = new Platron\Atol\clients\PostClient();
$receiptPosition = new Platron\Atol\data_objects\ReceiptPosition('Test product', 10.00, 2, Platron\Atol\data_objects\ReceiptPosition::TAX_VAT10);

$createDocumentService = (new Platron\Atol\services\CreateDocumentRequest('token'))
    ->addCustomerEmail('[email protected]')
    ->addCustomerPhone('79268750000')
    ->addGroupCode('groupCode')
    ->addInn('inn')
    ->addMerchantAddress('paymentAddress')
    ->addOperationType(Platron\Atol\services\CreateDocumentRequest::OPERATION_TYPE_BUY)
    ->addPaymentType(Platron\Atol\services\CreateDocumentRequest::PAYMENT_TYPE_ELECTRON)
    ->addSno(Platron\Atol\services\CreateDocumentRequest::SNO_ESN)
    ->addExternalId('externalId')
    ->addReceiptPosition($receiptPosition);
$createDocumentResponse = new Platron\Atol\services\CreateDocumentResponse($client->sendRequest($createDocumentService));

3. Запрос статуса

$client = new Platron\Atol\clients\PostClient();
$getStatusService = new Platron\Atol\services\GetStatusRequest('groupCode', 'uuid', 'token');
$getStatusResponse = new Platron\Atol\services\GetStatusResponse($client->sendRequest($getStatusService));

atol.online's People

Contributors

eruban avatar gulkinnos avatar lashnag avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

atol.online's Issues

Поддержка ФФД 1.05

С 01.01.2019 года все онлайн-кассы должны передавать чеки по версии формата фискальных документов (ФФД) 1.05. ФФД – это протокол или иначе набор правил, по которому касса передает чеки в ФНС через оператора фискальных данных.

Реализован ли протокол в вашем пакете? Если нет, планируете ли вы его поддерживать в ближайшее время (в течении 5 -10 дней)?

Package platron/atol-online is abadoned

При установке композер выдает предупреждение и в качестве замены предлагает platron/atol-online :-)
Наведите в этом порядок, а то непонятно поддерживается ли пакет или нет или переехал куда то.

Версия 4

Добрый день.
На сегодняшний день Атол выпустили 4 версию протокола, поддержку 3 планируют прекратить в июне 2018 года.
Готовите ли вы обновление проекта? Если да, то в какие сроки?

Ошибка PHP

Fatal error: Can't use function return value in write context in /home/*****/modules/gateways/qiwi/vendor/payprocessing/atol-online/src/clients/PostClient.php on line 62

PHP Version 5.3.29

Исправил у себя локально вынесением json_decode($response) в переменную, её же подставляю в empty и всё проходит без ошибок.

Добавление метода CreateDocumentRequest->addCallbackUrl

Добрый день, не затруднит ли Вас добавить данный метод?

/** @var string */
protected $callbackUrl;

/**
* Задать URL на который будет отправлен ответ после обработки документа (фискализации в ККТ)
* @param string $callbackUrl
* @return CreateDocumentRequest
*/
public function addCallbackUrl($callbackUrl){
$this->callbackUrl = $callbackUrl;
return $this;
}

и изменить CreateDocumentRequest->getParameters(){
...
'callback_url' => $this->callbackUrl,
...
}

передача ИНН в сервис atol.online при формировании чека

АТОЛ требует чтобы ИНН, в запросе на создание чека, приходил с типом 'строка' (в кавычках). Ваш код допускает ввод ИНН в виде числа, которое затем сериализуется без кавычек и приводит к ошибке в ответе от сервиса atol.online.

Следует изменить реализацию метода Platron\Atol\services\CreateDocumentRequest::addInn($inn)
на
/**
* Установить inn
* @param type $inn
* @return CreateDocumentRequest
*/
public function addInn($inn){
$this->inn = (string)$inn;
return $this;
}

чтобы избежать этой проблемы.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.