Основные положения

Веб-сервис предназначен для тех предприятий, которые используют услугу фискализации через АПК Ассист для финансовых операций, проводимых на стороне предприятия.

Веб-сервис фискализации внешних операций позволяет предприятию получить уникальный идентификатор сгенерированного в АПК Ассист фискального чека на основе данных, переданных в запросе.

По идентификатору можно в свою очередь запросить фискальные данные чека из АПК Ассист через отдельный веб-сервис fiscalreceipt. Эти данные используются, например, в тех случаях, когда предприятие самостоятельно отправляет электронные копии чеков своим покупателям.

Для обращения к веб сервису необходимо отправить запрос методом POST/SOAP на сервер ASSIST по адресу: https://<SERVER_NAME>/fiscal/fiscalize.cfm.

Входные параметры сервиса:

Параметр

Обязательное поле

Принимаемые значения

Значение по умолчанию

Описание

Merchant_ID

Да

Число


Идентификатор предприятия в системе АПК Ассист

Login

Да

20 символов


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

Password

Да

30 символов


Пароль пользователя сервиса от предприятия

Payment_ID

Нет

255 символов


Идентификатор операции в системе предприятия

Email

Да/Нет1

128 символов


E-mail адрес для отправки фискального чека

Phone

Да/Нет1

Число


Номер телефона для отправки фискального чека (без +7)

Type

Да

Строка


Тип фискализируемого платежа:

  • sell – оказание услуг;
  • sell_refund – возврат.

PaymentType

Да

Число


Вид оплаты

PaymentTypesДа/Нет5Строка

Набор/массив пар значений видов оплаты и соответствующих им сумм:
{"Amount":<value>, "PaymentType":<PaymentType>}

Сумма значений Amount по всем использованным видам оплаты должна быть равна сумме чека.

TaxationSystem

Нет4

Число

Из настроек предприятия или ККТ

Система налогообложения

Chequeitems

Да/Нет2

Строка в формате JSON


Позиции чека, см. «Работа с чеком».

Amount

Да

Число, 15 цифр (разделители «.», «,»)


Сумма чека

Format

Нет

Число

1

Формат возвращаемого ответа (1-CSV, 2-WDDX, 3-XML, 4-SOAP)

Language

Нет

RU - русский,

EN - английский

Язык предприятия

Язык отправляемого письма (RU/EN)

ReceiptLine

Да/Нет2

128 символов


Позиция чека (для чеков с единственной позицией)

Tax

Да/Нет2

10 символов


Идентификатор ставки налога

FPMode

Да/Нет2

Число


Способ расчета

LastNameНет70 символовПустоФамилия покупателя
FirstNameНет70 символовПустоИмя покупателя
MiddleNameНет70 символовПустоОтчество покупателя
CustomerDocIDНет11 символовПустоСерия/номер паспорта покупателя
TaxpayerIDНет12 символовПустоИНН покупателя
CompanyNameНет256 символовПустоНаименование компании (если покупатель – юридическое лицо)
PaymentAddressНет256 символовПустоАдрес расчетов
PaymentPlaceНет256 символовПустоМесто расчетов
CashierНет64 символаПустоКассир
CashierINNНет12 символовПустоИНН кассира
PaymentTerminalНет20 символовПустоНомер автоматического устройства
TransferOperatorPhoneНет19 символовПустоТелефон оператора перевода
TransferOperatorNameНет64 символаПустоНаименование оператора перевода
TransferOperatorAddressНет256 символовПустоАдрес оператора перевода
TransferOperatorINNНет12 символовПустоИНН оператора перевода
PaymentReceiverOperatorPhoneНет19 символовПустоТелефон оператора по приёму платежей
PaymentAgentOperationНет24 символаПустоОперация платёжного агента
PaymentAgentPhoneНет19 символовПустоТелефон платёжного агента
SupplierPhoneНет19 символовПустоТелефон поставщика
PaymentAgentModeНетчислоПустоПризнак агента
DocumentRequisiteНетJSON массив из строк по 16 символовПустоДополнительный реквизит чека
UserRequisitesНетструктура {"name": <string(64)>, "value": <string(256)>}ПустоДополнительные реквизиты пользователя

