Skip to content

orangedata-official/PHP-OrangeData-official

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PHPOrangeData

PHP integration for OrangeData service

Актуальная версия библиотеки: 4.0.0

Версия PHP: 5.6.6+

Версия протокола взаимодействия с интернет кассой: 2.29.1 от 15.11.2023

Содержание

Начало работы

Подключение библиотеки

Для начала работы необходимо подключить файл класса:

<?php
include_once 'orangedata_client.php';

Создание клиента

<?php
$client = [
  'inn' => '0123456789',
  'api_url' => '2443',
  // 'api_url' => 'https://apip.orangedata.ru:2443', // link access
  'sign_pkey' => dirname(__DIR__) . '/secure_path/private_key.pem',
  'ssl_client_key' => dirname(__DIR__) . '/secure_path/client.key',
  'ssl_client_crt' => dirname(__DIR__) . '/secure_path/client.crt',
  'ssl_ca_cert' => dirname(__DIR__) . '/secure_path/cacert.pem',
  'ssl_client_crt_pass' => 1234,
];

$buyer = new orangedata\orangedata_client($client); // create new client

Cвойства клиента

Имя Обязательное поле Описание
inn Да ИНН организации (строка от 1 до 64)
api_url Да Порт, на который будем отправлять запросы или Адрес API или прокси
sign_pkey Да Путь к приватному ключу, который используется для подписи "чека"
ssl_client_key Да Путь к приватному ключу используемому для 2ssl взаимодействия
ssl_client_crt Да Путь к клиентскому сертификату используемому для 2ssl
ssl_ca_cert Да Путь к cacert.pem
ssl_client_crt_pass Да Пароль к клиентскому сертификату

Для включения записи логов в файл 'curl.log', прописываем:

<?php
$buyer->is_debug();

Заказ

Создание заказа

После того, как создали клиента, можно приступить к созданию заказа.

<?php
$order = [
  'id' => '23423423434',
  'type' => 1,
  'customerContact' => 'example@example.com',
  'taxationSystem' => 1,
  'key' => '1234567',
  'ffdVersion' => 4
];

$buyer->create_order($order);

Cвойства заказа

Имя Обязательное поле Описание
id Да Идентификатор документа (строка от 1 до 64)
type Да 1 - Приход
2 - Возврат прихода
3 - Расход
4 - Возврат расхода
customerContact Да Телефон или электронный адрес покупателя (строка от 1 до 64)
taxationSystem Да 0 - Общая, ОСН
1 - Упрощенная доход, УСН доход
2 - Упрощенная доход минус расход, УСН доход - расход
3 - Единый налог на вмененный доход, ЕНВД
4 - Единый сельскохозяйственный налог, ЕСН
5 - Патентная система налогообложения, Патент
key Да Название ключа, который должен быть использован для проверки подпись. Для клиентов используется их ИНН, для партнеров и платежных агентов код с маской 301****, для вендинга 401**** (cтрока от 1 до 32 )
group Да Группа устройств, с помощью которых будет пробит чек (строка от 1 до 32 символов), по умолчанию 'Main'. Чтобы работать с ФФД1.2 - 'Main_2'
ffdVersion Нет Версия ФФД.
2 - ФФД1.05
4 - ФФД1.2
По умолчанию - 2
ignoreItemCodeCheck Нет Булево значение, указывающее стоит ли игнорировать проверку КМ. Если флаг не указан, то для формирования чека все КМ должны успешно пройти проверку: в тэге 2106 биты номер 0, 1, 2, 3 имеют состояние «1» Если же флаг не указан и КМ не прошел проверку чек не будет сформирован и запрос статуса будет возвращать статус 422 Unprocessable Entity. По умолчанию - false

Добавление позиции в заказ

