Облачная Касса: Отправка документа на фискализацию в процессинг (агентский товар): различия между версиями

Материал из Касса
Перейти к навигации Перейти к поиску
м
 
(не показаны 3 промежуточные версии 2 участников)
Строка 1: Строка 1:
= Запрос при работе по ФФД 1.2 =  
= Запрос при работе по ФФД 1.2 =  


{{Note|'''''Важно!'''''<br>
 
При работе по ФФД 1.2 в запросе на фискализацию документа с агентским товаром в процессинг, данные агента необходимо указывать в описание товара.|800}}
{{ Note | '''''Важно!'''''<br>
* При работе по ФФД 1.2 в запросе на фискализацию документа с агентским товаром в процессинг, данные агента необходимо указывать в описание товара.
* [[Облачная Касса: Интеграция с Фискальным Процессингом#Нумераторы|Нумераторы]]|800}}
 




Строка 211: Строка 214:
** '''vat''': НДС товарной позиции, по умолчанию передаётся значение "БЕЗ НДС" ('''не обязательный реквизит''')
** '''vat''': НДС товарной позиции, по умолчанию передаётся значение "БЕЗ НДС" ('''не обязательный реквизит''')
** '''total''': сумма товарной позиции с учетом примененных скидок/надбавок
** '''total''': сумма товарной позиции с учетом примененных скидок/надбавок
** '''agentType''': Признак агента (BANK_PAYMENT_AGENT, BANK_PAYMENT_SUBAGENT, PAYMENT_AGENT, PAYMENT_SUBAGENT, ATTORNEY, COMMISSIONER, AGENT)
** '''agentType''': Признак агента (ATTORNEY, COMMISSIONER, AGENT)
** '''shipper''': Поставщик
** '''shipper''': Поставщик ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
** '''name''': ФИО поставщика
** '''name''': ФИО поставщика
** '''inn''': ИНН поставщика
** '''inn''': ИНН поставщика
** '''phones''': Телефон платежного агента
* '''total''': итоговая сумма чека. Содержит итоговую сумму всех товарных позиций в чеке ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
* '''total''': итоговая сумма чека. Содержит итоговую сумму всех товарных позиций в чеке ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
* '''payments''': типы оплаты. В чеке должен быть указан хотя бы один тип оплаты ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
* '''payments''': типы оплаты. В чеке должен быть указан хотя бы один тип оплаты ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
Строка 243: Строка 245:
"shipper":{
"shipper":{
  "name":"",
  "name":"",
  "inn":"",
  "inn":"1234567890"}  
"phones":["+79999999999"]}  
  }
  }
  ],  
  ],  
Строка 269: Строка 270:
= Запрос при работе по ФФД 1.05 =
= Запрос при работе по ФФД 1.05 =


