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

Материал из Касса
Перейти к навигации Перейти к поиску
Строка 34: Строка 34:
</syntaxhighlight>
</syntaxhighlight>
|}}<br>
|}}<br>
BODY запроса для агента типа "'''Банковский платежный агент'''".


{{ProductTable-2
{{ProductTable-2
Строка 65: Строка 69:
|content-right=&nbsp;
|content-right=&nbsp;
<syntaxhighlight lang="JSON">
<syntaxhighlight lang="JSON">
{
{  
     "type": "SALE",
     "type": "SALE",  
     "taxSystem": "COMMON",
     "taxSystem": "COMMON",  
     "cashier": {
     "cashier": {  
         "name": "Иванов И.И."
         "name": "Иванов И.И."  
     },
     },  
     "client": {
     "client": {  
         "address": "test@test.com"
         "address": "test@test.com"  
     },
     },  
     "items": [
     "items": [  
         {
         {  
             "calculationMethod": "FULL_PAY",
             "calculationMethod": "FULL_PAY",  
             "paymentSubject": "PRODUCT",
             "paymentSubject": "PRODUCT",  
             "name": "Тест agent запрос",
             "name": "Тест agent запрос",  
             "price": 100.00,
             "price": 100.00,  
             "quantity": 1,
             "quantity": 1,  
             "vat": "VAT_20",
             "vat": "VAT_20",  
             "total": 100.00,
             "total": 100.00,  
            "contractorAddress": "г. Москва",
"agent": {
            "contractorInn": "7719617469",
    "transferPhones": [ "+79999999999"],
            "contractorName": "АО БИФИТ",
    "transferName": "string",
            "contractorPhone": "79999999999",
    "transferAddress": "string",
             "organizationPhone": "79999999999",
    "transferInn": "1234567890",  
             "contractorActivityType": "AGENT"
    "receiverPhones": [
         }
      "+79999999999"  
     ],
    ],  
     "total": 100.00,
    "operation": "string",  
     "payments": {
    "phones": ["+79999999999"]
         "CASH": 100.00
  },  
     }
             "agentType": "BANK_PAYMENT_AGENT",  
             "shipper": {
        "name": "string",
        "inn": "1234567890"}
         }  
     ],  
     "total": 100.00,  
     "payments": {  
         "CASH": 100.00  
     }  
}
}
</syntaxhighlight>
</syntaxhighlight>
|}}<br>
|}}<br>
BODY запроса для агента типа "'''Платежный агент'''".
{{ProductTable-2
|title-left=Request Body
|title-right=JSON структура
|content-left=&nbsp;
* '''type''': тип фискального документа, см. раздел "Нумераторы" ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
* '''taxSystem''': система налогообложения, см. раздел "Нумераторы" ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
* '''cashier''': информация о кассире
** '''name''': ФИО кассира, допускается вместе с ФИО указать должность кассира ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
** '''inn''': ИНН кассира ('''не обязательный реквизит''')
* '''client''': информация о клиенте
** '''address''': электронный адрес или номер телефона ('''не обязательный реквизит''')
* '''items''': массив, содержащий номенклатурные позиции
** '''calculationMethod''': признак способа расчёта, см. раздел "Нумераторы" ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
** '''paymentSubject''': признак предмета расчёта, см. раздел "Нумераторы" ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
** '''name''': наименование товарной позиции ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
** '''price''': цена товарной позиции с учетом примененной скидки/надбавки ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
** '''quantity''': количество товарных позиций ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
** '''vat''': НДС товарной позиции, по умолчанию передаётся значение "БЕЗ НДС" ('''не обязательный реквизит''')
** '''total''': сумма товарной позиции с учетом примененных скидок/надбавок
** '''contractorAddress''': адрес агента ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
** '''contractorInn''': ИНН агента ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
** '''contractorName''': Ф.И.О агента ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
** '''contractorPhone''': Телефон агента в формате 7XXXXXXXXXX ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
** '''organizationPhone''': Телефон оператора перевода ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
** '''contractorActivityType''': Тип агента (Возможные значения: BANK_PAYMENT_AGENT, BANK_PAYMENT_SUBAGENT, PAYMENT_AGENT, PAYMENT_SUBAGENT, ATTORNEY, COMMISSIONER, AGENT) ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
* '''total''': итоговая сумма чека. Содержит итоговую сумму всех товарных позиций в чеке ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
* '''payments''': типы оплаты. В чеке должен быть указан хотя бы один тип оплаты ('''ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ''')
** '''CASH''': сумма по типу оплаты наличными ('''не обязательный реквизит''')
|content-right=&nbsp;
<syntaxhighlight lang="JSON">
{
    "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
    }
}
</syntaxhighlight>
|}}<br>


