2017 © Pedro PelΓ‘ez
 

library kassa-sdk

PHP SDK for Komtet Kassa

image

komtet/kassa-sdk

PHP SDK for Komtet Kassa

  • Monday, April 9, 2018
  • by rydikov
  • Repository
  • 2 Watchers
  • 4 Stars
  • 96 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 2 Forks
  • 4 Open issues
  • 14 Versions
  • 55 % Grown

The README.md

komtet-kassa-php-sdk

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ вашСго сайта с ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹ΠΌ сСрвисом распрСдСлСнной ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Ρ‡Π΅ΠΊΠΎΠ² ΠšΠžΠœΠ’Π•Π’ Касса, (*1)

ВрСбования

  • PHP >= 7.2
  • CURL

Установка

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Composer:, (*2)

composer require komtet/kassa-sdk

Π’Ρ€ΡƒΡ‡Π½ΡƒΡŽ:, (*3)

git clone https://github.com/Komtet/komtet-kassa-php-sdk
<?php

require __DIR__.'/komtet-kassa-php-sdk/autoload.php';

Для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΈΠ· examples ΠΈΠ· php-cli:, (*4)

make build
make cli_php_7 ΠΈΠ»ΠΈ make cli_php_8
php -f examples/v1/send_check_example.php

ИспользованиС v1

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ:, (*5)

<?php

use Komtet\KassaSdk\v1\Client;
use Komtet\KassaSdk\v1\QueueManager;

$key = 'ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°';
$secret = 'сСкрСтный ΠΊΠ»ΡŽΡ‡';
// PSR-совмСстимый Π»ΠΎΠ³Π³Π΅Ρ€ (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€)
$logger = null;
$client = new Client($key, $secret, $logger);
$manager = new QueueManager($client);

ПослС Ρ‡Π΅Π³ΠΎ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ:, (*6)

$manager->registerQueue('queue-name-1', 'queue-id-1');
$manager->registerQueue('queue-name-2', 'queue-id-2');
// 'queue-name-1' ΠΈ 'queue-name-2' - ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ псСвдомимы для обращСния ΠΊ очСрСдям.
// 'queue-id-1' ΠΈ 'queue-id-2' - ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ, созданных Π² Π»ΠΈΡ‡Π½ΠΎΠΌ ΠΊΠ°Π±ΠΈΠ½Π΅Ρ‚Π΅.

Π§Π΅ΠΊ

ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Ρ‡Π΅ΠΊΠ° Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ - ΠŸΡ€ΠΈΠΌΠ΅Ρ€

## ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Ρ‡Π΅ΠΊΠ° ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ†ΠΈΠΈ Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ - ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· имя ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ, установитС ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ:, (*7)

<?php

$manager->setDefaultQueue('queue-name-1');
$manager->putCheck($check);

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ состояниС ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ:, (*8)

<?php

$manager->isQueueActive('queue-name-1');

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ поставлСнной Π½Π° Ρ„ΠΈΡΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π·Π°Π΄Π°Ρ‡Π΅:, (*9)

<?php

$taskManager = new TaskManager($client);
try {
    $taskManager->getTaskInfo('task-id');
} catch (SdkException $e) {
    echo $e->getMessage();
}

Π—Π°ΠΊΠ°Π·

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π·Π°ΠΊΠ°Π·Π° Π½Π° доставку - ΠŸΡ€ΠΈΠΌΠ΅Ρ€

ОбновлСниС Π·Π°ΠΊΠ°Π·Π° Π½Π° доставку:, (*10)

<?php

$orderManager = new OrderManager($client);
$order_id = 1;

$order = new Order('123', TaxSystem::COMMON, 'new', 0);
$order->setClient('Π³.ПСнза, ΡƒΠ».Π‘ΡƒΠ²ΠΎΡ€ΠΎΠ²Π° Π΄.10 ΠΊΠ².25',
                  '+87654443322',
                  'client@email.com',
                  'Π‘Π΅Ρ€Π³Π΅Π΅Π² Π’ΠΈΠΊΡ‚ΠΎΡ€ Π‘Π΅Ρ€Π³Π΅Π΅Π²ΠΈΡ‡');
$order->setDeliveryTime('2018-02-28 14:00',
                        '2018-02-28 15:20');
$orderPosition = new OrderPosition(['oid' => '1',
                                    'name' => 'position name1',
                                    'price' => 555.0,
                                    'type' => 'product'
                                    ]);
$order->addPosition($orderPosition);

try {
    $orderManager->updateOrder($order_id, $order);
} catch (SdkException $e) {
    echo $e->getMessage();
}

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ Π·Π°ΠΊΠ°Π·Π΅:, (*11)