<?php
$position = [
  'quantity' => '10',
  'price' => 100,
  'tax' => 1,
  'text' => 'some text',
  'paymentMethodType' => 3,
  'paymentSubjectType' => 1,
  'nomenclatureCode' => 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
  'supplierInfo' => [
    'phoneNumbers' => ['+79266660011', '+79293456723'],
    'name' => 'PAO Example',
  ],
  'supplierINN' => 1234567890,
  'agentType' => 127,
  'agentInfo' => [
    'paymentTransferOperatorPhoneNumbers' => ['+79266660011', '+79293456723'],
    'paymentAgentOperation' => 'some operartion',
    'paymentAgentPhoneNumbers' => ['+79266660011', '+79293456723'],
    'paymentOperatorPhoneNumbers' => ['+79266660011'],
    'paymentOperatorName' => 'OAO ATLANT',
    'paymentOperatorAddress' => 'Address',
    'paymentOperatorInn' => 1234567890,
  ],
  'unitOfMeasurement' => 'kg',
  'additionalAttribute' => 'attribute',
  'manufacturerCountryCode' => '534',
  'customsDeclarationNumber' => 'AD 11/77 from 01.08.2018',
  'excise' => '12.43',
];

$buyer->add_position_to_order($position);

Cвойства позиции

Имя Обязательное поле Описание
quantity Да Количество предмета расчета (десятичное число)
price Да Цена за единицу предмета расчета с учетом скидок и наценок (десятичное число)
tax Да Ставка НДС:
1 - ставка НДС 20%
2 - ставка НДС 10%
3 - ставка НДС расч. 20/120
4 - ставка НДС расч. 10/110
5 - ставка НДС 0%
6 - НДС не облагается
taxSum Сумма НДС за предмет расчета (Десятичное число)
Параметр актуален дляставок НДС 1-4. Для ставок 5 и 6 данный тэг в предмете расчета не передается, переданное значение игнорируется.
text Да Наименование предмета расчета (строка до 128 символов)
paymentMethodType Да Признак способа расчета:
1 - Предоплата 100%
2 - Частичная предоплата
3 - Аванс
4 - Полный расчет
5 - Частичный расчет и кредит
6 - Передача в кредит
7 - оплата кредита
paymentSubjectType Да Признак предмета расчета:
1 - Товар
2 - Подакцизный товар
3 - Работа
4 - Услуга
5 - Ставка азартной игры
6 - Выигрыш азартной игры
7 - Лотерейный билет
8 - Выигрыш лотереи
9 - Предоставление РИД
10 - Платеж
11 - Агентское вознаграждение
12 - Составной предмет расчета
13 - Иной предмет расчета
14 - Имущественное право
15 - Внереализационный доход*
16 - Страховые взносы*
17 - Торговый сбор
18 - Курортный сбор
19 - Залог
20 – Расход
21 – Взносы на обязательное пенсионное страхование ИП
22 – Взносы на обязательное пенсионное страхование
23 – Взносы на обязательное медицинское страхование ИП
24 – Взносы на обязательное медицинское страхование
25 – Взносы на обязательное социальное страхование
26 – Платеж казино
27 – Выдача денежных средств
30 – АТНМ (не имеющем кода маркировки)
31 – АТМ (имеющем код маркировки)
32 – ТНМ
33 – ТМ
nomenclatureCode Код товарной номенклатуры (строка, содержащая base64 кодированный массив от 1 до 32 байт)
itemCode Код маркировки (Строка от 1 до 223 символов)
supplierInfo Данные поставщика (смотреть "Свойства supplierInfo")
supplierINN ИНН поставщика (строка длиной от 10 до 12 символов)
agentType Признак агента по предмету расчета (Число от 1 до 127)
agentInfo Данные агента (смотреть "Свойства agentInfo")
unitOfMeasurement Единица измерения предмета расчета (строка от 1 до 16)
quantityMeasurementUnit Мера количества предмета расчета (Число от 0 до 255, если не указан – 0)
additionalAttribute Дополнительный реквизит предмета расчета (строка от 1 до 64)
manufacturerCountryCode Код страны происхождения товара (строка длиной от 1 до 3 )
customsDeclarationNumber Номер таможенной декларации (строка от 1 до 32)
excise Акциз (десятичное число)
industryAttribute Отраслевой реквизит чека (смотреть "Свойства industryAttribute")
unitTaxSum Размер НДС за единицу предмета расчета (десятичное число)
plannedStatus Планируемый статус (Число от 0 до 256)
1 Штучный товар, подлежащий обязательной маркировке средством идентификации, реализован
2 Мерный товар, подлежащий обязательной маркировке средством идентификации, в стадии реализации,
3 Штучный товар, подлежащий обязательной маркировке средством идентификации, возвращен,
4 Часть товара, подлежащего обязательной маркировке средством идентификации, возвращена,
255 Статус товара, подлежащего обязательной маркировке средством идентификации, не изменился
fractionalQuantity Дробное количество маркированного товара (смотреть "Свойства fractionalQuantity")
barcodes Штрих-коды предмета расчета (смотреть "Свойства barcodes")

