Page History
Table of Contents |
---|
...
Веб-сервис фискализации
Веб-сервис предназначен для тех предприятий, которые используют услугу фискализации через АПК Ассист внешних платежей (проводимых на стороне предприятия). Кроме того, веб-сервис может использоваться тогда, когда появляется возможность сформировать чек, оплата по которому через АПК Ассист была проведена ранее. Также с помощью этого веб-сервиса при необходимости можно создать чек коррекции.
Note |
---|
Фискализация осуществляется для платежей только в российских рублях (RUB). |
Веб-сервис позволяет предприятию получить уникальный идентификатор сгенерированного в АПК Ассист фискального чека (или чека коррекции) на основе данных, переданных в запросе.
По идентификатору можно в свою очередь запросить фискальные данные чека из АПК Ассист через отдельный веб-сервис fiscalreceipt. Эти данные используются, например, в тех случаях, когда предприятие самостоятельно отправляет электронные копии чеков своим покупателям.
...
Параметр | Обязательное поле | Принимаемые значения | Значение по умолчанию | Описание | |||
Merchant_ID | Да | Число | Идентификатор предприятия в системе АПК Ассист | ||||
Login | Да | 20 символов | Логин пользователя сервиса от предприятия | ||||
Password | Да | 30 символов | Пароль пользователя сервиса от предприятия | ||||
Billnumber | НетВеб-сервис для проведения фискализации1 | 16 цифр расширенный формат | Расширенный номер платежа, соответствующий выполненному ранее платежу или выполненной ранее отмене в системе АПК Ассист | ||||
Payment_ID | 255 символов | Уникальный идентификатор чека в системе предприятияВеб-сервис для проведения фискализации2 | |||||
128 символов | E-mail адрес для отправки фискального чека | ||||||
Phone | Число | Номер телефона для отправки фискального чека чека - стандартный номер с кодом страны (без +7)), минимум 11 цифр.12 | |||||
Type | Да | Строка | Тип фискализируемого платежа:
Если в запросе передается параметр Billnumber, то для фискализации платежа должен передаваться тип sell, а для фискализации отмены тип sell_refund. | ||||
PaymentType | Число | ||||||
ReceiptType | Строка | Тип чека:
| |||||
CorrectionType | Строка | Тип коррекции:
| |||||
CorrectionDocDate | DD.MM.YYYY | Дата корректируемого расчета | |||||
CorrectionDocID | Строка | Номер документа, на основании которого производится коррекция (для коррекции по предписанию) | |||||
PaymentTypes | Да/НетВеб-сервис для проведения фискализации4 | Строка | Набор/массив пар значений видов оплаты и соответствующих им сумм:
| ||||
TaxationSystem | Число | Из настроек предприятия или ККТ | |||||
Chequeitems | Строка в формате JSON | Позиции чека, см. «Работа с чеком». | |||||
Amount | Да | Число, 15 знаков, два знака после разделителя (допустимые разделители «.», «,») | Сумма чека | ||||
Format | Нет | 1 – CSV | 1 | Формат возвращаемого ответа. | |||
Language | Нет | RU - русский, EN - английский | Язык предприятия | Язык отправляемого письма (RU/EN) | |||
ReceiptLine | 128 символов | Позиция чека (для чеков с единственной позицией) | |||||
Tax | 10 символов | ||||||
FPMode | Число | ||||||
LastName | Нет | 70 символов | Пусто | Фамилия покупателя | |||
FirstName | Нет | 70 символов | Пусто | Имя покупателя | |||
MiddleName | Нет | 70 символов | Пусто | Отчество покупателя | |||
CustomerDocID | Нет | 11 символов | Пусто | Серия/номер паспорта покупателя | |||
TaxpayerID | Нет | 12 символов | Пусто | ИНН покупателя | |||
CompanyName | Нет | 256 символов | Пусто | Наименование компании (если покупатель – юридическое лицо) | |||
PaymentAddress | Нет | 256 символов | Пусто | Адрес расчетов | |||
PaymentPlace | Да/НетВеб-сервис для проведения фискализации8 | 256 символов | Пусто | Место расчетов | |||
Cashier | Да/НетВеб-сервис для проведения фискализации8 | 64 символа | Пусто | Кассир | |||
CashierINN10 | Да/НетВеб-сервис для проведения фискализации8 | 12 цифровых символов | Пусто | ИНН кассира | |||
PaymentTerminal | Да/НетВеб-сервис для проведения фискализации9 | 20 символов | Пусто | Номер автоматического устройства | |||
TransferOperatorPhoneВеб-сервис для проведения фискализации10 | НетВеб-сервис для проведения фискализации11 | 19 символов | Пусто | Телефон оператора перевода - формат телефонного номера ХХХХХХХХХХХ (без +, без разделителей), начиная с кода страны, минимум 11 цифр. | |||
TransferOperatorName | Нет11 | TransferOperatorName | НетВеб-сервис для проведения фискализации | 64 символа | Пусто | Наименование оператора перевода | |
TransferOperatorAddress | НетВеб-сервис для проведения фискализации11 | 256 символов | Пусто | Адрес оператора перевода | |||
TransferOperatorINN10 | НетВеб-сервис для проведения фискализации11 | 10 цифровых символов | Пусто | ИНН оператора перевода | |||
PaymentReceiverOperatorPhoneВеб-сервис для проведения фискализации10 | НетВеб-сервис для проведения фискализации11 | 19 символов | Пусто | Телефон оператора по приёму платежей - формат телефонного номера ХХХХХХХХХХХ (без +, без разделителей), начиная с кода страны, минимум 11 цифр. | |||
PaymentAgentOperation | Нет11 | PaymentAgentOperation | НетВеб-сервис для проведения фискализации | 24 символа | Пусто | Операция платёжного агента | |
PaymentAgentPhoneВеб-сервис для проведения фискализации10 | НетВеб-сервис для проведения фискализации11 | 19 символов | Пусто | Телефон платёжного агента | SupplierPhoneВеб-сервис для проведения фискализации | НетВеб-сервис для проведения фискализации | - формат телефонного номера ХХХХХХХХХХХ (без +, без разделителей), начиная с кода страны, минимум 11 цифр. |
SupplierPhone10 | Нет11 | 19 символов | Пусто | Телефон поставщика - формат передачи телефонного номера ХХХХХХХХХХХ (без +, без разделителей), начиная с кода страны, минимум 11 цифр. | |||
PaymentAgentMode | НетВеб-сервис для проведения фискализации11 | Числочисло | Пусто | Признак агента | |||
DocumentRequisiteProductmarkinguuid | Да/Нет12 | 16 255 символов | Пусто | Дополнительный реквизит чека | |||
UserRequisites | Нет | структура {"name": <string(64)>, "value": <string(256)>} | Пусто | Дополнительные реквизиты пользователя |
...
Идентификатор запроса, полученный предприятием от системы маркировки «Честный знак» во время проверки товара. | ||||
Productmarkingtimestamp | Да/Нет12 | Число | Время запроса, полученное предприятием от системы маркировки «Честный знак». | |
Productmarkingfoiv | Да/Нет12 | 3 символа | Идентификатор ФОИВ | |
Productmarkingdocdate | Да/Нет12 | DD.MM.YYYY | Дата документа основания | |
Productmarkingdocid | Да/Нет12 | 32 символа | Номер документа основания | |
DocumentRequisite | Нет | 16 символов | Пусто | Дополнительный реквизит чека |
UserRequisites | Нет | структура {"name": <string(64)>, "value": <string(256)>} | Пусто | Дополнительные реквизиты пользователя |
Anchor 1 1
1Обязательным является один из двух параметров Payment_ID (если осуществляется фискализация внешнего платежа) и Billnumber (если осуществляется фискализация платежа в АПК Ассист, выполненного ранее). Если передается параметр Billnumber и фискальный чек по данной операции уже существует в любом статусе, то выдается ошибка «Фискальный чек уже создан».
Anchor | ||||
---|---|---|---|---|
|
2Уникальность Payment_ID контролируется в рамках конкретного предприятия для типа чеков sell и sell_refund и статусов фискального чека:
Если для данного MerchantID, для данного Payment_ID и типов sell или sell_refund уже создан фискальный чек, то при статусах
...
1Обязательным является один из двух параметров Payment_ID (если осуществляется фискализация внешнего платежа) и Billnumber (если осуществляется фискализация платежа в АПК Ассист, выполненного ранее). Если передается параметр Billnumber и фискальный чек по данной операции уже существует в любом статусе, то выдается ошибка «Фискальный чек уже создан».
...
2Уникальность Payment_ID контролируется в рамках конкретного предприятия для типа чеков sell и sell_refund и статусов фискального чека:
Если для данного MerchantID, для данного Payment_ID и типов sell или sell_refund уже создан фискальный чек, то при статусах фискального чека New, InProgress, Requested, ErrorRe, Success выдается ошибка – «Фискальный чек создан или находится в обработке».
...
Warning |
---|
При частичных отменах в рамках одного платежа параметр Payment_ID каждого отдельного возврата должен быть уникальным. Если предприятие не может обеспечить уникальность параметра Payment_ID для частичных отмен (например, передает в этом поле один и тот же номер заказа), то при фискализации возврата типа sell_refund можно не передавать этот параметр, что обеспечит фискализацию более одной частичной отмены для данного заказа. При этом нужно иметь в виду, что отсутствие параметра Payment_ID отменяет проверку на уникальность и может привести к повторной фискализации одной и той же отмены, если запрос на ее фискализацию был послан вторично. |
...
3Должен быть передан хотя бы один из параметров Email и Phone. Если Email и Phone не указаны, то необходимые данные для контакта с плательщиком извлекаются из настроек предприятия. Если переданы оба параметра Email и Phone, то для контакта с плательщиком будет использоваться параметр Email.
...
4Обязательным является один из двух параметров PaymentType (если при платеже использовался единственный вид оплаты) и PaymentTypes (если для фискализируемого платежа использовались несколько видов оплаты). Если в запросе передается параметр Billnumber, то параметр PaymentType/PaymentTypes либо должен соответствовать операциям платежа (отмены) с этим номером, либо может вообще не передаваться, т.е. становится необязательным.
...
5Параметр является обязательным только для чека коррекции.
...
6Параметр TaxationSystem задается для всего чека в целом (не передается в позициях чека). Если параметр не передан, то его значение берется из настроек предприятия. Если у предприятия не настроено значение параметра TaxationSystem по умолчанию, то в ККТ этот параметр (тег 1055) не отправляется и ККТ будет проводить чек по собственным настройкам. Это возможно только в том случае, если в ККТ настроена только одна система налогообложения, в противном случае ККТ выдаст ошибку.
...
7Состав чека (поля с названием, стоимостью за единицу товара/услуги, ставкой налога и способом расчета по каждой позиции) определяется по следующим правилам.
- Если в запросе передана структура ChequeItems (см. «Работа с чеком»), то формируется чек с количеством позиций по числу переданных в ChequeItems строк, в каждой позиции должны быть обязательно указаны параметры:
- name;
- price;
- quantity;
- amount;
при этом:
если параметры Tax или FPmode не переданы в позициях, то они могут быть переданы в параметрах запроса (в этом случае значения этих параметров будут одинаковыми для всех позиций чека, переданных в ChequeItems);
если параметры Tax или FPmode не переданы в параметрах запроса, то их значения подставляются из настроек предприятия (значения этих параметров будут одинаковыми для всех позиций чека, переданных в ChequeItems);
если настройки предприятия для этих параметров отсутствуют, то обработка запроса завершается с ошибкой (недостаточно данных для выполнения операции).
2. Если в запросе не передана структура ChequeItems, то формируется чек с одной позицией, в которой:
- название позиции подставляется из параметра ReceiptLine, если он передан в запросе; если параметр ReceiptLine не передан в запросе, то название позиции подставляется из настроек предприятия; если настройки предприятия для этих параметров отсутствуют, то в качестве названия подставляется строка "Оплата заказа";
- стоимость единицы товара/услуги подставляется из параметра запроса Amount;
- количество всегда равно 1;
если параметры Tax или FPmode не переданы в параметрах запроса, то их значения подставляются из настроек предприятия;
если настройки предприятия для этих параметров отсутствуют, то обработка запроса завершается с ошибкой (недостаточно данных для выполнения операции).
...
8В зависимости от режима, в котором предприятие эксплуатирует ККТ, параметр может быть как обязательным, так и необязательным. Необходимость передачи этого параметра следует уточнить в отделе технической поддержки.
...
9Разрешается передавать либо параметр Cashier, либо параметр PaymentTerminal. Одновременно эти параметры передаваться не могут, поскольку соответствуют разным типам касс.
...
10Рекомендуется передавать телефонные номера в формате +7ХХХХХХХХХХ или 8ХХХХХХХХХХ.
...
11Параметр может заполняться только для ФФД 1.05 и 1.1.
Перечень возвращаемых параметров:
...
Название
...
fiscalreceipt_ID
...
Идентификатор созданного фискального чека
...
Payment_ID
...
Идентификатор чека в системе предприятия (если есть)
...
Type
...
Тип фискализируемого платежа:
- sell – оказание услуг;
- sell_refund – возврат.
...
receipttype
...
Тип чека:
- normal – чек при фискализации оплаты или отмены;
- correct – чек коррекции.
...
Receipt_status
...
Статус созданного фискального чека (чека коррекции)
...
или
...
Сообщение об ошибке (если переданы некорректные параметры или не все обязательные параметры)
и той же отмены, если запрос на ее фискализацию был послан вторично. |
Anchor | ||||
---|---|---|---|---|
|
3Должен быть передан хотя бы один из параметров Email и Phone. Если Email и Phone не указаны, то необходимые данные для контакта с плательщиком извлекаются из настроек предприятия. Если переданы оба параметра Email и Phone, то для контакта с плательщиком будет использоваться параметр Email.
Anchor 4 4
4Обязательным является один из двух параметров PaymentType (если при платеже использовался единственный вид оплаты) и PaymentTypes (если для фискализируемого платежа использовались несколько видов оплаты). Если в запросе передается параметр Billnumber, то параметр PaymentType/PaymentTypes либо должен соответствовать операциям платежа (отмены) с этим номером, либо может вообще не передаваться, т.е. становится необязательным.
Anchor | ||||
---|---|---|---|---|
|
5Параметр является обязательным только для чека коррекции.
Anchor | ||||
---|---|---|---|---|
|
6Параметр TaxationSystem задается для всего чека в целом (не передается в позициях чека). Если параметр не передан, то его значение берется из настроек предприятия. Если у предприятия не настроено значение параметра TaxationSystem по умолчанию, то в ККТ этот параметр (тег 1055) не отправляется и ККТ будет проводить чек по собственным настройкам. Это возможно только в том случае, если в ККТ настроена только одна система налогообложения, в противном случае ККТ выдаст ошибку.
Anchor | ||||
---|---|---|---|---|
|
7Состав чека (поля с названием, стоимостью за единицу товара/услуги, ставкой налога и способом расчета по каждой позиции) определяется по следующим правилам.
- Если в запросе передана структура ChequeItems (см. «Работа с чеком»), то формируется чек с количеством позиций по числу переданных в ChequeItems строк, в каждой позиции должны быть обязательно указаны параметры:
- name;
- price;
- quantity;
- amount;
при этом:
если параметры Tax или FPmode не переданы в позициях, то они могут быть переданы в параметрах запроса (в этом случае значения этих параметров будут одинаковыми для всех позиций чека, переданных в ChequeItems);
если параметры Tax или FPmode не переданы в параметрах запроса, то их значения подставляются из настроек предприятия (значения этих параметров будут одинаковыми для всех позиций чека, переданных в ChequeItems);
если настройки предприятия для этих параметров отсутствуют, то обработка запроса завершается с ошибкой (недостаточно данных для выполнения операции).
2. Если в запросе не передана структура ChequeItems, то формируется чек с одной позицией, в которой:
- название позиции подставляется из параметра ReceiptLine, если он передан в запросе; если параметр ReceiptLine не передан в запросе, то название позиции подставляется из настроек предприятия; если настройки предприятия для этих параметров отсутствуют, то в качестве названия подставляется строка "Оплата заказа";
- стоимость единицы товара/услуги подставляется из параметра запроса Amount;
- количество всегда равно 1;
если параметры Tax или FPmode не переданы в параметрах запроса, то их значения подставляются из настроек предприятия;
если настройки предприятия для этих параметров отсутствуют, то обработка запроса завершается с ошибкой (недостаточно данных для выполнения операции).
Anchor | ||||
---|---|---|---|---|
|
8В зависимости от режима, в котором предприятие эксплуатирует ККТ, параметр может быть как обязательным, так и необязательным. Необходимость передачи этого параметра следует уточнить в отделе технической поддержки.
Anchor | ||||
---|---|---|---|---|
|
9Разрешается передавать либо параметр Cashier, либо параметр PaymentTerminal. Одновременно эти параметры передаваться не могут, поскольку соответствуют разным типам касс.
Anchor | ||||
---|---|---|---|---|
|
10 Если параметр будет передан в формате, не соответствующем указанному, то при фискализации его значение будет изменено на null.
Anchor | ||||
---|---|---|---|---|
|
11Параметр может заполняться только для ФФД 1.05 и 1.1. Для ФФД 1.2 параметр передается только в позициях чека.
Anchor | ||||
---|---|---|---|---|
|
12Параметр обязателен для маркированных товаров, подлежащих обязательной проверке перед продажей. Для обсуждения возможности использования параметра следует обратиться в службу поддержки support@assist.ru.
Перечень возвращаемых параметров:
Название | Значение |
fiscalreceipt_ID | Идентификатор созданного фискального чека |
Payment_ID | Идентификатор чека в системе предприятия (если есть) |
Type | Тип фискализируемого платежа:
|
receipttype | Тип чека:
|
Receipt_status | Статус созданного фискального чека (чека коррекции):
|
Процесс фискализации является асинхронным, поэтому в ответе веб-сервиса в большинстве случаев будет возращен статус чека New. Это означает, что чек создан и поставлен в очередь на кассу для фискализации. После получения данных о создании фискального чека в статусе New рекомендуется через несколько минут дополнительно запросить данные фискального чека с помощью веб-сервиса fiscalreceipt (о веб-сервисе fiscalreceipt подробнее см. «Получение фискального чека»), чтобы убедиться в успешном завершении создания фискального чека.
Полученный в ответе на запрос статус CreateError означает, что чек не может быть сформирован и отправлен на фискализацию. В этом случае следует убедиться в корректности отправляемых данных (состав позиций чека, наличие обязательных атрибутов фискализации, непротиворечивость параметров и т.д.), также рекомендуется запросить данные с помощью веб-сервиса fiscalreceipt и проверить полученный в поле errortext текст ошибки, затем можно повторно направить скорректированный запрос на фискализацию.
Если чек находится в статусе New, то отправлять его на фискализацию повторно нельзя.
Warning | ||
---|---|---|
| ||
Если в ответе на запрос данных фискального чека через веб-сервис fiscalreceipt в течение длительного времени (несколько часов) по-прежнему приходит статус New (особенно в том случае, когда поле errortext ответа не пустое), следует обратиться в службу технической поддержки support@assist.ru |
...
. |
Если запрос на фискализацию не может быть обработан, в результате запроса вернутся ненулевые значения параметров параметров firstcode, secondcode.
...
Веб-сервис пакетной фискализации
Веб-сервис предназначен для одновременной фискализации нескольких операций (пакета операций). Пакетная фискалиация может использоваться, например, в следующих случаях:
...
Параметр | Обязательное поле | Принимаемые значения | Значение по умолчанию | Описание |
Merchant_ID | Да | Число | Идентификатор предприятия в системе АПК Ассист | |
Login | Да | 20 символов | Логин пользователя сервиса от предприятия | |
Password | Да | 30 символов | Пароль пользователя сервиса от предприятия | |
Billnumber | Да | 16 цифр расширенный формат | Расширенный номер платежа, соответствующий выполненному ранее платежу или выполненной ранее отмене в системе АПК Ассист | |
Да/Нет1 | 128 символов | E-mail адрес для отправки фискального чека | ||
Phone | Да/Нет1 | Число | Номер телефона для отправки фискального чека (без +7) | |
Language | Нет | RU - русский, EN - английский | Язык предприятия | Язык отправляемого письма (RU/EN) |
Cheques | Да, хотя бы один элемент | Строка в формате JSON | Набор/массив данных чеков. Каждый чек содержит параметры, используемые сервисом fiscalize.cfm (кроме параметров login / password / billnumber / Payment_ID /Email / Phone), а также дополнительный параметр chequeid (см. табл. ниже). |
...
Параметр | Обязательное поле | Принимаемые значения | Значение по умолчанию | Описание | ||
chequeid | Да | Число | Идентификатор чека в массиве. Используется для указания на чек, при формировании которого произошла ошибка.
| |||
Type | Да | Строка | Тип фискализируемого платежа: · sell – оказание услуг; · sell_refund – возврат. | |||
PaymentType | ... все остальные параметры сервиса Fiscalize, начиная c PaymentType за исключением параметров Format и Language. | … | UserRequisites |
...
параметров Format и Language. | |||
… | |||
UserRequisites |
Перечень возвращаемых параметров:
Название | Значение | |
billnumber | Расширенный номер платежа, соответствующий выполненному ранее платежу или выполненной ранее отмене в системе АПК Ассист | |
cheques | Набор/массив данных чеков | |
Параметры элемента массива чеков | ||
Название | Значение |
chequeid | Идентификатор |
чека в массиве |
fiscalreceipt_ID | Идентификатор |
Type
Тип фискализируемого платежа:
- sell – оказание услуг;
- sell_refund – возврат.
receipttype
Тип чека:
- normal – чек при фискализации оплаты или отмены;
- correct – чек коррекции.
Receipt_status
Статус созданного фискального чека (чека коррекции)
или
созданного фискального чека | |
status | Статус созданного фискального чека (чека коррекции):
|
Процесс фискализации является асинхронным, поэтому для большинства чеков в ответе будет возвращен статус New - чек подготовлен к формированию. Результат фискализации и подробности по каждому отдельному чеку могут быть получены с помощью веб-сервиса получения фискального чека fiscalreceipt.cfm или веб-сервиса получения нескольких фискальных чеков fiscalreceipts.cfm.
Пример запроса с минимальным набором параметров:
...
Code Block | ||
---|---|---|
| ||
{ "billnumber":"123445678899012.1", "cheques":[ { "chequeid":1, "fiscalreceiptid":"12123123", "status":"NEWNew" }, { "chequeid":2, "fiscalreceiptid":"12123124", "status":"IN_PROGRESSNew" } ] } |
Подробности по каждому отдельному чеку могут быть получены с помощью
веб-сервиса получения фискального чека fiscalreceipt.cfm.
...