<?php

$orderManager = new OrderManager($client);
$order_id = 1;

try {
  $info = $orderManager->getOrderInfo($order_id);
} catch (SdkException $e) {
    echo $e->getMessage();
}

ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰ΡƒΡŽ скидку Π½Π° Π·Π°ΠΊΠ°Π·:, (*12)

<?php

$discount = 250;
$order->applyDiscount($discount);

Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Π·Π°ΠΊΠ°Π·:, (*13)

<?php

$orderManager = new OrderManager($client);
$order_id = 1;

try {
  $orderManager->deleteOrder($order_id);
} catch (SdkException $e) {
    echo $e->getMessage();
}

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список Π·Π°ΠΊΠ°Π·ΠΎΠ²:, (*14)

<?php

$orderManager = new OrderManager($client);

try {
    $orderList = $orderManager->getOrders();
} catch (SdkException $e) {
    echo $e->getMessage();
}

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список сотрудников:, (*15)

<?php

use Komtet\KassaSdk\EmployeeManager;
use Komtet\KassaSdk\EmployeeType;

$employeeManager = new EmployeeManager(client);

try {
    $employeeList = $employeeManager->getEmployees(EmployeeType::COURIER);
} catch (SdkException $e) {
    echo $e->getMessage();
}

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎ сотруднику:, (*16)

<?php

$employeeManager = new EmployeeManager(client);
$employeeID = 1;

try {
    $employee = $employeeManager->getEmployee($employeeID);
} catch (SdkException $e) {
    echo $e->getMessage();
}

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ сотрудника:, (*17)

<?php

$employeeManager = new EmployeeManager(client);
$employee = new Employee(EmployeeType::CASHIER, 'Full Name', 
                         'login_employee', 'password', 'POS_KEY');
$employee->setPaymentAddress('payment address');
$employee->setAccessSettings(true, false, none);

try {
    $employeeManager->createEmployee($employee);
} catch (SdkException $e) {
    echo $e->getMessage();
}

ОбновлСниС сотрудника:, (*18)

<?php

$employeeManager = new EmployeeManager(client);
$employee = new Employee(EmployeeType::CASHIER, 'Full Name', 
                         'login_employee', 'new_password', 'POS_KEY');
$employee->setPaymentAddress('new payment address');
$employee->setAccessSettings(true, true, true);

$employeeID = 1;

try {
    $employeeManager->updateEmployee($employeeID, $employee);
} catch (SdkException $e) {
    echo $e->getMessage();
}

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ сотрудника:, (*19)

<?php

$employeeManager = new EmployeeManager(client);
$employeeID = 1;

try {
    $employeeManager->deleteEmployee($employeeID);
} catch (SdkException $e) {
    echo $e->getMessage();
}

ИспользованиС v2

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ:, (*20)

<?php

use Komtet\KassaSdk\v2\Client;
use Komtet\KassaSdk\v2\QueueManager;

$key = 'ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°';
$secret = 'сСкрСтный ΠΊΠ»ΡŽΡ‡';
// PSR-совмСстимый Π»ΠΎΠ³Π³Π΅Ρ€ (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€)
$logger = null;
$client = new Client($key, $secret, $logger);
$manager = new QueueManager($client);

ПослС Ρ‡Π΅Π³ΠΎ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ:, (*21)

$manager->registerQueue('queue-name-1', 'queue-id-1');
$manager->registerQueue('queue-name-2', 'queue-id-2');
// 'queue-name-1' ΠΈ 'queue-name-2' - ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ псСвдомимы для обращСния ΠΊ очСрСдям.
// 'queue-id-1' ΠΈ 'queue-id-2' - ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ, созданных Π² Π»ΠΈΡ‡Π½ΠΎΠΌ ΠΊΠ°Π±ΠΈΠ½Π΅Ρ‚Π΅.


Π§Π΅ΠΊ

ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Ρ‡Π΅ΠΊΠ° Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ - ΠŸΡ€ΠΈΠΌΠ΅Ρ€

## ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Ρ‡Π΅ΠΊΠ° ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ†ΠΈΠΈ Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ - ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· имя ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ, установитС ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ:, (*22)

<?php

$manager->setDefaultQueue('queue-name-1');
$manager->putCheck($check);

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ состояниС ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ:, (*23)

<?php

$manager->isQueueActive('queue-name-1');

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ поставлСнной Π½Π° Ρ„ΠΈΡΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π·Π°Π΄Π°Ρ‡Π΅:, (*24)

<?php

$taskManager = new TaskManager($client);
try {
    $taskManager->getTaskInfo('task-id');
} catch (SdkException $e) {
    echo $e->getMessage();
}

