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

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

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

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

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

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

Параметр

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

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

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

Описание

Merchant_ID

Да

Число


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

Login

Да

20 символов


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

Password

Да

30 символов


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

BillnumberНетВеб-сервис для проведения фискализации16 цифр расширенный формат
Расширенный номер платежа, соответствующий выполненному ранее платежу или выполненной ранее отмене в системе АПК Ассист

Payment_ID

НетВеб-сервис для проведения фискализации

255 символов


Уникальный идентификатор чека в системе предприятияВеб-сервис для проведения фискализации

Email

Да/НетВеб-сервис для проведения фискализации

128 символов


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

Phone

Да/НетВеб-сервис для проведения фискализации

Число


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

Type

Да

Строка


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

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

Если в запросе передается параметр Billnumber, то для фискализации платежа должен передаваться тип sell, а для фискализации отмены тип sell_refund.

PaymentType

Да/НетВеб-сервис для проведения фискализации

Число


Вид оплаты

PaymentTypesДа/НетВеб-сервис для проведения фискализацииСтрока

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

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

TaxationSystem

НетВеб-сервис для проведения фискализации

Число

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

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

Chequeitems

Да/НетВеб-сервис для проведения фискализации

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


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

Amount

Да

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


Сумма чека
Если в запросе передается параметр Billnumber, то сумма чека должна равняться сумме платежа (или отмены).

Format

Нет

Число

1

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

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Да/НетВеб-сервис для проведения фискализации256 символовПустоМесто расчетов
CashierДа/НетВеб-сервис для проведения фискализации64 символаПустоКассир
CashierINNДа/НетВеб-сервис для проведения фискализации12 цифровых символовПустоИНН кассира
PaymentTerminalДа/НетВеб-сервис для проведения фискализации20 символовПустоНомер автоматического устройства
TransferOperatorPhoneВеб-сервис для проведения фискализацииНет19 символовПустоТелефон оператора перевода
TransferOperatorNameНет64 символаПустоНаименование оператора перевода
TransferOperatorAddressНет256 символовПустоАдрес оператора перевода
TransferOperatorINNНет10 цифровых символовПустоИНН оператора перевода
PaymentReceiverOperatorPhoneВеб-сервис для проведения фискализацииНет19 символовПустоТелефон оператора по приёму платежей
PaymentAgentOperationНет24 символаПустоОперация платёжного агента
PaymentAgentPhoneВеб-сервис для проведения фискализацииНет19 символовПустоТелефон платёжного агента
SupplierPhoneВеб-сервис для проведения фискализацииНет19 символовПустоТелефон поставщика
PaymentAgentModeНетчислоПустоПризнак агента
DocumentRequisiteНетJSON массив из строк по 16 символовПустоДополнительный реквизит чека
UserRequisitesНетструктура {"name": <string(64)>, "value": <string(256)>}ПустоДополнительные реквизиты пользователя


1Обязательным является один из двух параметров Payment_ID (если осуществляется фискализация внешнего платежа) и Billnumber (если осуществляется фискализация платежа в АПК Ассист, выполненного ранее). Если передается параметр Billnumber и фискальный чек по данной операции уже существует в любом статусе, то выдается ошибка «Фискальный чек уже создан».


2Уникальность 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 отменяет проверку на уникальность и может привести к повторной фискализации одной и той же отмены, если запрос на ее фискализацию был послан вторично.


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


4Обязательным является один из двух параметров PaymentType (если при платеже использовался единственный вид оплаты) и PaymentTypes (если для фискализируемого платежа использовались несколько видов оплаты). Если в запросе передается параметр Billnumber, то параметр PaymentType/PaymentTypes либо должен соответствовать операциям платежа (отмены) с этим номером, либо может вообще не передаваться, т.е. становится необязательным.


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


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

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

при этом:

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

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

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

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

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

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


7Обязательность параметра зависит от типа используемой кассы. Необходимость передачи этого параметра следует уточнить в отделе технической поддержки.


8Разрешается передавать либо параметр Cashier, либо параметр PaymentTerminal.  Одновременно эти параметры передаваться не могут, поскольку соответствуют разным типам касс.


9Рекомендуется передавать телефонные номера в формате +7ХХХХХХХХХХ или 8ХХХХХХХХХХ.


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

Название

Значение

fiscalreceipt_ID

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

Payment_ID

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

Type

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

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

Receipt_status

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

или

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

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

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

Наверх