Параметры nomenclatureCode, unitOfMeasurement используются для ФФД 1.05
Параметры itemCode, quantityMeasurementUnit, industryAttribute, plannedStatus, fractionalQuantity, barcodes используются для ФФД 1.2

Cвойства supplierInfo

Имя Обязательное поле Описание
phoneNumbers Номера телефонов поставщика (массив строк длиной от 1 до 19 символов)
name Наименование поставщика (строка до 239 символов)

Cвойства agentInfo

Имя Обязательное поле Описание
paymentTransferOperatorPhoneNumbers Телефон оператора перевода (массив строк длиной от 1 до 19 символов)
paymentAgentOperation Операция платежного агента (строка до 24 символов)
paymentAgentPhoneNumbers Телефон платежного агента (массив строк длиной от 1 до 19 символов)
paymentOperatorPhoneNumbers Телефон оператора по приему платежей (массив строк длиной от 1 до 19 символов)
paymentOperatorName Наименование оператора перевода (строка до 64 символов)
paymentOperatorAddress Адрес оператора перевода (строка до 243 символов)
paymentOperatorINN ИНН оператора перевода (cтрока длиной от 10 до 12 символов)

Cвойства industryAttribute

Имя Обязательное поле Описание
foivId Идентификатор ФОИВ
causeDocumentDate Дата документа основания
causeDocumentNumber Номер документа основания
value Значение отраслевого реквизита

Cвойства fractionalQuantity

Имя Обязательное поле Описание
Numerator Числитель (Целое беззнаковое число)
Denominator Знаменатель (Целое беззнаковое число)

Cвойства barcodes

Имя Обязательное поле Описание
ean8 КТ EAN-8 (Строка 8 символов)
ean13 КТ EAN-13 (Строка 13 символов)
itf14 КТ ITF-14 (Строка 14 символов)
gs1 КТ GS1.0 (Строка от 1 до 38 символов)
mi КТ МИ (Строка 20 символов)
egais20 КТ ЕГАИС-2.0 (Строка 23 символов)
egais30 КТ ЕГАИС-3.0 (Строка 14 символов)
f1 КТ Ф.1 (Строка от 1 до 32 символов)
f2 КТ Ф.2 (Строка от 1 до 32 символов)
f3 КТ Ф.3 (Строка от 1 до 32 символов)
f4 КТ Ф.4 (Строка от 1 до 32 символов)
f5 КТ Ф.5 (Строка от 1 до 32 символов)
f6 КТ Ф.6 (Строка от 1 до 32 символов)

Добавление оплаты в заказ

<?php
$payment = [
  'type' => 16,
  'amount' => 131.23,
];

$buyer->add_payment_to_order($payment);

Cвойства оплаты

Имя Обязательное поле Описание
type Да Тип оплаты:
1 - сумма по чеку наличными, 1031
2 - сумма по чеку безналичными, 1081
14 - сумма по чеку предоплатой (зачетом аванса и (или) предыдущих платежей), 1215
15 - сумма по чеку постоплатой (в кредит), 1216
16 - сумма по чеку (БСО) встречным предоставлением, 1217
amount Да Сумма оплаты (десятичное число)

Добавление агента в заказ

Не поддерживается для ФФД1.2