{{ProductTable-2
{{ProductTable-2

Версия 18:24, 20 октября 2022

Запрос при работе по ФФД 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: ФИО кассира, допускается вместе с ФИО указать должность кассира (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • inn: ИНН кассира (не обязательный реквизит)
  • client: информация о клиенте
    • address: электронный адрес или номер телефона (не обязательный реквизит)
  • items: массив, содержащий номенклатурные позиции
    • calculationMethod: признак способа расчёта, см. раздел "Нумераторы" (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • paymentSubject: признак предмета расчёта, см. раздел "Нумераторы" (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • name: наименование товарной позиции (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • price: цена товарной позиции с учетом примененной скидки/надбавки (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • quantity: количество товарных позиций (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • vat: НДС товарной позиции, по умолчанию передаётся значение "БЕЗ НДС" (не обязательный реквизит)
    • total: сумма товарной позиции с учетом примененных скидок/надбавок
    • contractorAddress: адрес агента (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • contractorInn: ИНН агента (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • contractorName: Ф.И.О агента (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • contractorPhone: Телефон агента в формате 7XXXXXXXXXX (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • organizationPhone: Телефон оператора перевода (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • contractorActivityType: Тип агента (Возможные значения: BANK_PAYMENT_AGENT, BANK_PAYMENT_SUBAGENT, PAYMENT_AGENT, PAYMENT_SUBAGENT, ATTORNEY, COMMISSIONER, AGENT) (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
  • 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: ФИО кассира, допускается вместе с ФИО указать должность кассира (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • inn: ИНН кассира (не обязательный реквизит)
  • client: информация о клиенте
    • address: электронный адрес или номер телефона (не обязательный реквизит)
  • items: массив, содержащий номенклатурные позиции
    • calculationMethod: признак способа расчёта, см. раздел "Нумераторы" (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • paymentSubject: признак предмета расчёта, см. раздел "Нумераторы" (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • name: наименование товарной позиции (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • price: цена товарной позиции с учетом примененной скидки/надбавки (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • quantity: количество товарных позиций (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • vat: НДС товарной позиции, по умолчанию передаётся значение "БЕЗ НДС" (не обязательный реквизит)
    • total: сумма товарной позиции с учетом примененных скидок/надбавок
    • contractorAddress: адрес агента (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • contractorInn: ИНН агента (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • contractorName: Ф.И.О агента (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • contractorPhone: Телефон агента в формате 7XXXXXXXXXX (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • organizationPhone: Телефон оператора перевода (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
    • contractorActivityType: Тип агента (Возможные значения: BANK_PAYMENT_AGENT, BANK_PAYMENT_SUBAGENT, PAYMENT_AGENT, PAYMENT_SUBAGENT, ATTORNEY, COMMISSIONER, AGENT) (ОБЯЗАТЕЛЬНЫЙ РЕКВИЗИТ)
  • 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 
    } 
}





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


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

Note.svg Важно!
При работе по ФФД 1.05 в запросе на фискализацию документа с агентским товаром в процессинг, данные агента необходимо указывать в описание всего чека.


Запрос регистрации чека 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"


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


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


См. также