Page History
Основные положения
Веб-сервис предназначен для тех предприятий, которые используют услугу фискализации через АПК Ассист для финансовых операций, проводимых на стороне предприятия.
Веб-сервис фискализации внешних операций позволяет предприятию получить уникальный идентификатор сгенерированного в АПК Ассист фискального чека на основе данных, переданных в запросе.
По идентификатору можно в свою очередь запросить фискальные данные чека из АПК Ассист через отдельный веб-сервис fiscalreceipt. Эти данные используются, например, в тех случаях, когда предприятие самостоятельно отправляет электронные копии чеков своим покупателям.
Для обращения к веб сервису необходимо отправить запрос методом POST/SOAP на сервер ASSIST по адресу: https://<SERVER_NAME>/fiscal/fiscalize.cfm.
Входные параметры сервиса:
Параметр | Обязательное поле | Принимаемые значения | Значение по умолчанию | Описание | ||
Merchant_ID | Да | Число | Идентификатор предприятия в системе АПК Ассист | |||
Login | Да | 20 символов | Логин пользователя сервиса от предприятия | |||
Password | Да | 30 символов | Пароль пользователя сервиса от предприятия | |||
Payment_ID | Нет | 255 символов | Идентификатор операции в системе предприятия | |||
Да/Нет1 | 128 символов | E-mail адрес для отправки фискального чека | ||||
Phone | Да/Нет1 | Число | Номер телефона для отправки фискального чека (без +7) | |||
Type | Да | Строка | Тип фискализируемого платежа:
| |||
PaymentType | Да | Число | ||||
PaymentTypes | Да/Нет5 | Строка | Набор/массив пар значений видов оплаты и соответствующих им сумм:
| |||
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Состав чека (поля с названием, стоимостью за единицу товара/услуги, ставкой налога и способом расчета по каждой позиции) определяется по следующим правилам.
- Если в запросе передана структура ChequeItems (см. «Работа с чеком»), то формируется чек с количеством позиций по числу переданных в ChequeItems строк, в каждой позиции должны быть обязательно указаны параметры:
- product и/или name;
- price;
- quantity;
- amount;
при этом:
название каждой из позиций формируется как объединение параметров product и name через пробел (если переданы оба) или как один из параметров product или name соответственно (если передан только один);
если параметры Tax или FPmode не переданы в позициях, то они могут быть переданы в параметрах запроса (в этом случае значения этих параметров будут одинаковыми для всех позиций чека, переданных в ChequeItems);
если параметры Tax или FPmode не переданы в параметрах запроса, то их значения подставляются из настроек предприятия (значения этих параметров будут одинаковыми для всех позиций чека, переданных в ChequeItems);
если настройки предприятия для этих параметров отсутствуют, то обработка запроса завершается с ошибкой (недостаточно данных для выполнения операции).
2. Если в запросе не передана структура ChequeItems, то формируется чек с одной позицией, в которой:
- название позиции подставляется из параметра ReceiptLine, если он передан в запросе; если параметр ReceiptLine не передан в запросе, то название позиции подставляется из настроек предприятия; если настройки предприятия для этих параметров отсутствуют, то в качестве названия подставляется строка "Оплата заказа";
- стоимость единицы товара/услуги подставляется из параметра запроса Amount;
- количество всегда равно 1;
если параметры 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, - то создается новый чек.
Warning |
---|
При частичных отменах в рамках одного платежа параметр Payment_ID каждого отдельного возврата должен быть уникальным. Если предприятие не может обеспечить уникальность параметра Payment_ID для частичных отмен (например, передает в этом поле один и тот же номер заказа), то при фискализации возврата типа sell_refund можно не передавать этот параметр, что обеспечит фискализацию более одной частичной отмены для данного заказа. При этом нужно иметь в виду, что отсутствие параметра Payment_ID отменяет проверку на уникальность и может привести к повторной фискализации одной и той же отмены, если запрос на ее фискализацию был послан вторично. |
4Параметр TaxationSystemзадается для всего чека в целом (не передается в позициях чека). Если параметр не передан, то его значение берется из настроек предприятия. Если у предприятия не настроено значение параметра TaxationSystem по умолчанию, то в ККТ этот параметр (тег 1055) не отправляется и ККТ будет проводить чек по собственным настройкам. Это возможно только в том случае, если в ККТ настроена только одна система налогообложения, в противном случае ККТ выдаст ошибку.
5Обязательным является один из двух параметров PaymentType (если при платеже использовался единственный вид оплаты) и PaymentTypes (если для фискализируемого платежа использовались несколько видов оплаты).
Перечень возвращаемых параметров:
Название | Значение |
fiscalreceipt_ID | Идентификатор созданного фискального чека |
Payment_ID | Идентификатор чека в системе предприятия (если есть) |
Type | Тип фискализируемого платежа:
|
Receipt_status | Статус созданного фискального чека |
или | |
Сообщение об ошибке (если переданы некорректные параметры или не все обязательные параметры) |
После получения данных о создании фискального чека в статусах New, InProgress, ErrorRe, Requested рекомендуется через несколько минут дополнительно запросить данные фискального чека с помощью веб-сервиса fiscalreceipt (о веб-сервисе fiscalreceipt подробнее см. «Получение фискального чека») для того чтобы убедиться, что создание фискального чека успешно завершено.
Если запрос на фискализацию не может быть обработан, в результате запроса вернутся ненулевые значения параметров firstcode, secondcode.