<?php
$agent = [
  'agentType' => 127,
  'paymentTransferOperatorPhoneNumbers' => ['+79998887766', '+76667778899'],
  'paymentAgentOperation' => 'Operation',
  'paymentAgentPhoneNumbers' => ['+79998887766'],
  'paymentOperatorPhoneNumbers' => ['+79998887766'],
  'paymentOperatorName' => 'Name',
  'paymentOperatorAddress' => 'ulitsa Adress, dom 7',
  'paymentOperatorINN' => '3123011520',
  'supplierPhoneNumbers' => ['+79998887766', '+76667778899'],
];

$buyer->add_agent_to_order($agent);

Cвойства агента

Имя Обязательное поле Описание
agentType Признак агента по предмету расчета (число от 1 до 127)
paymentTransferOperatorPhoneNumbers Телефон оператора перевода (массив строк длиной от 1 до 19 символов)
paymentAgentOperation Операция платежного агента (строка до 24 символов)
paymentAgentPhoneNumbers Телефон платежного агента (массив строк длиной от 1 до 19 символов)
paymentOperatorPhoneNumbers Телефон оператора по приему платежей (массив строк длиной от 1 до 19 символов)
paymentOperatorName Наименование оператора перевода (строка до 64 символов)
paymentOperatorAddress Адрес оператора перевода (строка до 243 символов)
paymentOperatorINN ИНН оператора перевода (cтрока длиной от 10 до 12 символов)
supplierPhoneNumbers Телефон поставщика (массив строк длиной от 1 до 19 символов)

Добавление дополнительного реквизита пользователя

<?php
$userAttribute = [
  'name' => 'Like',
  'value' => 'Example',
];

$buyer->add_user_attribute($userAttribute);

Cвойства дополнительного реквизита пользователя

Имя Обязательное поле Описание
name Наименование дополнительного реквизита пользователя (строка от 1 до 64 символов)
value Значение дополнительного реквизита пользователя (строка от 1 до 234 символов)

Добавление дополнительных полей

<?php
$additional = [
  'additionalAttribute' => 'Attribute',
  'customer' => 'Ivanov Ivan',
  'customerINN' => '0987654321',
];

$buyer->add_additional_attributes($additional);

Cвойства дополнительных полей

Имя Обязательное поле Описание
additionalAttribute Дополнительный реквизит чека(БСО) (строка от 1 до 16 символов)
customer Покупатель (клиент) (строка от 1 до 243 символов)
customerINN ИНН покупателя (клиента) (Строка длиной от 10 до 12 символов)
customerInfo Сведения о покупателе (смотреть "Свойства customerInfo")
senderEmail Адрес электронной почты отправителя чека (Строка от 1 до 64 символов)
operationalAttribute Операционный реквизит чека (смотреть "Свойства operationalAttribute")
industryAttribute Отраслевой реквизит чека (смотреть "Свойства industryAttribute")
totalSum Сумма расчета, указанного в чеке (БСО) (десятичное число)
Форматы Фискальных Документов допускают в данном поле округление в нижнюю сторону. Дословно требование ФФД звучит так: «Значение в рублях, без учета копеек, должно быть равно значению суммы всех реквизитов «стоимость предмета расчета с учетом скидок и наценок» (тег 1043) в рублях, без учета копеек». Во избежание нестыковок рекомендуем использовать точное значение без округлений.
vat1Sum Сумма НДС чека по ставке 20% (десятичное число)
vat2Sum Сумма НДС чека по ставке 10% (десятичное число)
vat3Sum Сумма расчета по чеку с НДС по ставке 0% (десятичное число)
vat4Sum Сумма расчета по чеку без НДС (десятичное число)
vat5Sum Сумма НДС чека по расч. ставке 20/120 (десятичное число)
vat6Sum Сумма НДС чека по расч. ставке 10/110 (десятичное число)

Cвойства customerInfo