Π—Π°ΠΊΠ°Π·

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π·Π°ΠΊΠ°Π·Π° Π½Π° доставку - ΠŸΡ€ΠΈΠΌΠ΅Ρ€

ОбновлСниС Π·Π°ΠΊΠ°Π·Π° Π½Π° доставку:

<?php

$orderManager = new OrderManager($client);
$order_id = 1;

$order = new Order('12345', 'new', true);

$orderCompany = new OrderCompany(TaxSystem::COMMON, 'Π£Π»ΠΈΡ†Π° Московская Π΄.4');
$order->setCompany($orderCompany);

$orderBuyer = new OrderBuyer('+87654443322', 
                             'Π³.ПСнза, ΡƒΠ».Π‘ΡƒΠ²ΠΎΡ€ΠΎΠ²Π° Π΄.10 ΠΊΠ².25')
$order->setOrderBuyer($orderBuyer);

$order->setDeliveryTime('20.02.2022 14:00',
                        '20.02.2022 15:20');

$orderPosition = new OrderPosition(['name' => 'position name1',
                                    'price' => 555.0,
                                    'quantity' => 1,
                                    'total' => 555.0,
                                    'vat' => '20',
                                    ]);
$order->addPosition($orderPosition);

try {
    $orderManager->updateOrder($order_id, $order);
} catch (ApiValidationException $e) {
    echo $e->getMessage();
    echo $e->getVLDCode();
    echo $e->getDescription();
} catch (SdkException $e) {
    echo $e->getMessage();
}

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² API v2 ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹ ΠΏΠΎ Π²Ρ‹Π·ΠΎΠ²Ρƒ с API v1(ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ прСдставлСны Π²Ρ‹ΡˆΠ΅ Π² описании API v1):

  • Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ Π·Π°ΠΊΠ°Π·Π΅
  • ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰ΡƒΡŽ скидку Π½Π° Π·Π°ΠΊΠ°Π·
  • Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Π·Π°ΠΊΠ°Π·
  • ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список Π·Π°ΠΊΠ°Π·ΠΎΠ²
  • ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список сотрудников
  • ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎ сотруднику
  • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ сотрудника
  • ОбновлСниС сотрудника
  • Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ сотрудника

The Versions

09/04 2018

dev-master

9999999-dev

PHP SDK for Komtet Kassa

  Sources   Download

MIT

The Requires

 

The Development Requires

by Komtet

09/04 2018

0.8.0

0.8.0.0

PHP SDK for Komtet Kassa

  Sources   Download

MIT

The Requires

 

The Development Requires

by Komtet

09/04 2018

dev-KK-80-add-authorised-person-to-correction-check

dev-KK-80-add-authorised-person-to-correction-check

PHP SDK for Komtet Kassa

  Sources   Download

MIT

The Requires

 

The Development Requires

by Komtet

02/04 2018

0.7.0

0.7.0.0

PHP SDK for Komtet Kassa

  Sources   Download

MIT

The Requires

 

The Development Requires

by Komtet

22/03 2018

dev-ffd_105

dev-ffd_105

PHP SDK for Komtet Kassa

  Sources   Download

MIT

The Requires

 

The Development Requires

by Komtet

28/11 2017

0.6.0

0.6.0.0

PHP SDK for Komtet Kassa

  Sources   Download

MIT

The Requires

 

The Development Requires

by Komtet

01/11 2017

0.5.2

0.5.2.0

PHP SDK for Komtet Kassa

  Sources   Download

MIT

The Requires

 

The Development Requires

by Komtet

31/10 2017

0.5.1

0.5.1.0

PHP SDK for Komtet Kassa

  Sources   Download

MIT

The Requires

 

The Development Requires

by Komtet

27/10 2017

0.5.0

0.5.0.0

PHP SDK for Komtet Kassa

  Sources   Download

MIT

The Development Requires

by Komtet

29/09 2017

0.4.0

0.4.0.0

PHP SDK for Komtet Kassa

  Sources   Download

MIT

The Development Requires

by Komtet

20/09 2017

0.3.0

0.3.0.0

PHP SDK for Komtet Kassa

  Sources   Download

MIT

The Development Requires

by Komtet

18/07 2017

0.2.1

0.2.1.0

PHP SDK for Komtet Kassa

  Sources   Download

MIT

The Development Requires

by Komtet

12/07 2017

0.2.0

0.2.0.0

PHP SDK for Komtet Kassa

  Sources   Download

MIT

The Development Requires

by Komtet

30/06 2017

0.1.0

0.1.0.0

PHP SDK for Komtet Kassa

  Sources   Download

MIT

The Development Requires

by Motmom