- Offline подтверждение транзакции
- Асинхронное подтверждение транзакции
- Внимание!
- Контур.сертификата больше нет
- Подтверждение операции на сервисе подписи
- Подтверждение транзакции подписи на сервисе подтверждения операций
- Получение подписанного документа на сервисе подписи
- Примечание
- Разница между dss и подписью на носителе
- Разработчикам
- Синхронное подтверждение транзакции
- Создание транзакции подписи на сервисе подписи
Offline подтверждение транзакции
Offline сценарий может использоваться как альтернативный способ подтверждения или отклонения транзакции.
Сценарий может использоваться когда мобильное приложение не имеет доступа в Интернет, либо по каким либо причинам не смогло загрузить с сервера
данные транзакции (сопровождающий текст, подписываемый документ)
Интегрируемая система должна отобразить пользователю QR-код (Image), полученный при первом обращении к Сервису Подтверждения Операций, и предоставить пользователю интерфейс
для ручного ввода кода подтверждения (отказа) транзакции.
Пример запроса
Асинхронное подтверждение транзакции
Если в первом запросе к Сервису Подтверждения Операций пользователь указал CallbackUri, то после подтверждения операции
на мобильном устройстве пользователя придёт оповещение о завершении транзакции.
Сообщение о завершении транзакции содержит:
Result– результат подтверждения транзакции (success или failed)TransactionId– идентификатор транзакции на Сервисе Подтверждения операций (RefId)Error– код ошибкиErrorDescription– описание ошибки
Примеры ответа на CallbackUri
Оповещение о подтверждении операции:
{ "Result":"success", "TransactionId":"aa1a4a5d-bb4d-456b-87da-31818604fcd8", "Error":"", "ErrorDescription":null}Оповещение об отказе (пользователь в мобильном приложении Отказался от подтверждения операции):
{ "Result":"failed", "TransactionId":"2fbd0a40-77be-4a40-a688-a0249bba16a6", "Error":null, "ErrorDescription":null}Оповещение об истечении строка действия транзакции.
{
"Result":"failed",
"TransactionId":"bc0ffdee-7143-439f-bf6b-d1400725d8f1",
"Error":"transaction_expired",
"ErrorDescription":"Срок действия транзакции истёк"}Если пользователь подтвердил операцию на мобильном устройстве, необходимо обратиться на Сервис Подтверждения Операций
для получения нового AccessToken. В запросе передаётся идентификатор RefId.
Пример запроса
Внимание!
В Offline сценарии на мобильном устройстве пользователя не может быть отображён
подписываемый документ. Отобразить возможно только сопровождающий операцию текст.
Контур.сертификата больше нет
Раньше для отправки отчёта вам нужен был только телефон, на который приходило СМС с кодом. Вы вводили код в Эльбу, и отчёт отправлялся. Так работал Контур.Сертификат, но эта технология электронной подписи устарела. Поэтому при перевыпуске мы предлагаем выбрать новую: DSS или сертификат на носителе — эти решения безопаснее и сертифицированы ФСБ.
Подтверждение операции на сервисе подписи
Предварительные условия
В подтверждении транзакции задействованы следующие сервисы DSS:
Примечание
У Администратора DSS необходимо получить значение параметров client_id и resource.
resource – идентификатор Сервиса Подписи, имеет вид:
urn:cryptopro:dss:signserver:<SignServerAppName>
Подтверждение транзакции подписи на сервисе подтверждения операций
Для подтверждения транзакции, созданной на Сервисе Подписи, пользователь отправляет запрос содержащий:
CallbackUri– адрес для оповещения о завершении транзакции (опционально).TransactionTokenId– идентификатор транзакции, созданной на сервисе подписи.Resource– идентификатор Сервиса Подписи.ClientId– идентификатор OAuth клиента.ClientSecret– пароль OAuth клиента (для неконфиденциальных клиентов данный параметр не указывается).
Получение подписанного документа на сервисе подписи
Для получения подписанного документа необходимо отправить запрос Сервису Подписи на конечную точку /documents.
Примеры запросов
Примечание
При обработке ответа Сервиса Подтверждения Операций вызывающее приложение должно смотреть на значение двух флагов:
IsFinal и IsError. Если получен ответ с IsError – true, то дальнейшее подтверждение транзакции не возможно. Если получен ответ с IsFinal – false, то подтверждение транзакции ещё не завершено.
Разница между dss и подписью на носителе
Если ещё не определились с типом подписи, посмотрите таблицу ниже:
DSS | Подпись на носителе | |
|---|---|---|
Где хранится подпись | На нашем сервере, но доступ к ней — только с вашего мобильного телефона | компьютер или флэшка |
Ограничения | только iOS не ниже 8.0 версии или Android не ниже 4.0 версии | удобнее работать на Windows, чем на Mac, потому что на Mac сложно установить специальное ПО для подписи |
Дополнительное ПО | приложение myDSS | программа КриптоПро |
Плюсы | — пока телефон рядом, сможете отправить отчёт с любого компьютера или мобильного; | — пока на компьютере установлена подпись/вставлена флэшка с подписью, отчёт отправляется без дополнительного подтверждения; |
Недостатки | если телефон без доступа к интернету, то отчёт отправить не получится | — если потеряете флэшку с подписью, то придётся её перевыпускать; — если установили подпись на компьютер, то будете к нему привязаны; — не получится отправить отчёт с телефона. |
Разработчикам
Раздел содержит руководство разработчика по интеграции с myDSS:
Синхронное подтверждение транзакции
В синхронном режиме пользователь должен периодически опрашивать Сервис Подтверждения Операция, ожидая
завершение подтверждения транзакции (флаг IsFinal = true).
Пример запроса
Создание транзакции подписи на сервисе подписи
После прохождения аутентификации пользователь инициирует подписание документа.
Для подтверждения любых операций на Сервисе Подписи используется метод /transactions
В запросе необходимо указать:






