Облачная Касса: Интеграция с Фискальным Процессингом: различия между версиями
Mediawiki (обсуждение | вклад)  | 
				Mediawiki (обсуждение | вклад)   | 
				||
| Строка 374: | Строка 374: | ||
= Отправка чека в фискальный процессинг =  | = Отправка чека в фискальный процессинг =  | ||
{{ProductTable-2  | {{ProductTable-2  | ||
|title-left='''Запрос регистрации чека'''  | |title-left='''Запрос регистрации чека'''  | ||
Версия 11:52, 15 апреля 2022
Введение
Данное руководство описывает процедуру интеграции ИС (Информационной Системы) заказчика с Фискальным Процессингом (далее ФП) БИФИТ Онлайн. Описаны следующие процедуры:
- Авторизация в ФП - процесс необходимый для подключения клиента к фискальному процессингу,
 - Формирование контент чека - формирование информации для дальнейшей отправки на фискализацию,
 - Отправка чека в ФП - передача контента чека в фискальный процессинг для дальнейшей фискализации,
 - Получение документа по ID - получение документа с фискальными признаками по его номеру.
 
Нумераторы
| ReceiptType - тип фискального документа (тэг 1054) | |
 
  | 
       
  | 
   
| TaxSystem - cистема налогообложения (тэг 1055). Если при регистрации устройства в ФНС было выбрано более одного режима налогообложения, то в TaxSystem необходимо указать, к какой системе налогообложения относится данный чек. | |
 
  | 
       
  | 
   
| CalculationMethod - признак способа расчета (тэг 1214). | |
 
  | 
       
  | 
   
| vat - ставка НДС (тэг 1199). | |
 
  | 
       
  | 
   
| PaymentType - тип оплаты. | |
 
  | 
       
  | 
   
| PaymentSubject - признак предмета расчета (тэг 1212). | |
 
  | 
       
  | 
   
| PaymentAddress - место расчётов (тэг 1187). | |
| По умолчанию то, которое задано при регистрации. В этом поле можно указать адрес сайта, на котором сделан чек или место установки вендингового оборудования | 
| address - телефон или электронный адрес покупателя (тэг 1008). | |
| Телефон передаётся в формате "7ХХХХХХХХХХ" | 
| items - массив товарных позиций (тэг 1059). | |
 
  | 
       
  | 
   
Авторизация при помощи токена коннектора
Токен коннектора - строка, содержащая символы и/или буквы и/или цифры. Это ссылка на одну или несколько облачных ККТ в сервисе БИФИТ Онлайн. Токен коннектора генерируется пользователем или партнером в ЛК БИФИТ Бизнес после оплаты аренды облачной ККТ. Таким образом, после авторизации по токену коннектора, все запросы обрабатываются на строго определенной/ых ККТ.
- Все ссылки будут указаны для тестового контура ФП! https://fp-test.bifit.com/processing-api/.../
 - Для отладки интеграции в тестовом контуре, используйте токен коннектора: P5cKbUUD9uSSrSlGdzspLblvBnD0GzTAE0cLmAPSEMxJ79DtLE
 - Адрес "боевого" контура ФП https://fp.bifit.com/processing-api/.../
 
| Запрос | POST | 
| URL: https://fp-test.bifit.com/processing-api/oauth/token | https://fp-test.bifit.com/processing-api/oauth/token | 
   
| Request Body | type: x-www-form-urlencoded | 
 
  | 
       
token: "P5cKbUUD9uSSrSlGdzspLblvBnD0GzTAE0cLmAPSEMxJ79DtLE"
client_id: "processing-connector-token"
client_secret: "processing-connector-token"
grant_type: "token"
 | 
   
| Response | |
 
  | 
       
{
    "access_token": "eyJhbGciOiJSUzI1NiI...YQqpk7w",
    "token_type": "bearer",
    "refresh_token": "eyJhbGciOiJSUzI1Ni.._782S_MQ",
    "expires_in": 3599,
    "scope": "read write",
    "connector_id": 1,
    "jti": "2f22e02e-4e72-4b68-991b-6aec065d996c"
}
 | 
   
Авторизация при помощи refresh_token
- По истечении времени жизни access_token (по умолчанию 1 час), Вы можете использовать механизм восстановления access_token по значению refresh_token, полученному при помощи авторизации по токену коннектора. Однако, для восстановления access_token, так же можно использовать повторную процедуру авторизации по токену коннектора.
 
- Все ссылки будут указаны для тестового контура ФП! https://fp-test.bifit.com/processing-api/.../
 - Адрес "боевого" контура ФП https://fp.bifit.com/processing-api/.../
 
| Авторизация OAuth2 | POST | 
| URL: https://fp-test.bifit.com/processing-api/oauth/token | https://fp-test.bifit.com/processing-api/oauth/token | 
   
| Request Body | type: x-www-form-urlencoded | 
 
  | 
       
refresh_token: "eyJhbGciOiJSUzI1Ni.._782S_MQ"
client_id: "processing-connector-token"
client_secret: "processing-connector-token"
grant_type: "refresh_token"
 | 
   
| Response | |
 
  | 
       
{
    "access_token": "ero3UNcffhlKdn5e76i...edfr_JU",
    "token_type": "bearer",
    "refresh_token": "tjlsoduopUIy76sdsf.._78tyfbv",
    "expires_in": 3599,
    "scope": "read write",
    "connector_id": 1,
    "jti": "2f22e02e-4e72-4b68-991b-6aec065d996c"
}
 | 
   
Формирование контента чека
| JSON структура | |
 
  | 
       
{
    "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
    }
}
 | 
   
- Полное описание всех полей присутствует в swagger`е по ссылке https://fp-test.bifit.com/processing-api/swagger-ui.html#
 
Отправка чека в фискальный процессинг
| Запрос регистрации чека | 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 | |
 
  | 
       
"idempotency-key": "sdftfc-KF784mkd-skdhkaasca_lf34hKxsf"
 | 
   
Пример: 
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)
  Примечание 
Полученные данные имеют ознакомительный характер, актуальные запросы можно посмотреть по адресу: 
- https://fp.bifit.com/processing-api/swagger-ui.html#/ основной контур
 - https://fp-test.bifit.com/processing-api/swagger-ui.html#/ тестовый контур
 
Получение документа по 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, сгенерированный при отправке чека.