Облачная Касса: Интеграция с Фискальным Процессингом

Материал из Касса
Перейти к навигации Перейти к поиску

Введение

Схема работы с ФП

Данное руководство описывает процедуру интеграции ИС (Информационной Системы) заказчика с Фискальным Процессингом (далее ФП) БИФИТ Онлайн. Описаны следующие процедуры:

  • Авторизация в ФП - процесс необходимый для подключения клиента к фискальному процессингу,
  • Формирование контент чека - формирование информации для дальнейшей отправки на фискализацию,
  • Отправка чека в ФП - передача контента чека в фискальный процессинг для дальнейшей фискализации,
  • Получение документа по ID - получение документа с фискальными признаками по его номеру.


Авторизация

Note.svg  Примечание

  • Все ссылки будут указаны для тестового контура ФП!
  • Для актуального ФП использовать ссылку вида https://fp.bifit.com/processing-api/.../


в теле (x-www-form-urlencoded) которого содержатся следующие параметры:

token: выданный токен доступа (P5cKbUUD9uSSrSlGdzspLblvBnD0GzTAE0cLmAPSEMxJ79DtLE) 
client_id:processing-connector-token 
client_secret:processing-connector-token 
grant_type:token

Пример:

curl -X POST https://fp-test.bifit.com/processing-api/oauth/token -H 'Content-Type: application/x-www-form-urlencoded' -d 'token=P5cKbUUD9uSSrSlGdzspLblvBnD0GzTAE0cLmAPSEMx J79DtLE&client_id=processing-connector-token&client_secret=processing-connector-token&grant_type=token'

в теле (x-www-form-urlencoded) которого содержатся следующие параметры:

refresh_token: полученный refresh_token
client_id:processing-connector-token
client_secret:processing-connector-token
grant_type:refresh_token

Пример:

curl -X POST \
https://fp-test.bifit.com/processing-api/oauth/token \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'refresh_token=...&client_id=processing-connector-token&client_
secret=processing-connector-token&grant_type=refresh_token'

На оба запроса получится ответ вида:

{
"access_token": "access_token", 
"token_type": "bearer", 
"refresh_token": "refresh_token", 
"expires_in": 3599,
"scope": "read write", "connector_id": 
connector_id,
"jti": "jti" }

Note.svg  Примечание

  • Ко всем последующим запросам, в Header`е необходимо указывать: 'Authorization: Bearer полученный_access_token


Формирование контента чека

Note.svg  Примечание

Пример:

{
 "type": "SALE", 
 "taxSystem": "COMMON", 
 "cashier": {
 "name": "Иванов И.И." 
},
 "client": {
 "address": "7ХХХХХХХХХХ"
}, 
"items": [
 {
 "calculationMethod": "FULL_PAY", 
 "paymentSubject": "SERVICE", 
 "name": "Услуга",
 "price": 100,
 "quantity": 1,
 "vat": "VAT_20",
 "total": 100
 } 
],
"total": 100,
"payments": {
"CASH": 100
}
}

Note.svg  Примечание
Полученные данные имеют ознакомительный характер, актуальные запросы можно посмотреть по адресу:

Отправка чека в фискальный процессинг

В Header`е указывается Idempotency-Key, который генерируется следующим образом:

SHA256("Номер чека(локальный счетчик на устройстве)/PIN(4 цифры)/Сумма чека(ххх.хх)/ДатаВремя(ДД.ММ.ГГГГ ЧЧ:ММ")

Пример:

curl -X POST \ 
https://fp-test.bifit.com/processing-api/protected/documents/registration/
receipts \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer access_token' \ -H 'Idempotency-Key: 
idempotency_key' \ 
-d '{
 "type": "SALE", 
 "taxSystem": "COMMON",
 "cashier": {
 "name": "Иванов И.И."
 },
"client": {
 "address": "7ХХХХХХХХХХ"
}, 
"items": [
 {
 "calculationMethod": "FULL_PAY",
 "paymentSubject": "SERVICE", 
 "name": "Услуга",
 "price": 100,
 "quantity": 1,
 "vat": "VAT_20",
 "total": 100
 } 
],
"total": 100, 
"payments": {
"CASH": 100 
 }
}'

В ответ вы получите идентификатор документа на процессинге (id)

Note.svg  Примечание
Полученные данные имеют ознакомительный характер, актуальные запросы можно посмотреть по адресу:

Получение документа по ID

  • Для получения чека по id необходимо выполнить GET-запрос по адресу https://fp-test.bifit.com/processing-api/protected/documents/{id} , где необходимо заменить {id} на полученный на предыдущем шаге идентификатор документа (id).

Ответ описан в swagger`е по ссылке https://fp-test.bifit.com/processing-api/swagger-ui.html#/

Пример:

curl -X GET \
https://fp-test.bifit.com/processing-api/protected/documents/{id}\
-H 'Authorization: Bearer access_token'


Оффлайн возможности фискального процессинга

Функционал фискального процессинга позволяет осуществлять формирование ссылки на чек даже в оффлайн режиме, путем генерации QR-кода с ссылкой на страницу отслеживания состояния чека.

Ссылка:

https://fp-test.bifit.com/processing-api/receipts/ + idempotency_key, сгенерированный при отправке чека.