{{Note|'''''Важно!'''''<br>
{{ Note | '''''Важно!'''''<br>
При работе по ФФД 1.05 в запросе на фискализацию документа с агентским товаром в процессинг, данные агента необходимо указывать в описание всего чека.|800}}
* При работе по ФФД 1.2 в запросе на фискализацию документа с агентским товаром в процессинг, данные агента необходимо указывать в описание товара.
* [[Облачная Касса: Интеграция с Фискальным Процессингом#Нумераторы|Нумераторы]]|800}}




Строка 325: Строка 327:
** '''phones''': Телефон платежного агента
** '''phones''': Телефон платежного агента
* '''agentType''': Признак агента
* '''agentType''': Признак агента
* '''shipper''': Поставщик
** '''name''': ФИО поставщика
** '''inn''': ИНН поставщика
* '''items''': массив, содержащий номенклатурные позиции
* '''items''': массив, содержащий номенклатурные позиции
** '''calculationMethod''': признак способа расчёта, см. раздел <b>[https://kassa.bifit.com/wiki/index.php?title=БИФИТ_ОНЛАЙН:_Интеграция_с_Фискальным_Процессингом#Нумераторы "Нумераторы"]</b> ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
** '''calculationMethod''': признак способа расчёта, см. раздел <b>[https://kassa.bifit.com/wiki/index.php?title=БИФИТ_ОНЛАЙН:_Интеграция_с_Фискальным_Процессингом#Нумераторы "Нумераторы"]</b> ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
** '''paymentSubject''': признак предмета расчёта, см. раздел <b>[https://kassa.bifit.com/wiki/index.php?title=БИФИТ_ОНЛАЙН:_Интеграция_с_Фискальным_Процессингом#Нумераторы "Нумераторы"]</b> ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
** '''paymentSubject''': признак предмета расчёта, см. раздел <b>[https://kassa.bifit.com/wiki/index.php?title=БИФИТ_ОНЛАЙН:_Интеграция_с_Фискальным_Процессингом#Нумераторы "Нумераторы"]</b> ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
** '''shipper''': Поставщик
*** '''name''': ФИО поставщика
*** '''inn''': ИНН поставщика
** '''name''': наименование товарной позиции ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
** '''name''': наименование товарной позиции ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
** '''price''': цена товарной позиции с учетом примененной скидки/надбавки ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
** '''price''': цена товарной позиции с учетом примененной скидки/надбавки ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
Строка 362: Строка 364:
   },  
   },  
     "agentType": "BANK_PAYMENT_AGENT",  
     "agentType": "BANK_PAYMENT_AGENT",  
      "shipper": {
      "name": "string",
      "inn": "1234567890"},
     "items": [  
     "items": [  
         {  
         {  
             "calculationMethod": "FULL_PAY",  
             "calculationMethod": "FULL_PAY",  
             "paymentSubject": "PRODUCT",  
             "paymentSubject": "PRODUCT",  
            "shipper": {
              "name": "string",
              "inn": "1234567890"},
             "name": "Тест agent запрос",  
             "name": "Тест agent запрос",  
             "price": 100.00,  
             "price": 100.00,  
Строка 402: Строка 404:
** '''phones''': Телефон платежного агента
** '''phones''': Телефон платежного агента
* '''agentType''': Признак агента (BANK_PAYMENT_AGENT, BANK_PAYMENT_SUBAGENT, PAYMENT_AGENT, PAYMENT_SUBAGENT, ATTORNEY, COMMISSIONER, AGENT)
* '''agentType''': Признак агента (BANK_PAYMENT_AGENT, BANK_PAYMENT_SUBAGENT, PAYMENT_AGENT, PAYMENT_SUBAGENT, ATTORNEY, COMMISSIONER, AGENT)
* '''shipper''': Поставщик
** '''name''': ФИО поставщика
** '''inn''': ИНН поставщика
* '''items''': массив, содержащий номенклатурные позиции
* '''items''': массив, содержащий номенклатурные позиции
** '''calculationMethod''': признак способа расчёта, см. раздел <b>[https://kassa.bifit.com/wiki/index.php?title=БИФИТ_ОНЛАЙН:_Интеграция_с_Фискальным_Процессингом#Нумераторы "Нумераторы"]</b> ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
** '''calculationMethod''': признак способа расчёта, см. раздел <b>[https://kassa.bifit.com/wiki/index.php?title=БИФИТ_ОНЛАЙН:_Интеграция_с_Фискальным_Процессингом#Нумераторы "Нумераторы"]</b> ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
** '''paymentSubject''': признак предмета расчёта, см. раздел <b>[https://kassa.bifit.com/wiki/index.php?title=БИФИТ_ОНЛАЙН:_Интеграция_с_Фискальным_Процессингом#Нумераторы "Нумераторы"]</b> ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
** '''paymentSubject''': признак предмета расчёта, см. раздел <b>[https://kassa.bifit.com/wiki/index.php?title=БИФИТ_ОНЛАЙН:_Интеграция_с_Фискальным_Процессингом#Нумераторы "Нумераторы"]</b> ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
** '''shipper''': Поставщик
*** '''name''': ФИО поставщика
*** '''inn''': ИНН поставщика
** '''name''': наименование товарной позиции ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
** '''name''': наименование товарной позиции ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
** '''price''': цена товарной позиции с учетом примененной скидки/надбавки ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
** '''price''': цена товарной позиции с учетом примененной скидки/надбавки ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
Строка 434: Строка 436:
   },  
   },  
             "agentType": "PAYMENT_AGENT",  
             "agentType": "PAYMENT_AGENT",  
            "shipper": {
        "name": "string",
        "inn": "1234567890"},
     "items": [  
     "items": [  
         {  
         {  
             "calculationMethod": "FULL_PAY",  
             "calculationMethod": "FULL_PAY",  
             "paymentSubject": "PRODUCT",  
             "paymentSubject": "PRODUCT",  
            "shipper": {
              "name": "string",
              "inn": "1234567890"},
             "name": "Тест agent запрос",  
             "name": "Тест agent запрос",  
             "price": 100.00,  
             "price": 100.00,  
Строка 470: Строка 472:
* '''client''': информация о клиенте
* '''client''': информация о клиенте
** '''address''': электронный адрес или номер телефона ('''не обязательный реквизит''')
** '''address''': электронный адрес или номер телефона ('''не обязательный реквизит''')
* '''agentType''': Признак агента (BANK_PAYMENT_AGENT, BANK_PAYMENT_SUBAGENT, PAYMENT_AGENT, PAYMENT_SUBAGENT, ATTORNEY, COMMISSIONER, AGENT)
* '''agentType''': Признак агента (ATTORNEY, COMMISSIONER, AGENT)
* '''shipper''': Поставщик
* '''name''': ФИО поставщика
* '''inn''': ИНН поставщика
* '''phones''': Телефон платежного агента
* '''items''': массив, содержащий номенклатурные позиции
* '''items''': массив, содержащий номенклатурные позиции
** '''calculationMethod''': признак способа расчёта, см. раздел <b>[https://kassa.bifit.com/wiki/index.php?title=БИФИТ_ОНЛАЙН:_Интеграция_с_Фискальным_Процессингом#Нумераторы "Нумераторы"]</b> ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
** '''calculationMethod''': признак способа расчёта, см. раздел <b>[https://kassa.bifit.com/wiki/index.php?title=БИФИТ_ОНЛАЙН:_Интеграция_с_Фискальным_Процессингом#Нумераторы "Нумераторы"]</b> ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
** '''paymentSubject''': признак предмета расчёта, см. раздел <b>[https://kassa.bifit.com/wiki/index.php?title=БИФИТ_ОНЛАЙН:_Интеграция_с_Фискальным_Процессингом#Нумераторы "Нумераторы"]</b> ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
** '''paymentSubject''': признак предмета расчёта, см. раздел <b>[https://kassa.bifit.com/wiki/index.php?title=БИФИТ_ОНЛАЙН:_Интеграция_с_Фискальным_Процессингом#Нумераторы "Нумераторы"]</b> ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
** '''shipper''': Поставщик ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
*** '''name''': ФИО поставщика
*** '''inn''': ИНН поставщика
*** '''phones''': Телефон платежного агента
** '''name''': наименование товарной позиции ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
** '''name''': наименование товарной позиции ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
** '''price''': цена товарной позиции с учетом примененной скидки/надбавки ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
** '''price''': цена товарной позиции с учетом примененной скидки/надбавки ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
Строка 498: Строка 500:
  },  
  },  
  "agentType":"AGENT",  
  "agentType":"AGENT",  
"shipper":{
  "items": [  
"name":"",
"inn":"",
"phones":["+79999999999"]
},
"items": [  
  {  
  {  
  "calculationMethod": "FULL_PAY",  
  "calculationMethod": "FULL_PAY",  
  "paymentSubject": "SERVICE",  
  "paymentSubject": "SERVICE",  
"shipper":{
  "name":"",
  "inn":"1234567890",
  },
  "name": "Услуга",  
  "name": "Услуга",  
  "price": 100,  
  "price": 100,  

Текущая версия на 12:48, 21 ноября 2023

Запрос при работе по ФФД 1.2

Note.svg  Важно!

  • При работе по ФФД 1.2 в запросе на фискализацию документа с агентским товаром в процессинг, данные агента необходимо указывать в описание товара.
  • Нумераторы


Запрос регистрации чека POST
https://fp-test.bifit.com/processing-api/protected/documents/registration/receipts
https://fp-test.bifit.com/processing-api/protected/documents/registration/receipts


Request Headers
 
  • authorization: переменная для передачи access_token. Введите тип токена (в нашем случае слово "Bearer") перед значением access_token
  • idempotency-key: ключ идемпотентности. Уникальный идентификатор документа в рамках сервиса БИФИТ Онлайн. Ключ генерируется на стороне клиента и обеспечивает невозможность повторного выполнения запроса регистрации чека на сервере. Варианты формирования ключа:
    • Используйте GUID для генерации ключа идемпотентности (Рекомендуется)
    • Используйте правило генерации ключа: SHA256(Локальный номер документа & PIN(4 символа) & Сумма чека(ххх.хх) & ДатаВремя(ДД.ММ.ГГГГ ЧЧ:ММ)) для случаев, когда необходимо воспроизвести ключ по исходным данным с ИС отправителя запросов
      • Локальный номер документа: Локальный инкрементируемый счетчик в ИС отправителя запросов;
      • PIN: Зафиксированное значение в ИС отправителя запросов;
      • Сумма чека: Сумма чека, переданная в переменную total;
      • Время чека: Время зафиксированное в ИС отправителя;
 
authorization: "Bearer ero3UNcffhlKdn5e76i...edfr_JU"
idempotency-key: "sdftfc-KF784mkd-skdhkaasca_lf34hKxsf"


BODY запроса для агента типа "Банковский платежный агент/субагент".


Request Body JSON структура
 
  • type: тип фискального документа, см. раздел "Нумераторы" (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
  • taxSystem: система налогообложения, см. раздел "Нумераторы" (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
  • cashier: информация о кассире
    • name: ФИО кассира, допускается вместе с ФИО указать должность кассира (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
  • client: информация о клиенте
    • address: электронный адрес или номер телефона (не обязательный реквизит)
  • items: массив, содержащий номенклатурные позиции
    • calculationMethod: признак способа расчёта, см. раздел "Нумераторы" (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • paymentSubject: признак предмета расчёта, см. раздел "Нумераторы" (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • name: наименование товарной позиции (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • price: цена товарной позиции с учетом примененной скидки/надбавки (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • quantity: количество товарных позиций (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • vat: НДС товарной позиции, по умолчанию передаётся значение "БЕЗ НДС" (не обязательный реквизит)
    • total: сумма товарной позиции с учетом примененных скидок/надбавок
  • agent: массив, содержащий информацию об агенте
    • transferPhones: телефон оператора перевода
    • transferName: Наименование оператора перевода
    • transferAddress: Адрес оператора перевода
    • transferInn: ИНН оператора перевода
    • receiverPhones: Телефон оператора по приему платежей
    • operation: Операция платежного агента
    • phones: Телефон платежного агента
  • agentType: Признак агента
  • shipper: Поставщик
    • name: ФИО поставщика
    • inn: ИНН поставщика
  • total: итоговая сумма чека. Содержит итоговую сумму всех товарных позиций в чеке (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
  • payments: типы оплаты. В чеке должен быть указан хотя бы один тип оплаты (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • CASH: сумма по типу оплаты наличными (не обязательный реквизит)
 
{ 
    "type": "SALE", 
    "taxSystem": "COMMON", 
    "cashier": { 
        "name": "Иванов И.И." 
    }, 
    "client": { 
        "address": "test@test.com" 
    }, 
    "items": [ 
        { 
            "calculationMethod": "FULL_PAY", 
            "paymentSubject": "PRODUCT", 
            "name": "Тест agent запрос", 
            "price": 100.00, 
            "quantity": 1, 
            "vat": "VAT_20", 
            "total": 100.00, 
"agent": { 
    "transferPhones": [ "+79999999999"], 
    "transferName": "string", 
    "transferAddress": "string", 
    "transferInn": "1234567890", 
    "receiverPhones": [ 
      "+79999999999" 
    ], 
    "operation": "string", 
    "phones": ["+79999999999"] 
  }, 
            "agentType": "BANK_PAYMENT_AGENT", 
            "shipper": { 
        "name": "string", 
        "inn": "1234567890"} 
        } 
    ], 
 
    "total": 100.00, 
    "payments": { 
        "CASH": 100.00 
    } 
}



BODY запроса для агента типа "Платежный агент/субагент".


Request Body JSON структура
 
  • type: тип фискального документа, см. раздел "Нумераторы" (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
  • taxSystem: система налогообложения, см. раздел "Нумераторы" (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
  • cashier: информация о кассире
    • name: ФИО кассира, допускается вместе с ФИО указать должность кассира (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
  • client: информация о клиенте
    • address: электронный адрес или номер телефона (не обязательный реквизит)
  • items: массив, содержащий номенклатурные позиции
    • calculationMethod: признак способа расчёта, см. раздел "Нумераторы" (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • paymentSubject: признак предмета расчёта, см. раздел "Нумераторы" (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • name: наименование товарной позиции (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • price: цена товарной позиции с учетом примененной скидки/надбавки (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • quantity: количество товарных позиций (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • vat: НДС товарной позиции, по умолчанию передаётся значение "БЕЗ НДС" (не обязательный реквизит)
    • total: сумма товарной позиции с учетом примененных скидок/надбавок
  • agent: массив, содержащий информацию об агенте
    • receiverPhones: Телефон оператора по приему платежей
    • phones: Телефон платежного агента
  • agentType: Признак агента (BANK_PAYMENT_AGENT, BANK_PAYMENT_SUBAGENT, PAYMENT_AGENT, PAYMENT_SUBAGENT, ATTORNEY, COMMISSIONER, AGENT)
  • shipper: Поставщик
    • name: ФИО поставщика
    • inn: ИНН поставщика
  • total: итоговая сумма чека. Содержит итоговую сумму всех товарных позиций в чеке (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
  • payments: типы оплаты. В чеке должен быть указан хотя бы один тип оплаты (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • CASH: сумма по типу оплаты наличными (не обязательный реквизит)
 
{ 
    "type": "SALE", 
    "taxSystem": "COMMON", 
    "cashier": { 
        "name": "Иванов И.И." 
    }, 
    "client": { 
        "address": "test@test.com" 
    }, 
    "items": [ 
        { 
            "calculationMethod": "FULL_PAY", 
            "paymentSubject": "PRODUCT", 
            "name": "Тест agent запрос", 
            "price": 100.00, 
            "quantity": 1, 
            "vat": "VAT_20", 
            "total": 100.00, 
"agent": { 
    "receiverPhones": [ 
      "+79999999999" 
    ], 
    "phones": ["+79999999999"] 
  }, 
            "agentType": "PAYMENT_AGENT", 
            "shipper": { 
        "name": "string", 
        "inn": "1234567890"} 
        } 
    ], 
 
    "total": 100.00, 
    "payments": { 
        "CASH": 100.00 
    } 
}


BODY запроса для агентов типа "Агент, Поверенный, Комиссионер".


Request Body JSON структура
 
  • type: тип фискального документа, см. раздел "Нумераторы" (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
  • taxSystem: система налогообложения, см. раздел "Нумераторы" (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
  • cashier: информация о кассире
    • name: ФИО кассира, допускается вместе с ФИО указать должность кассира (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
  • client: информация о клиенте
    • address: электронный адрес или номер телефона (не обязательный реквизит)
  • items: массив, содержащий номенклатурные позиции
    • calculationMethod: признак способа расчёта, см. раздел "Нумераторы" (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • paymentSubject: признак предмета расчёта, см. раздел "Нумераторы" (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • name: наименование товарной позиции (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • price: цена товарной позиции с учетом примененной скидки/надбавки (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • quantity: количество товарных позиций (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • vat: НДС товарной позиции, по умолчанию передаётся значение "БЕЗ НДС" (не обязательный реквизит)
    • total: сумма товарной позиции с учетом примененных скидок/надбавок
    • agentType: Признак агента (ATTORNEY, COMMISSIONER, AGENT)
    • shipper: Поставщик (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • name: ФИО поставщика
    • inn: ИНН поставщика
  • total: итоговая сумма чека. Содержит итоговую сумму всех товарных позиций в чеке (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
  • payments: типы оплаты. В чеке должен быть указан хотя бы один тип оплаты (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • CASH: сумма по типу оплаты наличными (не обязательный реквизит)
 
{ 
 "type": "SALE", 
 "taxSystem": "COMMON", 
 "cashier": { 
 "name": "Иванов И.И." 
 }, 
 "client": { 
 "address": "79999999999" 
 }, 
 "items": [ 
 { 
 "calculationMethod": "FULL_PAY", 
 "paymentSubject": "SERVICE", 
 "name": "Услуга", 
 "price": 100, 
 "quantity": 1, 
 "vat": "VAT_20", 
 "total": 100, 
 "agentType":"AGENT", 
 
"shipper":{
 "name":"",
 "inn":"1234567890"} 
 }
 ], 
 "total": 100, 
 "payments": { 
 "CASH": 100 
 }
}



Response
 
  • Ответ сервера содержит ID зарегистрированного чека
 
257416


Запрос при работе по ФФД 1.05

Note.svg  Важно!

  • При работе по ФФД 1.2 в запросе на фискализацию документа с агентским товаром в процессинг, данные агента необходимо указывать в описание товара.
  • Нумераторы


Запрос регистрации чека POST
https://fp-test.bifit.com/processing-api/protected/documents/registration/receipts
https://fp-test.bifit.com/processing-api/protected/documents/registration/receipts


Request Headers
 
  • authorization: переменная для передачи access_token. Введите тип токена (в нашем случае слово "Bearer") перед значением access_token
  • idempotency-key: ключ идемпотентности. Уникальный идентификатор документа в рамках сервиса БИФИТ Онлайн. Ключ генерируется на стороне клиента и обеспечивает невозможность повторного выполнения запроса регистрации чека на сервере. Варианты формирования ключа:
    • Используйте GUID для генерации ключа идемпотентности (Рекомендуется)
    • Используйте правило генерации ключа: SHA256(Локальный номер документа & PIN(4 символа) & Сумма чека(ххх.хх) & ДатаВремя(ДД.ММ.ГГГГ ЧЧ:ММ)) для случаев, когда необходимо воспроизвести ключ по исходным данным с ИС отправителя запросов
      • Локальный номер документа: Локальный инкрементируемый счетчик в ИС отправителя запросов;
      • PIN: Зафиксированное значение в ИС отправителя запросов;
      • Сумма чека: Сумма чека, переданная в переменную total;
      • Время чека: Время зафиксированное в ИС отправителя;
 
authorization: "Bearer ero3UNcffhlKdn5e76i...edfr_JU"
idempotency-key: "sdftfc-KF784mkd-skdhkaasca_lf34hKxsf"


BODY запроса для агента типа "Банковский платежный агент/субагент".


Request Body JSON структура
 
  • type: тип фискального документа, см. раздел "Нумераторы" (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
  • taxSystem: система налогообложения, см. раздел "Нумераторы" (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
  • cashier: информация о кассире
    • name: ФИО кассира, допускается вместе с ФИО указать должность кассира (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
  • client: информация о клиенте
    • address: электронный адрес или номер телефона (не обязательный реквизит)
  • agent: массив, содержащий информацию об агенте
    • transferPhones: телефон оператора перевода
    • transferName: Наименование оператора перевода
    • transferAddress: Адрес оператора перевода
    • transferInn: ИНН оператора перевода
    • receiverPhones: Телефон оператора по приему платежей
    • operation: Операция платежного агента
    • phones: Телефон платежного агента
  • agentType: Признак агента
  • items: массив, содержащий номенклатурные позиции
    • calculationMethod: признак способа расчёта, см. раздел "Нумераторы" (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • paymentSubject: признак предмета расчёта, см. раздел "Нумераторы" (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • shipper: Поставщик
      • name: ФИО поставщика
      • inn: ИНН поставщика
    • name: наименование товарной позиции (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • price: цена товарной позиции с учетом примененной скидки/надбавки (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • quantity: количество товарных позиций (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • vat: НДС товарной позиции, по умолчанию передаётся значение "БЕЗ НДС" (не обязательный реквизит)
    • total: сумма товарной позиции с учетом примененных скидок/надбавок
  • total: итоговая сумма чека. Содержит итоговую сумму всех товарных позиций в чеке (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
  • payments: типы оплаты. В чеке должен быть указан хотя бы один тип оплаты (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • CASH: сумма по типу оплаты наличными (не обязательный реквизит)
 
{ 
    "type": "SALE", 
    "taxSystem": "COMMON", 
    "cashier": { 
        "name": "Иванов И.И." 
    }, 
    "client": { 
        "address": "test@test.com" 
    }, 
    "agent": { 
     "transferPhones": [ "+79999999999"], 
     "transferName": "string", 
     "transferAddress": "string", 
     "transferInn": "1234567890", 
     "receiverPhones": [ 
      "+79999999999" 
    ], 
     "operation": "string", 
     "phones": ["+79999999999"] 
  }, 
     "agentType": "BANK_PAYMENT_AGENT", 
    "items": [ 
        { 
            "calculationMethod": "FULL_PAY", 
            "paymentSubject": "PRODUCT", 
            "shipper": { 
              "name": "string", 
              "inn": "1234567890"},
            "name": "Тест agent запрос", 
            "price": 100.00, 
            "quantity": 1, 
            "vat": "VAT_20", 
            "total": 100.00
        } 
    ], 
    "total": 100.00, 
    "payments": { 
        "CASH": 100.00 
    } 
}



BODY запроса для агента типа "Платежный агент/субагент".


Request Body JSON структура
 
  • type: тип фискального документа, см. раздел "Нумераторы" (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
  • taxSystem: система налогообложения, см. раздел "Нумераторы" (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
  • cashier: информация о кассире
    • name: ФИО кассира, допускается вместе с ФИО указать должность кассира (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
  • client: информация о клиенте
    • address: электронный адрес или номер телефона (не обязательный реквизит),
  • agent: массив, содержащий информацию об агенте
    • receiverPhones: Телефон оператора по приему платежей
    • phones: Телефон платежного агента
  • agentType: Признак агента (BANK_PAYMENT_AGENT, BANK_PAYMENT_SUBAGENT, PAYMENT_AGENT, PAYMENT_SUBAGENT, ATTORNEY, COMMISSIONER, AGENT)
  • items: массив, содержащий номенклатурные позиции
    • calculationMethod: признак способа расчёта, см. раздел "Нумераторы" (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • paymentSubject: признак предмета расчёта, см. раздел "Нумераторы" (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • shipper: Поставщик
      • name: ФИО поставщика
      • inn: ИНН поставщика
    • name: наименование товарной позиции (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • price: цена товарной позиции с учетом примененной скидки/надбавки (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • quantity: количество товарных позиций (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • vat: НДС товарной позиции, по умолчанию передаётся значение "БЕЗ НДС" (не обязательный реквизит)
    • total: сумма товарной позиции с учетом примененных скидок/надбавок
  • total: итоговая сумма чека. Содержит итоговую сумму всех товарных позиций в чеке (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
  • payments: типы оплаты. В чеке должен быть указан хотя бы один тип оплаты (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • CASH: сумма по типу оплаты наличными (не обязательный реквизит)
 
{ 
    "type": "SALE", 
    "taxSystem": "COMMON", 
    "cashier": { 
        "name": "Иванов И.И." 
    }, 
    "client": { 
        "address": "test@test.com" 
    }, 
  "agent": { 
    "receiverPhones": [ 
      "+79999999999" 
    ], 
    "phones": ["+79999999999"] 
  }, 
            "agentType": "PAYMENT_AGENT", 
    "items": [ 
        { 
            "calculationMethod": "FULL_PAY", 
            "paymentSubject": "PRODUCT", 
            "shipper": { 
              "name": "string", 
              "inn": "1234567890"},
            "name": "Тест agent запрос", 
            "price": 100.00, 
            "quantity": 1, 
            "vat": "VAT_20", 
            "total": 100.00 
        } 
    ], 
 
    "total": 100.00, 
    "payments": { 
        "CASH": 100.00 
    } 
}


BODY запроса для агентов типа "Агент, Поверенный, Комиссионер".


Request Body JSON структура
 
  • type: тип фискального документа, см. раздел "Нумераторы" (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
  • taxSystem: система налогообложения, см. раздел "Нумераторы" (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
  • cashier: информация о кассире
    • name: ФИО кассира, допускается вместе с ФИО указать должность кассира (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
  • client: информация о клиенте
    • address: электронный адрес или номер телефона (не обязательный реквизит)
  • agentType: Признак агента (ATTORNEY, COMMISSIONER, AGENT)
  • items: массив, содержащий номенклатурные позиции
    • calculationMethod: признак способа расчёта, см. раздел "Нумераторы" (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • paymentSubject: признак предмета расчёта, см. раздел "Нумераторы" (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • shipper: Поставщик (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
      • name: ФИО поставщика
      • inn: ИНН поставщика
      • phones: Телефон платежного агента
    • name: наименование товарной позиции (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • price: цена товарной позиции с учетом примененной скидки/надбавки (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • quantity: количество товарных позиций (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • vat: НДС товарной позиции, по умолчанию передаётся значение "БЕЗ НДС" (не обязательный реквизит)
    • total: сумма товарной позиции с учетом примененных скидок/надбавок
  • total: итоговая сумма чека. Содержит итоговую сумму всех товарных позиций в чеке (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
  • payments: типы оплаты. В чеке должен быть указан хотя бы один тип оплаты (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • CASH: сумма по типу оплаты наличными (не обязательный реквизит)
 
{ 
 "type": "SALE", 
 "taxSystem": "COMMON", 
 "cashier": { 
 "name": "Иванов И.И." 
 }, 
 "client": { 
 "address": "79999999999" 
 }, 
 "agentType":"AGENT", 
  "items": [ 
 { 
 "calculationMethod": "FULL_PAY", 
 "paymentSubject": "SERVICE", 
 "shipper":{
   "name":"",
   "inn":"1234567890",
   },
 "name": "Услуга", 
 "price": 100, 
 "quantity": 1, 
 "vat": "VAT_20", 
 "total": 100
 }
 ], 
 "total": 100, 
 "payments": { 
 "CASH": 100 
 }
}



Response
 
  • Ответ сервера содержит ID зарегистрированного чека
 
257419


См. также