Имя Обязательное поле Описание
name Покупатель (Строка от 1 до 239 символов)
inn ИНН покупателя (Строка длиной от 10 до 12 символов, формат ЦЦЦЦЦЦЦЦЦЦ)
birthDate Дата рождения покупателя (Строка 10 символов, формат ДД.ММ.ГГГГ)
citizenship Гражданство (Строка длиной от 1 до 3 символов, формат ЦЦЦ. Сервис автоматически дополнит строку до 3 символов пробелами)
identityDocumentCode Код вида документа, удостоверяющего личность (Строка длиной 2 символа, формат ЦЦ)
identityDocumentData Данные документа, удостоверяющего личность (Строка до 64 символов)
address Адрес покупателя (Строка от 1 до 239 символов)

Cвойства operationalAttribute

Имя Обязательное поле Описание
date Дата, время операции (Время в виде строки в формате ISO8601)
id Идентификатор операции (Число от 0 до 255)
value Данные операции (Строка от 1 до 64 символов)

Cвойства industryAttribute

Имя Обязательное поле Описание
foivId Идентификатор ФОИВ
causeDocumentDate Дата документа основания
causeDocumentNumber Номер документа основания
value Значение отраслевого реквизита

Для ФФД1.2 Параметры Customer и customerINN изменяется на один параметр customerInfo.

Добавление вендинга в заказ

<?php
$vending = [
  'automatNumber' => '21321321123',
  'settlementAddress' => 'Address',
  'settlementPlace' => 'Place',
];

$buyer->add_vending_to_order($vending);

Cвойства вендинга

Имя Обязательное поле Описание
automatNumber Номер автомата (строка от 1 до 20 символов)
settlementAddress Адрес расчетов (строка от 1 до 243 символов)
settlementPlace Место расчетов (Строка длиной от 10 до 12 символов)

Добавление курьера в заказ

<?php
$courier = [
  'settlementAddress' => 'Address',
  'settlementPlace' => 'Place',
  'cashier' => 'Test'
  'cashierINN' => '123456789012'
];

$buyer->add_courier_to_order($courier);

Cвойства курьера

Имя Обязательное поле Описание
settlementAddress Адрес расчетов (строка от 1 до 243 символов)
settlementPlace Место расчетов (Строка длиной от 10 до 12 символов)
cashier Кассир (Строка длиной от 1 до 64 символов)
cashierINN ИНН кассира (Строка длиной 12 символов)

Отправка заказа

После того, как заполнены все поля заказа и добавлены все параметры, можно отправлять заказ на обработку:

<?php
$result = $buyer->send_order();
var_dump($result);

Проверка статуса заказа

<?php
$order_status = $buyer->get_order_status(23423423434);
var_dump($order_status);

Чек коррекции

Создание чека коррекции ФФД1.05

<?php
$correction = [
  'id' => '23423423',
  'key' => '1234567',
  'correctionType' => 0,
  'type' => 1,
  'description' => 'cashier error',
  'causeDocumentDate' => new \DateTime(),
  'causeDocumentNumber' => '56ce',
  'totalSum' => 567.9,
  'cashSum' => 567,
  'eCashSum' => 0.9,
  'prepaymentSum' => 0,
  'postpaymentSum' => 0,
  'otherPaymentTypeSum' => 0,
  'tax1Sum' => 0,
  'tax2Sum' => 0,
  'tax3Sum' => 0,
  'tax4Sum' => 0,
  'tax5Sum' => 0,
  'tax6Sum' => 0,
  'taxationSystem' => 2,
];

$buyer->create_correction($correction);

Cвойства чека коррекции

