Page History
| Table of Contents |
|---|
Веб-сервис фискализации
Веб-сервис предназначен для тех предприятий, которые используют услугу фискализации через АПК Ассист внешних платежей (проводимых на стороне предприятия). Кроме того, веб-сервис может использоваться тогда, когда появляется возможность сформировать чек, оплата по которому через АПК Ассист была проведена ранее.
| Note |
|---|
Фискализация осуществляется для платежей только в казахстанских тенге (KZT). |
Веб-сервис позволяет предприятию получить уникальный идентификатор сгенерированного в АПК Ассист фискального чека на основе данных, переданных в запросе.
По идентификатору можно в свою очередь запросить фискальные данные чека из АПК Ассист через отдельный веб-сервис fiscalreceipt . Эти данные используются, например, в тех случаях, когда предприятие самостоятельно отправляет электронные копии чеков своим покупателям.
Для обращения к веб сервису необходимо отправить запрос методом POST/SOAP на сервер ASSIST по адресу: https://<SERVER_NAME>/fiscal/fiscalize.cfm .
Входные параметры сервиса:
Параметр | Обязательное поле | Принимаемые значения | Значение по умолчанию | Описание | ||||
merchant_id | Да | Число | Идентификатор предприятия в системе АПК Ассист | |||||
login | Да | 20 символов | Логин пользователя сервиса от предприятия | |||||
password | Да | 30 символов | Пароль пользователя сервиса от предприятия | |||||
| billnumber | Нет 1 | 16 цифр расширенный формат | Расширенный номер платежа, соответствующий выполненному ранее платежу или выполненной ранее отмене в системе АПК Ассист | |||||
payment_id | Нет 1 | 255 символов | Уникальный идентификатор чека в системе предприятия 2 | |||||
Да/Нет 3 | 128 символов | E-mail адрес для отправки фискального чека | ||||||
phone | Да/Нет 3 | Число | Номер телефона для отправки фискального чека - стандартный номер с кодом страны (без +), минимум 11 цифр. | |||||
type | Да | Строка | Тип фискализируемого платежа:
Если в запросе передается параметр Billnumber, то для фискализации платежа должен передаваться тип sell, а для фискализации отмены тип sell_refund. | |||||
taxationsystem | Нет 4 | Число | Из настроек предприятия или ККТ | |||||
chequeitems | Да/Нет 5 | Строка в формате JSON | Позиции чека, см. «Работа с чеком». | |||||
amount | Да | Число, 15 знаков, два знака после разделителя (допустимые разделители «.», «,») | Сумма чека | |||||
format | Нет | 1 – CSV | 1 | Формат возвращаемого ответа. | ||||
language | Нет | RU - русский, EN - английский | Язык предприятия | Язык отправляемого письма (RU/EN) | ||||
receiptLine | Да/Нет 5 | 128 символов | Позиция чека (для чеков с единственной позицией) | |||||
tax | Да/Нет 5 | 10 символов | ||||||
paymenttype | Да/Нет 6 | Число | ||||||
paymenttypes | Да/Нет 6 | Строка | Набор/массив пар значений видов оплаты и соответствующих им сумм:
| |||||
| Lastname | Нет | 70 символов | Пусто | Фамилия покупателя | ||||
| firstname | Нет | 70 символов | Пусто | Имя покупателя | ||||
| middlename | Нет | 70 символов | Пусто | Отчество покупателя | ||||
| taxpayerid | Нет | 12 символов | Пусто | ИИН покупателя | ||||
| paymentplace | Да | 256 символов | Пусто | Код отдела | ||||
| cashier | Нет | 64 символа | Пусто | Кассир | ||||
| cashierinn | Да | 12 цифровых символов | Пусто | Код кассира (максимально возможное значение параметра 2147483647) | ||||
| parentticketnumber | Да/Нет 7 | Строка | Фискальный признак чека основания для возврата | |||||
| parentticketdatetime | Да/Нет 7 | Дата/время | Дата и время операции родительского чека | |||||
| parenttickettotal | Да/Нет 7 | Число | Общая сумма покупки или продажи чека основания для возврата | |||||
| parentticketoffline | Да/Нет 7 | 0 - неавтономный 1 - автономный | Признак автономности чека основания для возврата | |||||
| parentticketkkmregnum | Да/Нет 7 | Строка | Регистрационный номер ККМ КГД чека основания для возврата |
| Anchor | ||||
|---|---|---|---|---|
|
1 Обязательным является один из двух параметров payment _ id (если осуществляется фискализация внешнего платежа) и Billnumber (если осуществляется фискализация платежа в АПК Ассист, выполненного ранее). Если передается параметр Billnumber и фискальный чек по данной операции уже существует в любом статусе, то выдается ошибка « Фискальный чек уже создан ».
| Anchor | ||||
|---|---|---|---|---|
|
2 Уникальность payment _ id контролируется в рамках конкретного предприятия для типа чеков sell и sell _ refund и статусов фискального чека:
Если для данного merchantid , для данного payment _ id и типов sell или sell _ refund уже создан фискальный чек, то при статусах фискального чека New , InProgress , Requested , ErrorRe , Success выдается ошибка – « Фискальный чек создан или находится в обработке ».
Если для данного merchantid , данного payment _ id и типов sell или sell _ refund фискальный чек создан, но имеет статус Error , то создается новый чек.
Если для данного merchantid , данного payment _ id и типов sell или sell _ refund фискальный чек создан, но имеет статус CreateError , то новый чек будет создан только в том случае, если присланный состав чека (позиции чека, суммы, параметры фискализации) отличается от первоначального (исправленный чек). Если чек совпадает с ранее созданным чеком, то выдается ошибка – « Фискальный чек создан или находится в обработке ».
| Warning |
|---|
При частичных отменах в рамках одного платежа параметр payment_id каждого отдельного возврата должен быть уникальным. Если предприятие не может обеспечить уникальность параметра payment_id для частичных отмен (например, передает в этом поле один и тот же номер заказа), то при фискализации возврата типа sell_refund можно не передавать этот параметр, что обеспечит фискализацию более одной частичной отмены для данного заказа. При этом нужно иметь в виду, что отсутствие параметра payment_id отменяет проверку на уникальность и может привести к повторной фискализации одной и той же отмены, если запрос на ее фискализацию был послан вторично. |
| Anchor | ||||
|---|---|---|---|---|
|
3 Должен быть передан хотя бы один из параметров email и phone . Если email и phone не указаны, то необходимые данные для контакта с плательщиком извлекаются из настроек предприятия . Если переданы оба параметра email и phone , то для контакта с плательщиком будет использоваться параметр email .
| Anchor | ||||
|---|---|---|---|---|
|
4 Параметр taxationsystem задается для всего чека в целом (не передается в позициях чека). Если параметр не передан, то его значение берется из настроек предприятия. Если у предприятия не настроено значение параметра taxationsystem по умолчанию, то в ККТ этот параметр (тег 1055) не отправляется и ККТ будет проводить чек по собственным настройкам. Это возможно только в том случае, если в ККТ настроена только одна система налогообложения, в противном случае ККТ выдаст ошибку.
| Anchor | ||||
|---|---|---|---|---|
|
5 Состав чека (поля с названием, стоимостью за единицу товара/услуги, ставкой налога и способом расчета по каждой позиции) определяется по следующим правилам.
- Если в запросе передана структура ChequeItems (см. «Работа с чеком»), то формируется чек с количеством позиций по числу переданных в chequeItems строк, в каждой позиции должны быть обязательно указаны параметры:
- name;
- price;
- quantity;
- amount;
при этом:
- если параметр tax не передан в позициях, то он может быть передан в параметрах запроса (в этом случае значение этого параметра будет одинаковым для всех позиций чека, переданных в ChequeItems);
- если параметр tax не передан в параметрах запроса, то его значения подставляются из настроек предприятия (значение этого параметра будет одинаковым для всех позиций чека, переданных в ChequeItems);
- если настройки предприятия для этого параметра отсутствуют, то обработка запроса завершается с ошибкой (недостаточно данных для выполнения операции).
2. Если в запросе не передана структура chequeItems, то формируется чек с одной позицией, в которой:
- название позиции подставляется из параметра receiptline, если он передан в запросе; если параметр receiptline не передан в запросе, то название позиции подставляется из настроек предприятия; если настройки предприятия для этих параметров отсутствуют, то в качестве названия подставляется строка "Оплата заказа";
- стоимость единицы товара/услуги подставляется из параметра запроса amount;
- количество всегда равно 1;
при этом:
- если параметр tax не передан в параметрах запроса, то его значение подставляется из настроек предприятия;
- если настройки предприятия для этого параметра отсутствуют, то обработка запроса завершается с ошибкой (недостаточно данных для выполнения операции).
| Anchor | ||||
|---|---|---|---|---|
|
6 Обязательным является один из двух параметров paymenttype (если при платеже использовался единственный вид оплаты) и paymenttypes (если для фискализируемого платежа использовались несколько видов оплаты). Если в запросе передается параметр billnumber , то параметр paymenttype / paymenttypes либо должен соответствовать операциям платежа (отмены) с этим номером, либо может вообще не передаваться, т.е. становится необязательным.
Anchor 7 7
7 Параметр обязателен только для фискализации отмены внешнего платежа (чеков типа sell _ refund).
Перечень возвращаемых параметров:
Название | Значение |
fiscalreceipt_id | Идентификатор созданного фискального чека |
payment_id | Идентификатор чека в системе предприятия (если есть) |
type | Тип фискализируемого платежа:
|
receipttype | Тип чека:
|
receipt_status | Статус созданного фискального чека
|
Процесс фискализации является асинхронным, поэтому в ответе веб-сервиса в большинстве случаев будет возращен статус чека New. Это означает, что чек создан и поставлен в очередь на кассу для фискализации. После получения данных о создании фискального чека в статусе New рекомендуется через несколько минут дополнительно запросить данные фискального чека с помощью веб-сервиса fiscalreceipt (о веб-сервисе fiscalreceipt подробнее см. «Получение фискального чека »), чтобы убедиться в успешном завершении создания фискального чека.
Полученный в ответе на запрос статус CreateError означает, что чек не может быть сформирован и отправлен на фискализацию. В этом случае следует убедиться в корректности отправляемых данных (состав позиций чека, наличие обязательных атрибутов фискализации, непротиворечивость параметров и т.д.), также рекомендуется запросить данные с помощью веб-сервиса fiscalreceipt и проверить полученный в поле errortext текст ошибки, затем можно повторно направить скорректированный запрос на фискализацию .
Если чек находится в статусе New , то отправлять его на фискализацию повторно нельзя .
| Warning | ||
|---|---|---|
| ||
Если в ответе на запрос данных фискального чека в течение длительного времени (несколько часов) по-прежнему приходит статус New (особенно в том случае, когда поле errortext ответа не пустое), следует обратиться в службу технической поддержки support@assist.kz. |
Если запрос на фискализацию не может быть обработан, в результате запроса вернутся ненулевые значения параметров firstcode, secondcode .
| Anchor | ||||
|---|---|---|---|---|
|
Дополнительные параметры для характеристики чека при внешней фискализации
Параметр | Обязательное поле | Принимаемые значения | Описание |
paymethod | Нет | Строка | Способ оплаты (карта, QR-код) |
payid | Нет | Строка | Идентификатор оплаты (для карт – уникальное значение номера операции, для QR-кода – уникальный идентификатор платежа QR-кодом) |
payterminal | Нет | Строка | Уникальный идентификатор терминала (только для карт) |
| paytype | Нет | 20 символов | Тип карты (для карты) или тип оплаты QR-кодом (для QR-кода) |
payauthcode | Нет | 32 цифровых символа | Код авторизации (только для карт) |
payreceiptnumber | Нет | 32 цифровых символа | Номер чека в системе банка (только для карт) |