1Должен быть передан хотя бы один из параметров Email и Phone. Если Email и Phone не указаны, то необходимые данные для контакта с плательщиком извлекаются из настроек предприятия. Если переданы оба параметра Email и Phone, то для контакта с плательщиком будет использоваться параметр Email.

2Состав чека (поля с названием, стоимостью за единицу товара/услуги, ставкой налога и способом расчета по каждой позиции) определяется по следующим правилам.

  1. Если в запросе передана структура ChequeItems (см.  «Работа с чеком»), то формируется чек с количеством позиций по числу переданных в ChequeItems строк, в каждой позиции должны быть обязательно указаны параметры:

при этом:

название каждой из позиций формируется как объединение параметров product и name через пробел (если переданы оба) или как один из параметров product или name соответственно (если передан только один);

если параметры Tax или FPmode не переданы в позициях, то они могут быть переданы в параметрах запроса (в этом случае значения этих параметров будут одинаковыми для всех позиций чека, переданных в ChequeItems);

если параметры Tax или FPmode не переданы в параметрах запроса, то их значения подставляются из настроек предприятия (значения этих параметров будут одинаковыми для всех позиций чека, переданных в ChequeItems);

если настройки предприятия для этих параметров отсутствуют, то обработка запроса завершается с ошибкой (недостаточно данных для выполнения операции).

2. Если в запросе не передана структура ChequeItems, то формируется чек с одной позицией, в которой:

если параметры Tax или FPmode не переданы в параметрах запроса, то их значения подставляются из настроек предприятия;

если настройки предприятия для этих параметров отсутствуют, то обработка запроса завершается с ошибкой (недостаточно данных для выполнения операции).

3Уникальность Payment_ID контролируется в рамках конкретного предприятия для типа чеков sell и sell_refund и статусов фискального чека:

Если для данного MerchantID, для данного Payment_ID и типов sell или sell_refund уже создан фискальный чек, то при статусах фискального чека New, InProgress, Requested, ErrorRe, Success выдается ошибка – «Фискальный чек создан или находится в обработке».

Если для данного MerchantID, данного Payment_ID и типов sell или sell_refund фискальный чек создан, но имеет статус Error или CreateError, - то создается новый чек.

При частичных отменах в рамках одного платежа параметр Payment_ID каждого отдельного возврата должен быть уникальным. Если предприятие не может обеспечить уникальность параметра Payment_ID для частичных отмен (например, передает в этом поле один и тот же номер заказа), то при фискализации возврата типа sell_refund можно не передавать этот параметр, что обеспечит фискализацию более одной частичной отмены для данного заказа. При этом нужно иметь в виду, что отсутствие параметра Payment_ID отменяет проверку на уникальность и может привести к повторной фискализации одной и той же отмены, если запрос на ее фискализацию был послан вторично.

4Параметр TaxationSystem задается для всего чека в целом (не передается в позициях чека). Если параметр не передан, то его значение берется из настроек предприятия. Если у предприятия не настроено значение параметра TaxationSystem по умолчанию, то в ККТ этот параметр (тег 1055) не отправляется и ККТ будет проводить чек по собственным настройкам. Это возможно только в том случае, если в ККТ настроена только одна система налогообложения, в противном случае ККТ выдаст ошибку.

Перечень возвращаемых параметров:

Название

Значение

fiscalreceipt_ID

Идентификатор созданного фискального чека

Payment_ID

Идентификатор операции в системе предприятия (если есть)

Type

Тип фискализируемой операции:

  • sell – оказание услуг;
  • sell_refund – возврат.

Receipt_status

Статус созданного фискального чека

или

Сообщение об ошибке (если переданы некорректные параметры или не все обязательные параметры)

После получения данных о создании фискального чека в статусах New, InProgress, ErrorRe, Requested рекомендуется через несколько минут дополнительно запросить данные фискального чека с помощью веб-сервиса fiscalreceipt (о веб-сервисе fiscalreceipt подробнее см.  «Получение фискального чека») для того чтобы убедиться, что создание фискального чека успешно завершено.

Если запрос на фискализацию не может быть обработан, в результате запроса вернутся ненулевые значения параметров firstcode, secondcode.

Наверх