Имя Обязательное поле Описание
id Да Идентификатор документа (строка от 1 до 64 символов)
group Да Группа устройств, с помощью которых будет пробит чек (строка от 1 до 32 символов), по умолчанию 'Main'
key Да Название ключа, который должен быть использован для проверки подписи (строка от 1 до 32 символов)
correctionType Да Тип коррекции 1173:
0. Самостоятельно
1. По предписанию
type Да Признак расчета, 1054:
1. Приход
3. Расход
description Да Описание коррекции (cтрока от 1 до 243 символов. )
causeDocumentDate Да Дата документа основания для коррекции (время в виде строки в формате ISO8601)
causeDocumentNumber Да Номер документа основания для коррекции (строка от 1 до 32 символов)
totalSum Да Сумма расчета, указанного в чеке (десятичное число)
cashSum Сумма по чеку (БСО) наличными (десятичное число)
eCashSum Сумма по чеку (БСО) безналичными (десятичное число)
prepaymentSum Сумма по чеку (БСО) предоплатой (зачетом аванса и (или) предыдущих платежей) (десятичное число)
postpaymentSum Сумма по чеку (БСО) постоплатой (в кредит) (десятичное число)
otherPaymentTypeSum Сумма по чеку (БСО) встречным предоставлением (десятичное число)
tax1Sum Сумма НДС чека по ставке 20% (десятичное число)
tax2Sum Сумма НДС чека по ставке 10% (десятичное число)
tax3Sum Сумма расчета по чеку с НДС по ставке 0% (десятичное число)
tax4Sum Сумма расчета по чеку без НДС (десятичное число)
tax5Sum Сумма НДС чека по расч. ставке 20/120 (десятичное число)
tax6Sum Сумма НДС чека по расч. ставке 10/110 (десятичное число)
taxationSystem Применяемая система налогообложения, 1055:
0. Общая
1. Упрощенная доход
2. Упрощенная доход минус расход
3. Единый налог на вмененный доход
4. Единый сельскохозяйственный налог
5. Патентная система налогообложения
ignoreItemCodeCheck Булево значение, указывающее стоит ли игнорировать проверку КМ. Если флаг не указан, то для формирования чека все КМ должны успешно пройти проверку: в тэге 2106 биты номер 0, 1, 2, 3 имеют состояние «1» Если же флаг не указан и КМ не прошел проверку чек не будет сформирован и запрос статуса будет возвращать статус 422 Unprocessable Entity. По умолчанию - false

Отправка чека коррекции ФФД1.05

<?php
$result = $buyer->post_correction();
var_dump($result);

Создание чека коррекции ФФД1.2

<?php
  $correction = [
      'ffdVersion' => 4,
      'id' => '23423423',
      'inn' => '7725327863',
      'key' => '1234567',
      'correctionType' => 0,
      'type' => 1,
      'group' => 'main_2',
      'causeDocumentDate' => new \DateTime(),
      'causeDocumentNumber' => '56ce',
      'totalSum' => 0,
      'customerContact' => 'liza@ya.ru',
      'vat1Sum' => 0,
      'vat2Sum' => 0,
      'vat3Sum' => 0,
      'vat4Sum' => 0,
      'vat5Sum' => 0,
      'vat6Sum' => 0,
  ];

$buyer->create_correction12($correction);

Cвойства чека коррекции

Имя Обязательное поле Описание
id Да Идентификатор документа (строка от 1 до 64 символов)
group Да Группа устройств, с помощью которых будет пробит чек (строка от 1 до 32 символов), по умолчанию 'Main_2'
inn Да ИНН организации, для которой пробивается чек
key Да Название ключа, который должен быть использован для проверки подписи (строка от 1 до 32 символов)
correctionType Да Тип коррекции 1173:
0. Самостоятельно
1. По предписанию
type Да Признак расчета, 1054:
1. Приход
3. Расход
customerContact Да Телефон или электронный адрес покупателя
ffdVersion Да Номер версии, по умолчанию - 4 (ФФД1.2). Для ФФД1.05 - используйте create_correction
description Да Описание коррекции (cтрока от 1 до 243 символов. )
causeDocumentDate Да Дата документа основания для коррекции (время в виде строки в формате ISO8601)
causeDocumentNumber Да Номер документа основания для коррекции (строка от 1 до 32 символов)
totalSum Сумма расчета, указанного в чеке (десятичное число)
vat1Sum Сумма НДС чека по ставке 20% (десятичное число)
vat2Sum Сумма НДС чека по ставке 10% (десятичное число)
vat3Sum Сумма расчета по чеку с НДС по ставке 0% (десятичное число)
vat4Sum Сумма расчета по чеку без НДС (десятичное число)
vat5Sum Сумма НДС чека по расч. ставке 20/120 (десятичное число)
vat6Sum Сумма НДС чека по расч. ставке 10/110 (десятичное число)
taxationSystem Применяемая система налогообложения, 1055:
0. Общая
1. Упрощенная доход
2. Упрощенная доход минус расход
3. Единый налог на вмененный доход
4. Единый сельскохозяйственный налог
5. Патентная система налогообложения
ignoreItemCodeCheck Булево значение, указывающее стоит ли игнорировать проверку КМ. Если флаг не указан, то для формирования чека все КМ должны успешно пройти проверку: в тэге 2106 биты номер 0, 1, 2, 3 имеют состояние «1» Если же флаг не указан и КМ не прошел проверку чек не будет сформирован и запрос статуса будет возвращать статус 422 Unprocessable Entity. По умолчанию - false

