Веб-сервис предназначен для тех предприятий, которые используют услугу фискализации через АПК Ассист внешних платежей (проводимых на стороне предприятия). Кроме того, веб-сервис может использоваться тогда, когда появляется возможность сформировать чек, оплата по которому через АПК Ассист была проведена ранее.
Веб-сервис позволяет предприятию получить уникальный идентификатор сгенерированного в АПК Ассист фискального чека на основе данных, переданных в запросе.
По идентификатору можно в свою очередь запросить фискальные данные чека из АПК Ассист через отдельный веб-сервис fiscalreceipt. Эти данные используются, например, в тех случаях, когда предприятие самостоятельно отправляет электронные копии чеков своим покупателям.
Для обращения к веб сервису необходимо отправить запрос методом POST/SOAP на сервер ASSIST по адресу: https://<SERVER_NAME>/fiscal/fiscalize.cfm.
Входные параметры сервиса:
Параметр | Обязательное поле | Принимаемые значения | Значение по умолчанию | Описание | |
Merchant_ID | Да | Число | Идентификатор предприятия в системе АПК Ассист | ||
Login | Да | 20 символов | Логин пользователя сервиса от предприятия | ||
Password | Да | 30 символов | Пароль пользователя сервиса от предприятия | ||
Billnumber | НетВеб-сервис для проведения фискализации | 16 цифр расширенный формат | Расширенный номер платежа, соответствующий выполненному ранее платежу или выполненной ранее отмене в системе АПК Ассист | ||
Payment_ID | 255 символов | Уникальный идентификатор чека в системе предприятияВеб-сервис для проведения фискализации | |||
128 символов | E-mail адрес для отправки фискального чека | ||||
Phone | Число | Номер телефона для отправки фискального чека (без +7) | |||
Type | Да | Строка | Тип фискализируемого платежа:
Если в запросе передается параметр Billnumber, то для фискализации платежа должен передаваться тип sell, а для фискализации отмены тип sell_refund. | ||
PaymentType | Число | ||||
PaymentTypes | Да/НетВеб-сервис для проведения фискализации | Строка | Набор/массив пар значений видов оплаты и соответствующих им сумм:
| ||
TaxationSystem | Число | Из настроек предприятия или ККТ | |||
Chequeitems | Строка в формате JSON | Позиции чека, см. «Работа с чеком». | |||
Amount | Да | Число, 15 цифр (разделители «.», «,») | Сумма чека | ||
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Состав чека (поля с названием, стоимостью за единицу товара/услуги, ставкой налога и способом расчета по каждой позиции) определяется по следующим правилам.
при этом:
если параметры Tax или FPmode не переданы в позициях, то они могут быть переданы в параметрах запроса (в этом случае значения этих параметров будут одинаковыми для всех позиций чека, переданных в ChequeItems);
если параметры Tax или FPmode не переданы в параметрах запроса, то их значения подставляются из настроек предприятия (значения этих параметров будут одинаковыми для всех позиций чека, переданных в ChequeItems);
если настройки предприятия для этих параметров отсутствуют, то обработка запроса завершается с ошибкой (недостаточно данных для выполнения операции).
2. Если в запросе не передана структура ChequeItems, то формируется чек с одной позицией, в которой:
если параметры Tax или FPmode не переданы в параметрах запроса, то их значения подставляются из настроек предприятия;
если настройки предприятия для этих параметров отсутствуют, то обработка запроса завершается с ошибкой (недостаточно данных для выполнения операции).
7В зависимости от режима, в котором предприятие эксплуатирует ККТ, параметр может быть как обязательным, так и необязательным. Необходимость передачи этого параметра следует уточнить в отделе технической поддержки.
8Разрешается передавать либо параметр Cashier, либо параметр PaymentTerminal. Одновременно эти параметры передаваться не могут, поскольку соответствуют разным типам касс.
9Рекомендуется передавать телефонные номера в формате +7ХХХХХХХХХХ или 8ХХХХХХХХХХ.
Перечень возвращаемых параметров:
Название | Значение |
fiscalreceipt_ID | Идентификатор созданного фискального чека |
Payment_ID | Идентификатор чека в системе предприятия (если есть) |
Type | Тип фискализируемого платежа:
|
Receipt_status | Статус созданного фискального чека |
или | |
Сообщение об ошибке (если переданы некорректные параметры или не все обязательные параметры) |
После получения данных о создании фискального чека в статусах New, InProgress, ErrorRe, Requested рекомендуется через несколько минут дополнительно запросить данные фискального чека с помощью веб-сервиса fiscalreceipt (о веб-сервисе fiscalreceipt подробнее см. «Получение фискального чека») для того чтобы убедиться, что создание фискального чека успешно завершено.
Если запрос на фискализацию не может быть обработан, в результате запроса вернутся ненулевые значения параметров firstcode, secondcode.
Веб-сервис предназначен для одновременной фискализации нескольких операций (пакета операций). Пакетная фискалиация может использоваться, например, в следующих случаях:
если осуществляется отмена заказа по инициативе покупателя с удерживанием определенной суммы штрафа (комиссии) за такую отмену, при этом необходимо сформировать два отдельных фискальных чека – на полную отмену платежа и на оплату штрафа;
если необходима фискализация заказа с большим количеством позиций, при этом фискализацию можно разбить на несколько отдельных чеков, связанных с одним заказом.