Отправка чека коррекции ФФД1.2

<?php
$result = $buyer->post_correction12();
var_dump($result);

Добавление вендинга в чек коррекции

<?php
$correctionVending = [
  'automatNumber' => '21321321123',
  'settlementAddress' => 'Address',
  'settlementPlace' => 'Place',
];

$buyer->add_vending_to_correction($correctionVending);

Cвойства вендинга

Имя Обязательное поле Описание
automatNumber Номер автомата (строка от 1 до 20 символов)
settlementAddress Адрес расчетов (строка от 1 до 243 символов)
settlementPlace Место расчетов (Строка длиной от 10 до 12 символов)

Добавление курьера в чек коррекции

<?php
$correctionСourier = [
  'settlementAddress' => 'Address',
  'settlementPlace' => 'Place',
  'cashier' => 'Test'
  'cashierINN' => '123456789012'
];

$buyer->add_courier_to_correction($correctionСourier);

Cвойства курьера

Имя Обязательное поле Описание
settlementAddress Адрес расчетов (строка от 1 до 243 символов)
settlementPlace Место расчетов (Строка длиной от 10 до 12 символов)
cashier Кассир (Строка длиной от 1 до 64 символов)
cashierINN ИНН кассира (Строка длиной 12 символов)

Добавление дополнительных аттрибутов, позиции и оплаты в чек коррекции (только для ФФД1.2)

<?php
 $correctionPos = [
      "quantity" => 1.000,
      "price" => 1,
      "tax" => 6,
      "text" => "Булка",
      "excise" => 23.45,
      "paymentMethodType" => 4, "paymentSubjectType" => 1,
      "agentType" => 127,
      "agentInfo" => 
      [
        "paymentTransferOperatorPhoneNumbers" => ["+79200000001", "+74997870001"], 
        "paymentAgentOperation" => "Какая-то операция 1",
        "paymentAgentPhoneNumbers" => ["+79200000003"], 
        "paymentOperatorPhoneNumbers" => ["+79200000002", "+74997870002"], 
        "paymentOperatorName" => "ООО \"Атлант\"", 
        "paymentOperatorAddress" => "Воронеж, ул. Недогонная, д. 84", 
        "paymentOperatorINN" => "7727257386"
      ]
  ];

  $correctionPayment =
      [
          'type' => 1,
          'amount' => 1,
      ];

  $userAttribute = [
    "value" => "2132",
    "name" => "21212"
  ];

  $additional = [
      'additionalAttribute' => 'Attribute',
       "customerInfo" =>[
            "name"=> "Кузнецов Иван Петрович",
            "inn"=> "7725327863",
            "birthDate"=> "15.09.1988",
            "citizenship"=> "643",
            "identityDocumentCode"=> "01",
            "identityDocumentData"=> "multipassport",
            "address"=> "Басеенная 36"
        ],
  ];

$buyer->add_position_to_correction12($correctionPos)
      ->add_payment_to_correction12($correctionPayment)
      ->add_user_attribute_to_correction12($userAttribute)
      ->add_additional_attributes_to_correction12($additional);

Cвойства функций см. в аналогичных блоках для заказа

Проверка статуса чека коррекции

<?php
$cor_status = $buyer->get_correction_status('23423423');
var_dump($cor_status);