Верифицируйте пользователей с помощью eID, которым они уже пользуются.
Проводите eID-верификацию с помощью пяти национальных eID, доступных в семи странах: MitID, BankID Sweden, Finnish Trust Network, Smart-ID и Mobile-ID. Каждый из них возвращает подписанное имя, дату рождения и идентификатор схемы, например, шведский персональный номер (MitID возвращает псевдонимизированный). Пользователи без eID могут пройти проверку документов в более чем 220 странах и территориях в рамках того же рабочего процесса.
Адрес и портрет не передаются. Добавьте проверку живости и сопоставление лиц, если вам нужно селфи.
Что дает вход через eID
Подписано эмитентом. Проверено Didit.
Вход через eID (электронную идентификацию) заменяет фотографию документа данными, подписанными системой. Didit проверяет подпись и добавляет результат в сессию.
01Полное имя и дата рождения, подписанные системой
02Идентификатор системы: personnummer, персональный идентификационный код или личный код (MitID возвращает псевдонимизированный идентификатор)
03Уровень достоверности, заявленный системой
04Проверка подписи для каждого результата: signature_valid
05Без фото документа, без PIN-кода, переданного Didit, и без оплаты, если вход не завершен
Как это работает
От национального eID до верифицированного клиента за четыре шага.
Шаг 01 / 04
01
Выберите eID для каждой страны
В конструкторе рабочих процессов откройте шаг «Верификация ID», выберите страну и отметьте eID, которые вы принимаете, в разделе «Принимаемые кошельки». Затем выберите, что произойдет при неудачном входе: возврат к захвату документа или отклонение.
Отправьте пользователя в поток
Создайте сессию одним вызовом API и перенаправьте на размещенный поток или откройте его с помощью SDK для Web, iOS, Android, React Native или Flutter. Экран выбора покажет только те eID, которые вы приняли для страны пользователя.
Пользователь подтверждает в своем приложении eID
Передача на том же устройстве или QR-код на десктопе для MitID, BankID и Finnish Trust Network, или код сравнения, подтвержденный на телефоне для Smart-ID и Mobile-ID. PIN-код остается в приложении eID.
Вы получаете подписанный результат
Подписанный вебхук сообщает об изменении статуса. Решение содержит схему, подписанные атрибуты, уровень достоверности и проверку подписи, с verification_method, установленным в wallet.
Верификация eID · Шесть частей
Национальные eID и проверка документов в одном рабочем процессе.
Каждая строка это часть одного рабочего процесса. Включайте то, что необходимо для вашего онбординга, по странам, и используйте одну интеграцию.
MitID в Дании, BankID в Швеции, Finnish Trust Network в Финляндии, Smart-ID в Эстонии, Латвии, Литве и Бельгии, а также Mobile-ID в Эстонии и Литве. Каждый возвращает полное имя, дату рождения и собственный идентификатор системы: шведский personnummer, финский персональный код, балтийский персональный код или псевдонимизированный идентификатор CPR для MitID. Ни один из доступных eID не передает адрес или портрет.
Единый рабочий процесс с проверкой документов для всех остальных.
Не у всех есть eID, и многие клиенты живут там, где eID еще не доступны. Установите запасной вариант для каждой страны, и та же сессия перейдет к проверке документов: 14 000+ типов документов, чтение чипов (NFC) электронных паспортов и eID-карт за $0.15, пассивная проверка живости и сопоставление лиц. Полная проверка KYC (знай своего клиента) с документом стоит $0.33.
Art. 22(6)(b)Национальная электронная идентификацияMitIDВход через eIDПодписанные атрибутыEUDI Wallet: скоро
Art. 22(6)(a)Документ, удостоверяющий личностьПаспортЧтение чипаПроверка живостиСопоставление лицДля людей без действующей электронной идентификации
Личность подтвержденаИмя · дата рождения · идентификаторИспользованный маршрутMitID
03 · Подписанные данные
Подписанные данные, с которыми можно работать.
Каждый результат eID попадает в объект wallet_verification в сессии: схема, страна-эмитент, уровень достоверности, атрибуты и signature_valid. Если схема возвращает более слабый уровень, чем запрошенный, вход не удается вместо тихого понижения. Оплачиваются только завершенные входы. Отмененные, истекшие по времени и неудачные, бесплатны.
Подтверждение возраста по подписанной дате рождения.
Вход через eID возвращает дату рождения, подписанную схемой, что позволяет подтвердить возраст без фотографии документа. Для больших объемов рекомендуется сначала использовать оценку возраста (по $0.10 за проверку с пассивной проверкой живости), а проверку eID или документа проводить только для пограничных результатов.
Добавьте проверку AML (противодействие отмыванию денег) после шага eID, и верифицированное имя и дата рождения сразу же будут проверены по санкционным спискам, спискам PEP (политически значимых лиц) и другим спискам наблюдения (более 1300 источников) за $0.20 за проверку. Постоянный мониторинг повторно проверяет данные ежедневно за $0.07 на человека в год. В случае возможного совпадения информация отправляется вашему специалисту.
iDIN, немецкая карта eID, Freja eID, эстонская ID-карта, eParaksts, BankID Norway, Vipps, Buypass, itsme, OneID, ConnectID, UAE PASS, gov.br, GOV.UK Wallet, Bank iD, MojeID, Diia, FranceConnect и Auðkenni уже в нашей дорожной карте, а поддержка EUDI Wallet (EU Digital Identity Wallet) появится в ближайшее время. По любым другим схемам обращайтесь к нам: Didit добавляет схемы по запросу, а проверка документов уже работает в этих странах.
Покрытие следует за каталогом по странам. Флаг здесь означает, что кошелек указан для этой страны, а не то, что он уже запущен.
Покрытие eID
Все национальные eID, по странам.
Национальные и банковские eID по всей Европе и основные схемы цифровой идентификации в других регионах: что каждая из них требует от пользователя, ее уровень надежности и какие данные она возвращает. Статус и цены взяты из актуального каталога Didit.
136 из 136 схем
Схема
Страна
Статус в Didit
Уровень надежности
Что делает пользователь
Получаемые данные
Цена за вход
MitID
Страна
Дания
Статус в Didit
Работает
Уровень надежности
Существенный, Высокий · Нотифицировано в ЕС
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Имя, дата рождения, псевдонимизированный идентификатор CPR, уровень достоверности, проверка подписи
Цена за вход
$0.25
Mobile-ID
Страна
Эстония
Статус в Didit
Работает
Уровень надежности
Высокий · Нотифицировано в ЕС
Что делает пользователь
Подтверждает код на телефоне
Получаемые данные
Имя, дата рождения, персональный код, проверка подписи
Цена за вход
$0.20
Smart-ID
Страна
Эстония
Статус в Didit
Работает
Уровень надежности
Высокий · не нотифицировано в ЕС
Что делает пользователь
Подтверждает код на телефоне
Получаемые данные
Имя, дата рождения, персональный код, проверка подписи
Цена за вход
$0.20
Estonian ID card and Digi-ID
Страна
Эстония
Статус в Didit
Скоро
Уровень надежности
Высокий · Нотифицировано в ЕС
Что делает пользователь
Прикладывает ID-карту (NFC) или использует считыватель карт
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Finnish Trust Network (bank IDs)
Страна
Финляндия
Статус в Didit
Работает
Уровень надежности
Существенный · не нотифицировано в ЕС
Что делает пользователь
Входит на странице системы
Получаемые данные
Имя, дата рождения, персональный идентификационный код, проверка подписи
Цена за вход
$0.25
FINeID citizen certificate (ID card)
Страна
Финляндия
Статус в Didit
По запросу
Уровень надежности
Высокий · Нотифицировано в ЕС
Что делает пользователь
Прикладывает ID-карту (NFC) или использует считыватель карт
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Mobiilivarmenne
Страна
Финляндия
Статус в Didit
По запросу
Уровень надежности
Существенный · не нотифицировано в ЕС
Что делает пользователь
Подтверждает код на телефоне
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Auðkenni (app, SIM and card)
Страна
Исландия
Статус в Didit
Скоро
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Mobile-ID
Страна
Литва
Статус в Didit
Работает
Уровень надежности
Высокий · не нотифицировано в ЕС
Что делает пользователь
Подтверждает код на телефоне
Получаемые данные
Имя, дата рождения, персональный код, проверка подписи
Цена за вход
$0.20
Smart-ID
Страна
Литва
Статус в Didit
Работает
Уровень надежности
Высокий · не нотифицировано в ЕС
Что делает пользователь
Подтверждает код на телефоне
Получаемые данные
Имя, дата рождения, персональный код, проверка подписи
Цена за вход
$0.20
Asmens tapatybės kortelė (identity card)
Страна
Литва
Статус в Didit
По запросу
Уровень надежности
Высокий · Нотифицировано в ЕС
Что делает пользователь
Прикладывает ID-карту (NFC) или использует считыватель карт
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Smart-ID
Страна
Латвия
Статус в Didit
Работает
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Подтверждает код на телефоне
Получаемые данные
Имя, дата рождения, персональный код, проверка подписи
Цена за вход
$0.20
eParaksts mobile
Страна
Латвия
Статус в Didit
Скоро
Уровень надежности
Существенный, Высокий · Нотифицировано в ЕС
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
eID karte (identity card)
Страна
Латвия
Статус в Didit
По запросу
Уровень надежности
Существенный, Высокий · Нотифицировано в ЕС
Что делает пользователь
Прикладывает ID-карту (NFC) или использует считыватель карт
Получаемые данные
Зависит от системы
Цена за вход
По запросу
eParaksts karte
Страна
Латвия
Статус в Didit
По запросу
Уровень надежности
Существенный, Высокий · Нотифицировано в ЕС
Что делает пользователь
Прикладывает ID-карту (NFC) или использует считыватель карт
Получаемые данные
Зависит от системы
Цена за вход
По запросу
BankID (Norway)
Страна
Норвегия
Статус в Didit
Скоро
Уровень надежности
Высокий · Нотифицировано в ЕС
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Buypass ID
Страна
Норвегия
Статус в Didit
Скоро
Уровень надежности
Высокий · Нотифицировано в ЕС
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Vipps
Страна
Норвегия
Статус в Didit
Скоро
Уровень надежности
Не указано
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Commfides eID
Страна
Норвегия
Статус в Didit
По запросу
Уровень надежности
Высокий · не нотифицировано в ЕС
Что делает пользователь
Прикладывает ID-карту (NFC) или использует считыватель карт
Получаемые данные
Зависит от системы
Цена за вход
По запросу
MinID
Страна
Норвегия
Статус в Didit
По запросу
Уровень надежности
Существенный · не нотифицировано в ЕС
Что делает пользователь
Пароль и одноразовый код
Получаемые данные
Зависит от системы
Цена за вход
По запросу
BankID Sweden
Страна
Швеция
Статус в Didit
Работает
Уровень надежности
Существенный · Нотифицировано в ЕС
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Имя, дата рождения, персональный номер, проверка подписи
Цена за вход
$0.20
Freja eID
Страна
Швеция
Статус в Didit
Скоро
Уровень надежности
Существенный · Нотифицировано в ЕС (только Freja+, полученный через агента ATG)
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
SverigeID
Еще не запущено
Страна
Швеция
Статус в Didit
По запросу
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Прикладывает ID-карту (NFC) или использует считыватель карт
Получаемые данные
Зависит от системы
Цена за вход
По запросу
ID Austria
Страна
Австрия
Статус в Didit
По запросу
Уровень надежности
Высокий · Нотифицировано в ЕС
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Smart-ID
Страна
Бельгия
Статус в Didit
Работает
Уровень надежности
Высокий · не нотифицировано в ЕС
Что делает пользователь
Подтверждает код на телефоне
Получаемые данные
Имя, дата рождения, персональный код, проверка подписи
Цена за вход
$0.20
itsme
Страна
Бельгия
Статус в Didit
Скоро
Уровень надежности
Высокий · Нотифицировано в ЕС
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Belgian eID card
Страна
Бельгия
Статус в Didit
По запросу
Уровень надежности
Высокий · Нотифицировано в ЕС
Что делает пользователь
Прикладывает ID-карту (NFC) или использует считыватель карт
Получаемые данные
Зависит от системы
Цена за вход
По запросу
MyGov.be key
Страна
Бельгия
Статус в Didit
По запросу
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Swiss E-ID (swiyu)
Еще не запущено
Страна
Швейцария
Статус в Didit
По запросу
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Сканирует QR-код приложением
Получаемые данные
Зависит от системы
Цена за вход
По запросу
SwissID
Страна
Швейцария
Статус в Didit
По запросу
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Пароль и одноразовый код
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Online-Ausweisfunktion (Personalausweis)
Страна
Германия
Статус в Didit
Скоро
Уровень надежности
Высокий · Нотифицировано в ЕС
Что делает пользователь
Прикладывает ID-карту (NFC) или использует считыватель карт
Получаемые данные
Зависит от системы
Цена за вход
По запросу
d-you
Еще не запущено
Страна
Германия
Статус в Didit
По запросу
Уровень надежности
Не указано
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
FranceConnect
Страна
Франция
Статус в Didit
Скоро
Уровень надежности
Не указано
Что делает пользователь
Входит на странице системы
Получаемые данные
Зависит от системы
Цена за вход
По запросу
France Identité
Страна
Франция
Статус в Didit
По запросу
Уровень надежности
Высокий · Нотифицировано в ЕС
Что делает пользователь
Прикладывает ID-карту (NFC) или использует считыватель карт
Получаемые данные
Зависит от системы
Цена за вход
По запросу
L'Identité Numérique La Poste
Страна
Франция
Статус в Didit
По запросу
Уровень надежности
Существенный · Нотифицировано в ЕС
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
eID.li
Страна
Лихтенштейн
Статус в Didit
По запросу
Уровень надежности
Существенный, Высокий · Нотифицировано в ЕС
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
itsme
Страна
Люксембург
Статус в Didit
Скоро
Уровень надежности
Не указано
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Luxembourg eID card
Страна
Люксембург
Статус в Didit
По запросу
Уровень надежности
Высокий · Нотифицировано в ЕС
Что делает пользователь
Прикладывает ID-карту (NFC) или использует считыватель карт
Получаемые данные
Зависит от системы
Цена за вход
По запросу
LuxTrust
Страна
Люксембург
Статус в Didit
По запросу
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
iDIN
Страна
Нидерланды
Статус в Didit
Скоро
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Входит на странице системы
Получаемые данные
Зависит от системы
Цена за вход
По запросу
itsme
Страна
Нидерланды
Статус в Didit
Скоро
Уровень надежности
Не указано
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
DigiD
Страна
Нидерланды
Статус в Didit
По запросу
Уровень надежности
Существенный, Высокий · Нотифицировано в ЕС
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
eHerkenning (business login)
Страна
Нидерланды
Статус в Didit
По запросу
Уровень надежности
Существенный, Высокий · Нотифицировано в ЕС
Что делает пользователь
Пароль и одноразовый код
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Yivi
Страна
Нидерланды
Статус в Didit
По запросу
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Сканирует QR-код приложением
Получаемые данные
Зависит от системы
Цена за вход
По запросу
GOV.UK Wallet
Страна
Великобритания
Статус в Didit
Скоро
Уровень надежности
Не указано
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
OneID
Страна
Великобритания
Статус в Didit
Скоро
Уровень надежности
Не указано
Что делает пользователь
Входит на странице системы
Получаемые данные
Зависит от системы
Цена за вход
По запросу
GOV.UK One Login
Страна
Великобритания
Статус в Didit
По запросу
Уровень надежности
не нотифицировано в ЕС · GPG 45 medium
Что делает пользователь
Входит на странице системы
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Government Digital Wallet
Еще не запущено
Страна
Ирландия
Статус в Didit
По запросу
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Сканирует QR-код приложением
Получаемые данные
Зависит от системы
Цена за вход
По запросу
MyGovID
Страна
Ирландия
Статус в Didit
По запросу
Уровень надежности
не нотифицировано в ЕС · SAFE 2
Что делает пользователь
Пароль и одноразовый код
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Digital Identity (IdentiTek)
Еще не запущено
Страна
Албания
Статус в Didit
По запросу
Уровень надежности
Не указано
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
e-Albania
Страна
Албания
Статус в Didit
По запросу
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Пароль и одноразовый код
Получаемые данные
Зависит от системы
Цена за вход
По запросу
B-Trust Mobile
Страна
Болгария
Статус в Didit
По запросу
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
eAuth
Страна
Болгария
Статус в Didit
По запросу
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Входит на странице системы
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Electronic identity certificate (identity card)
Еще не запущено
Страна
Болгария
Статус в Didit
По запросу
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Прикладывает ID-карту (NFC) или использует считыватель карт
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Evrotrust eID
Страна
Болгария
Статус в Didit
По запросу
Уровень надежности
Существенный, Высокий · Нотифицировано в ЕС
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Cyprus national eID
Страна
Кипр
Статус в Didit
По запросу
Уровень надежности
Высокий · Нотифицировано в ЕС
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Bank iD
Страна
Чехия
Статус в Didit
Скоро
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Входит на странице системы
Получаемые данные
Зависит от системы
Цена за вход
По запросу
MojeID
Страна
Чехия
Статус в Didit
Скоро
Уровень надежности
Низкий, Существенный, Высокий · Нотифицировано в ЕС
Что делает пользователь
Пароль и одноразовый код
Получаемые данные
Зависит от системы
Цена за вход
По запросу
eDoklady
Страна
Чехия
Статус в Didit
По запросу
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
eObčanka (identity card)
Страна
Чехия
Статус в Didit
По запросу
Уровень надежности
Высокий · Нотифицировано в ЕС
Что делает пользователь
Прикладывает ID-карту (NFC) или использует считыватель карт
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Identita občana (NIA)
Страна
Чехия
Статус в Didit
По запросу
Уровень надежности
Не указано
Что делает пользователь
Входит на странице системы
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Mobilní klíč eGovernmentu
Страна
Чехия
Статус в Didit
По запросу
Уровень надежности
Низкий, Существенный, Высокий · Нотифицировано в ЕС
Что делает пользователь
Сканирует QR-код приложением
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Cartera Digital Beta
Еще не запущено
Страна
Испания
Статус в Didit
По запросу
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Сканирует QR-код приложением
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Cl@ve
Страна
Испания
Статус в Didit
По запросу
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
DNIe (DNI 3.0 and 4.0)
Страна
Испания
Статус в Didit
По запросу
Уровень надежности
Высокий · Нотифицировано в ЕС
Что делает пользователь
Прикладывает ID-карту (NFC) или использует считыватель карт
Получаемые данные
Зависит от системы
Цена за вход
По запросу
MiDNI
Страна
Испания
Статус в Didit
По запросу
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Сканирует QR-код приложением
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Gov.gr Wallet
Страна
Греция
Статус в Didit
По запросу
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Сканирует QR-код приложением
Получаемые данные
Зависит от системы
Цена за вход
По запросу
TAXISnet credentials
Страна
Греция
Статус в Didit
По запросу
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Пароль и одноразовый код
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Certilia mobile.ID
Страна
Хорватия
Статус в Didit
По запросу
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
eOI (identity card)
Страна
Хорватия
Статус в Didit
По запросу
Уровень надежности
Высокий · Нотифицировано в ЕС
Что делает пользователь
Прикладывает ID-карту (NFC) или использует считыватель карт
Получаемые данные
Зависит от системы
Цена за вход
По запросу
NIAS (e-Građani)
Страна
Хорватия
Статус в Didit
По запросу
Уровень надежности
не нотифицировано в ЕС (использует eOI, нотифицированную в ЕС на уровне «Высокий»)
Что делает пользователь
Входит на странице системы
Получаемые данные
Зависит от системы
Цена за вход
По запросу
DÁP (Digitális Állampolgárság)
Страна
Венгрия
Статус в Didit
По запросу
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Сканирует QR-код приложением
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Ügyfélkapu+
Страна
Венгрия
Статус в Didit
По запросу
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Пароль и одноразовый код
Получаемые данные
Зависит от системы
Цена за вход
По запросу
CIE and CieID
Страна
Италия
Статус в Didit
По запросу
Уровень надежности
Низкий, Существенный, Высокий · Нотифицировано в ЕС
Что делает пользователь
Прикладывает ID-карту (NFC) или использует считыватель карт
Получаемые данные
Зависит от системы
Цена за вход
По запросу
IT-Wallet
Страна
Италия
Статус в Didit
По запросу
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
SPID
Страна
Италия
Статус в Didit
По запросу
Уровень надежности
Низкий, Существенный, Высокий · Нотифицировано в ЕС
Что делает пользователь
Пароль и одноразовый код
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Carte de identitate (identity card)
Страна
Молдова
Статус в Didit
По запросу
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Прикладывает ID-карту (NFC) или использует считыватель карт
Получаемые данные
Зависит от системы
Цена за вход
По запросу
EVO
Страна
Молдова
Статус в Didit
По запросу
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Сканирует QR-код приложением
Получаемые данные
Зависит от системы
Цена за вход
По запросу
EVOSign
Страна
Молдова
Статус в Didit
По запросу
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
MPass
Страна
Молдова
Статус в Didit
По запросу
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Входит на странице системы
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Semnătura Mobilă
Страна
Молдова
Статус в Didit
По запросу
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Подтверждает код на телефоне
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Evrotrust eID
Страна
Северная Македония
Статус в Didit
По запросу
Уровень надежности
Высокий · не нотифицировано в ЕС
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
m.Uslugi
Еще не запущено
Страна
Северная Македония
Статус в Didit
По запросу
Уровень надежности
Не указано
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
OneID (KIBS)
Страна
Северная Македония
Статус в Didit
По запросу
Уровень надежности
Высокий · не нотифицировано в ЕС
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
uslugi.gov.mk eID
Страна
Северная Македония
Статус в Didit
По запросу
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Пароль и одноразовый код
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Maltese e-ID
Страна
Мальта
Статус в Didit
По запросу
Уровень надежности
Высокий · Нотифицировано в ЕС (только карта eID и электронные документы на проживание)
Что делает пользователь
Прикладывает ID-карту (NFC) или использует считыватель карт
Получаемые данные
Зависит от системы
Цена за вход
По запросу
e-dowód (identity card)
Страна
Польша
Статус в Didit
По запросу
Уровень надежности
Существенный, Высокий · Нотифицировано в ЕС
Что делает пользователь
Прикладывает ID-карту (NFC) или использует считыватель карт
Получаемые данные
Зависит от системы
Цена за вход
По запросу
login.gov.pl
Страна
Польша
Статус в Didit
По запросу
Уровень надежности
Не указано
Что делает пользователь
Входит на странице системы
Получаемые данные
Зависит от системы
Цена за вход
По запросу
mObywatel
Страна
Польша
Статус в Didit
По запросу
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Сканирует QR-код приложением
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Profil Zaufany
Страна
Польша
Статус в Didit
По запросу
Уровень надежности
Существенный, Высокий · Нотифицировано в ЕС
Что делает пользователь
Пароль и одноразовый код
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Autenticação.gov
Страна
Португалия
Статус в Didit
По запросу
Уровень надежности
Не указано
Что делает пользователь
Входит на странице системы
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Cartão de Cidadão
Страна
Португалия
Статус в Didit
По запросу
Уровень надежности
Высокий · Нотифицировано в ЕС
Что делает пользователь
Прикладывает ID-карту (NFC) или использует считыватель карт
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Chave Móvel Digital
Страна
Португалия
Статус в Didit
По запросу
Уровень надежности
Высокий · Нотифицировано в ЕС
Что делает пользователь
Подтверждает код на телефоне
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Carte electronică de identitate
Страна
Румыния
Статус в Didit
По запросу
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Прикладывает ID-карту (NFC) или использует считыватель карт
Получаемые данные
Зависит от системы
Цена за вход
По запросу
ROeID
Страна
Румыния
Статус в Didit
По запросу
Уровень надежности
Существенный · Нотифицировано в ЕС
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
eID.gov.rs (ConsentID)
Страна
Сербия
Статус в Didit
По запросу
Уровень надежности
Высокий · не нотифицировано в ЕС
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Lična karta (identity card)
Страна
Сербия
Статус в Didit
По запросу
Уровень надежности
Высокий · не нотифицировано в ЕС
Что делает пользователь
Прикладывает ID-карту (NFC) или использует считыватель карт
Получаемые данные
Зависит от системы
Цена за вход
По запросу
eOI and eOsebna
Страна
Словения
Статус в Didit
По запросу
Уровень надежности
Высокий · Нотифицировано в ЕС (только удостоверение личности)
Что делает пользователь
Прикладывает ID-карту (NFC) или использует считыватель карт
Получаемые данные
Зависит от системы
Цена за вход
По запросу
SI-PASS
Страна
Словения
Статус в Didit
По запросу
Уровень надежности
Не указано
Что делает пользователь
Входит на странице системы
Получаемые данные
Зависит от системы
Цена за вход
По запросу
eID karta (identity card)
Страна
Словакия
Статус в Didit
По запросу
Уровень надежности
Высокий · Нотифицировано в ЕС
Что делает пользователь
Прикладывает ID-карту (NFC) или использует считыватель карт
Получаемые данные
Зависит от системы
Цена за вход
По запросу
MeID
Страна
Словакия
Статус в Didit
По запросу
Уровень надежности
Не указано
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Slovensko v mobile
Страна
Словакия
Статус в Didit
По запросу
Уровень надежности
Не указано
Что делает пользователь
Сканирует QR-код приложением
Получаемые данные
Зависит от системы
Цена за вход
По запросу
e-Devlet
Страна
Турция
Статус в Didit
По запросу
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Пароль и одноразовый код
Получаемые данные
Зависит от системы
Цена за вход
По запросу
T.C. Kimlik Kartı (identity card)
Страна
Турция
Статус в Didit
По запросу
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Прикладывает ID-карту (NFC) или использует считыватель карт
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Diia
Страна
Украина
Статус в Didit
Скоро
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
BankID NBU
Страна
Украина
Статус в Didit
По запросу
Уровень надежности
не нотифицировано в ЕС
Что делает пользователь
Входит на странице системы
Получаемые данные
Зависит от системы
Цена за вход
По запросу
UAE PASS
Страна
ОАЭ
Статус в Didit
Скоро
Уровень надежности
Basic, Verified
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Kuwait Mobile ID (Hawyti)
Страна
Кувейт
Статус в Didit
По запросу
Уровень надежности
Не указано
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Absher
Страна
Саудовская Аравия
Статус в Didit
По запросу
Уровень надежности
Не указано
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Nafath
Страна
Саудовская Аравия
Статус в Didit
По запросу
Уровень надежности
Не указано
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
ConnectID
Страна
Австралия
Статус в Didit
Скоро
Уровень надежности
Не указано
Что делает пользователь
Входит на странице системы
Получаемые данные
Зависит от системы
Цена за вход
По запросу
myID
Страна
Австралия
Статус в Didit
По запросу
Уровень надежности
По правилам системы
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
National Online Identity Authentication
Страна
Китай
Статус в Didit
По запросу
Уровень надежности
Не указано
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Identitas Kependudukan Digital (IKD)
Страна
Индонезия
Статус в Didit
По запросу
Уровень надежности
Не указано
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Aadhaar e-KYC
Страна
Индия
Статус в Didit
По запросу
Уровень надежности
Не указано
Что делает пользователь
Подтверждает код на телефоне
Получаемые данные
Зависит от системы
Цена за вход
По запросу
DigiLocker
Страна
Индия
Статус в Didit
По запросу
Уровень надежности
Не указано
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
My Number Card (JPKI)
Страна
Япония
Статус в Didit
По запросу
Уровень надежности
Не указано
Что делает пользователь
Прикладывает ID-карту (NFC) или использует считыватель карт
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Mobile ID
Страна
Республика Корея
Статус в Didit
По запросу
Уровень надежности
Не указано
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
RealMe verified identity
Страна
Новая Зеландия
Статус в Didit
По запросу
Уровень надежности
Не указано
Что делает пользователь
Входит на странице системы
Получаемые данные
Зависит от системы
Цена за вход
По запросу
PhilSys (PhilID, ePhilID)
Страна
Филиппины
Статус в Didit
По запросу
Уровень надежности
Не указано
Что делает пользователь
Сканирует QR-код приложением
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Singpass (Myinfo)
Страна
Сингапур
Статус в Didit
По запросу
Уровень надежности
Не указано
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
NDID
Страна
Таиланд
Статус в Didit
По запросу
Уровень надежности
Не указано
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
ThaID
Страна
Таиланд
Статус в Didit
По запросу
Уровень надежности
Не указано
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Mi Argentina
Страна
Аргентина
Статус в Didit
По запросу
Уровень надежности
Не указано
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
gov.br
Страна
Бразилия
Статус в Didit
Скоро
Уровень надежности
По правилам системы
Что делает пользователь
Входит на странице системы
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Service d'authentification gouvernementale
Страна
Канада
Статус в Didit
По запросу
Уровень надежности
Не указано
Что делает пользователь
Входит на странице системы
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Llave MX
Страна
Мексика
Статус в Didit
По запросу
Уровень надежности
Не указано
Что делает пользователь
Входит на странице системы
Получаемые данные
Зависит от системы
Цена за вход
По запросу
DNIe 3.0
Страна
Перу
Статус в Didit
По запросу
Уровень надежности
Не указано
Что делает пользователь
Прикладывает ID-карту (NFC) или использует считыватель карт
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Apple Wallet Digital ID
Страна
Соединенные Штаты
Статус в Didit
По запросу
Уровень надежности
Не указано
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Google Wallet ID Pass
Страна
Соединенные Штаты
Статус в Didit
По запросу
Уровень надежности
Не указано
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
ID.me
Страна
Соединенные Штаты
Статус в Didit
По запросу
Уровень надежности
NIST IAL2
Что делает пользователь
Входит на странице системы
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Login.gov
Страна
Соединенные Штаты
Статус в Didit
По запросу
Уровень надежности
Не указано
Что делает пользователь
Входит на странице системы
Получаемые данные
Зависит от системы
Цена за вход
По запросу
State mobile driver's licences (mDL)
Страна
Соединенные Штаты
Статус в Didit
По запросу
Уровень надежности
Не указано
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Cédula digital wallet
Еще не запущено
Страна
Уругвай
Статус в Didit
По запросу
Уровень надежности
Не указано
Что делает пользователь
Подтверждает в приложении eID
Получаемые данные
Зависит от системы
Цена за вход
По запросу
National Identification Number (NIN)
Страна
Нигерия
Статус в Didit
По запросу
Уровень надежности
Не указано
Что делает пользователь
Подтверждает код на телефоне
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Smart ID card
Страна
Южно-Африканская Республика
Статус в Didit
По запросу
Уровень надежности
Не указано
Что делает пользователь
Прикладывает ID-карту (NFC) или использует считыватель карт
Получаемые данные
Зависит от системы
Цена за вход
По запросу
Последний пересмотр: 5 октября 2026 г. Не является юридической консультацией. Уровень достоверности это собственный уровень системы в соответствии с eIDAS (регламент ЕС об электронной идентификации) или национальными правилами, как его публикует эмитент или список нотифицированных систем ЕС. Цены указаны за каждое завершенное подтверждение входа. По любой системе, отмеченной «По запросу», свяжитесь с нами: маршрут считывания документов с чипом уже работает в этой стране.
Посмотрите процесс
Три экрана, без фото документов.
Что видит ваш клиент со Smart-ID: выбирает eID, подтверждает код в приложении, возвращается верифицированным. MitID, BankID и Finnish Trust Network передают управление приложению на том же телефоне или показывают QR-код на десктопе.
Верифицируйте с помощью вашего eID
MitID
BankID
Finnish Trust Network
Smart-ID
Mobile-ID
01
Выберите свой eID
В списке отображаются eID, которые вы принимаете для страны пользователя, с их официальными знаками.
Ваш код верификации
4821
Убедитесь, что ваше приложение показывает тот же код, затем подтвердите.
02
Подтвердите в приложении
Пользователь проверяет совпадение кода, затем подтверждает его своим PIN-кодом в приложении eID. Didit никогда не видит PIN-код.
Личность верифицирована
Возвращаем вас в приложение
03
Верифицировано
Процесс возвращает пользователя к вам, а подписанный результат приходит через вебхук.
Интеграция
Включите eID. Считайте подписанный результат.
Включите eID для каждой страны в рабочем процессе, используя маршрут документов в качестве запасного варианта, затем считайте подписанный результат из решения сессии или вебхука.
Внедрите верификацию eID с помощью одного промпта.
Скопируйте этот промпт в своего агента по кодированию и опишите свой стек. Он охватывает конфигурацию рабочего процесса для каждой страны, вызов сессии, подписанный вебхук, результат wallet_verification и выставление счетов.
didit-integration-prompt.md
# Didit eID verification, integrate in 5 minutes
You are adding national eID sign-in to my_stack: the user verifies with the
eID they already use (a bank or government digital identity), and anyone
without one falls back to document capture in the same flow. Every URL,
header and enum value below is canonical. Do not paraphrase or "improve" them.
## 1. Provision an account
- Sign up: https://business.didit.me
- Create an application and copy its API key from the console.
## 2. Check which eIDs are live, per country
Availability is server-driven. Never hard-code a wallet list.
- Business Console: your application -> Workflows -> the ID Verification
step -> Countries -> "Wallets accepted". Coming-soon wallets are listed
but cannot be switched on. https://docs.didit.me/console/id-verification-methods
- Didit MCP server (https://mcp.didit.me/mcp), tool
didit_workflow_get_id_verification_methods_catalog; pass country as ISO
3166-1 alpha-3 to narrow it. The MCP server signs in with "Log in with
Didit" (OAuth). It does not accept the x-api-key.
https://docs.didit.me/integration/mcp/tools
- Public coverage table (no sign-in, read-only):
https://docs.didit.me/core-technology/id-verification/digital-id-wallets#supported-wallets
If your code holds only an API key, it cannot read the catalog itself: use the
wallet ids listed in this prompt, and treat the answer of the workflow save as
the check. A live application answers 400 for a wallet that is not available
in that country ("<wallet> is not offered in <ISO3>", "unknown wallet").
At the time this prompt was generated, the catalog marked these available:
- MitID: wallet id mitid, country keys DNK
- BankID: wallet id bankid_se, country keys SWE
- Finnish Trust Network: wallet id ftn, country keys FIN
- Smart-ID: wallet id smart_id, country keys EST, LVA, LTU, BEL
- Mobile-ID: wallet id mobile_id, country keys EST, LTU
Coming soon (cannot be enabled yet): BankID, Vipps, Buypass ID, itsme, iDIN, Personalausweis, Freja eID, UAE PASS, gov.br, OneID, GOV.UK Wallet, Bank iD, MojeID, Diia, FranceConnect, Auðkenni, ConnectID, EUDI Wallet, Estonian ID-card, eParaksts.
Check the catalog for your environment before you go live.
## 3. Create the workflow
POST https://verification.didit.me/v3/workflows/
-H "x-api-key: <your-api-key>"
-H "Content-Type: application/json"
The ID Verification feature's enum value is OCR (uppercase, strict). eIDs are
its wallet method, set per country under config.methods. Keys are ISO 3166-1
alpha-3. Keep document capture on, so a user without an eID can still finish.
{
"workflow_label": "eID onboarding",
"features": [
{
"feature": "OCR",
"config": {
"methods": {
"DNK": {
"document": { "enabled": true },
"wallet": { "enabled": true, "providers": ["mitid"], "on_failure": "fallback_to_document" }
},
"SWE": {
"document": { "enabled": true },
"wallet": { "enabled": true, "providers": ["bankid_se"], "on_failure": "fallback_to_document" }
}
}
}
}
]
}
Response: 201. The workflow id is uuid (workflow_id carries the same value);
the workflow is published straight away. Create it once and keep the id:
every call to this endpoint makes a new workflow.
is_desktop_allowed defaults to false: on a desktop browser the hosted flow
then shows a QR code to continue on a phone. Add "is_desktop_allowed": true
next to workflow_label to let people finish on desktop.
Rules the API enforces:
- providers is an accept-list, not a ranking; the user picks
- on_failure is fallback_to_document or decline; it covers a cancelled,
timed-out or failed sign-in
- fallback_to_document where document.enabled is false declines instead
- a wallet the catalog does not mark available in that country rejects the
whole save (400), including every other method in the same request
- enabled true with an empty providers list is rejected
- add { "feature": "LIVENESS" } and { "feature": "FACE_MATCH" } to features
if you need a selfie: the live eIDs do not share a portrait
## 4. Create a session
POST https://verification.didit.me/v3/session/
-H "x-api-key: <your-api-key>"
-H "Content-Type: application/json"
-d '{ "workflow_id": "<id from step 3>", "vendor_data": "<your user id>" }'
Response: 201 with session_id, session_token, url and status "Not Started".
Redirect the user to url (hosted flow) or open it in the Web, iOS, Android,
React Native or Flutter SDK. The field is named url on this response.
One unfinished session exists per workflow_id and vendor_data pair: calling
create again with the same pair answers 201 again with that same session.
The user picks their eID, then approves in the eID app: same-device hand-off
or a QR code on desktop for MitID, BankID and Finnish Trust Network; a
comparison code approved on the phone for Smart-ID and Mobile-ID. Didit never
asks for the user's PIN. A started sign-in stays valid for 10 minutes by
default.
## 5. Webhooks
Register a destination in the console (API & Webhooks), or over the API:
POST https://verification.didit.me/v3/webhook/destinations/
-H "x-api-key: <your-api-key>"
-H "Content-Type: application/json"
-d '{
"label": "Verification webhooks",
"url": "https://<your-public-host>/webhooks/didit",
"webhook_version": "v3",
"subscribed_events": ["status.updated", "data.updated"]
}'
label, url and subscribed_events are required. url must be a public HTTPS
address: Didit does not deliver to localhost or private addresses. Response:
201 with uuid and secret_shared_key. Store secret_shared_key as the webhook
secret (DIDIT_WEBHOOK_SECRET); it is unique to this destination. Remove a
destination with DELETE /v3/webhook/destinations/{uuid}/ (204).
What arrives:
- webhook_type is "status.updated" (the session changed status) or
"data.updated" (verification data was corrected after the fact)
- a destination receives the events of every session of the application,
so filter on workflow_id or vendor_data when several flows share it
- creating a session already sends status.updated with status
"Not Started". The decision key is present only when status is Approved,
Declined, In Review or Abandoned.
Verify every delivery:
Header: X-Signature-V2 (not X-Signature, not X-Signature-Simple)
Algorithm: HMAC-SHA256, hex digest, over the canonical JSON of the payload
(Python json.dumps(sort_keys=True, separators=(",", ":"),
ensure_ascii=False) after whole-valued floats become ints).
Use the reference handler below as written: it rebuilds those
bytes from the raw body text. Never hash the raw request bytes.
Freshness: the signed body field timestamp is the dispatch time (Unix
seconds, refreshed on every retry). Reject when
abs(now - timestamp) > 300 seconds, and reject when the
X-Timestamp header does not equal it.
Idempotency: event_id is the same on every retry of one event, so store it
and skip a delivery you already processed. One session can
still send the same status under two event ids, and the
console's Try Webhook test deliveries carry no event_id, so
also make the handler safe to run twice for one
(session_id, status, webhook_type).
Compare: constant-time (crypto.timingSafeEqual)
Reference handler (Express). Keep the verification lines as written.
The handler is a fragment. Put this above it and app.listen(process.env.PORT)
below it. It needs Express and Node 21 or newer (an older Node rejects
every delivery). It expects a JSON body: answer 400 yourself if you accept
anything else on this route, and refuse to start without the secret.
const express = require("express");
const app = express();
const SECRET = process.env.DIDIT_WEBHOOK_SECRET; // secret_shared_key of the destination
// Your endpoint receives a signed payload
const crypto = require("node:crypto"); // ESM: import crypto from "node:crypto"
// X-Signature-V2 = HMAC over the canonical JSON, never the raw bytes. Match the sender byte for
// byte: keys sorted by code point, integers digit for digit, floats in Python's repr.
class Num { constructor(src) { this.src = src; } } // a number as written on the wire, not a double
const num = (s) => { if (/^-?\d+$/.test(s)) return BigInt(s).toString(); const n = +s; // ints stay exact
if (Number.isInteger(n)) return BigInt(n).toString(); const [m, e] = n.toExponential().split("e"); // 27.0 -> 27
return +e >= -4 ? String(n) : `${m}e-${String(-e).padStart(2, "0")}`; }; // 1e-05, not 0.00001
const byCodePoint = (a, b) => Buffer.compare(Buffer.from(a), Buffer.from(b)); // UTF-8 order = Python's
const canon = (v) => Array.isArray(v) ? `[${v.map(canon)}]` : v instanceof Num ? num(v.src)
: v && typeof v === "object" ? `{${Object.keys(v).sort(byCodePoint).map((k) => `${JSON.stringify(k)}:${canon(v[k])}`)}}`
: JSON.stringify(v);
// Read the body as text: express.json() would round 1000000000000000129 to a double first.
// Register this route ABOVE any global app.use(express.json()): the first parser to run
// consumes the stream, and a body it already parsed has lost the digits the signature covers.
app.post("/webhooks/didit", express.text({ type: "application/json" }), (req, res) => {
const exact = JSON.parse(req.body, (k, v, c) => typeof v === "number" ? new Num(c.source) : v); // Node 21+
const body = JSON.parse(req.body);
const mac = crypto.createHmac("sha256", SECRET).update(canon(exact), "utf8").digest("hex");
const sig = Buffer.from(String(req.headers["x-signature-v2"] ?? ""));
// Freshness comes from the signed body timestamp; the header alone is unsigned and replayable.
const ts = body.timestamp, fresh = String(ts) === req.headers["x-timestamp"]
&& Math.abs(Date.now() / 1000 - ts) <= 300;
if (!fresh || sig.length !== mac.length
|| !crypto.timingSafeEqual(sig, Buffer.from(mac))) return res.sendStatus(401);
const { status, decision } = body;
// One entry per ID Verification node; pick yours by node_id when you run several.
const [idv] = decision?.id_verifications ?? [];
// idv.verification_method: "document" | "id_lookup" | "wallet"
res.sendStatus(200);
});
Status values (exact strings): Not Started, In Progress, Approved, Declined,
In Review, Resubmitted, Expired, Abandoned, Kyc Expired. Awaiting User only
appears on business verification sessions.
## 6. Read the eID result
The same V3 decision reaches you two ways:
- webhook body: body.decision.id_verifications[]
- GET https://verification.didit.me/v3/session/{session_id}/decision/
-H "x-api-key: <your-api-key>"
This response IS the decision object. Read id_verifications at the top
level: there is no decision wrapper here.
Until the user finishes the ID step, status is "Not Started" or "In Progress"
and id_verifications is null, not an empty array. Guard for it.
id_verifications[] has one entry per ID Verification node; with a single step
take index 0 (its node_id is "ocr" on a workflow made by the call in step 3).
The decision's features list names the step ID_VERIFICATION; the workflow
body still takes OCR. Each entry carries:
status Approved, Declined, In Review or Not Finished
verification_method "wallet" for an eID sign-in, "document" after a
fallback
assurance "cryptographic" for a wallet entry, "documentary"
for a document one
full_name, the normalised identity fields, on the entry itself
date_of_birth
wallet_provider the catalog wallet id, for example "mitid"
wallet_verification provider, provider_name, issuing_authority,
issuing_country, credential_type,
level_of_assurance (low | substantial | high),
verified_at, signature_valid, attributes, portrait,
face_match_score
fallback_from { method, reason, action } when the wallet sign-in failed
and on_failure declined the session; otherwise
null. After a document fallback that succeeds the
entry reads verification_method "document" with
fallback_from null
attributes holds what the scheme shares, and the names vary by scheme: MitID
returns cpr_alias (a pseudonymised identifier, not the CPR number), BankID
Sweden personal_number, Finnish Trust Network personal_identity_code, Smart-ID
and Mobile-ID personal_code. Use full_name and date_of_birth on the entry for
the normalised identity fields. No live eID returns an address or a portrait.
Check wallet_verification.level_of_assurance when your rules depend on it. If
a scheme returns a weaker level than the one requested, the sign-in fails
instead of downgrading.
## 7. Billing
- only a completed eID sign-in is billed; cancelled, timed-out, refused
and failed sign-ins are free
- a document fallback is billed as its own document check
- eID checks are outside the document free tier
- published prices per completed sign-in (USD):
- MitID personal: $0.25
- BankID Sweden: $0.20
- Finnish Trust Network: $0.25
- Smart-ID: $0.20
- Mobile-ID: $0.20
- full pricing: https://docs.didit.me/core-technology/id-verification/digital-id-wallets#pricing
## 8. Hard rules
- base URL for v3 endpoints: verification.didit.me
- auth header: x-api-key
- feature enum: OCR; methods: document, id_lookup, wallet
- wallet ids come from the catalog verbatim (mitid, bankid_se, ftn,
smart_id, mobile_id)
- country keys: ISO 3166-1 alpha-3, uppercase
- webhook: X-Signature-V2 plus X-Timestamp, canonical JSON, freshness from
the signed body timestamp
## 9. Verify your integration
Sandbox (an application in sandbox mode: nothing is billed and no real eID is
called). https://docs.didit.me/integration/sandbox-testing
- a sandbox application can enable every wallet in the catalog, the
coming-soon ones included. A workflow that saves in sandbox can still be
refused on a live application, so only use wallets marked available.
- open the session url, pick the wallet and confirm: the default approve
scenario simulates the sign-in. The entry then has verification_method
"wallet", assurance "cryptographic" and wallet_provider set, and the
normalised full_name and date_of_birth are filled. But
wallet_verification.signature_valid and level_of_assurance are null and
attributes is { "sandbox": true }: no real credential was checked.
Assert signature_valid === true and the level of assurance only against
a live application.
- to exercise on_failure, create the session with
"sandbox_scenario": "wallet_cancelled" (also wallet_timeout and
wallet_provider_error). The wallet sign-in then fails and the flow moves
to document capture or declines, as on_failure says. A fallback that
ends in an approved document reads verification_method "document".
- POST /v3/session/{session_id}/simulate/ forces a final status but writes
no id_verifications entry, so it cannot stand in for a sign-in.
Checks:
- create the workflow, create a session, and read its decision: expect 201,
201 with url, and 200 with status "Not Started"
- run one sandbox session per accepted eID through the hosted flow and
assert verification_method is "wallet" and wallet_provider is the eID you
picked
- run one session with sandbox_scenario "wallet_cancelled" and assert the
flow offers document capture
- assert your webhook accepts a correctly signed payload and rejects a
wrong X-Signature-V2, a changed body, and a payload whose signed
timestamp is older than 300 seconds, even when X-Timestamp is refreshed
- on a live application, assert wallet_verification.signature_valid is true
Docs: https://docs.didit.me/core-technology/id-verification/digital-id-wallets
Соответствие по умолчанию
Откройте новую страну в один клик. Мы берем на себя сложную работу.
Мы открываем местные дочерние компании, получаем лицензии, проводим пентесты, получаем сертификаты и адаптируемся к каждому новому регулированию. Чтобы запустить верификацию в новой стране, просто переключите тумблер. Более 220 стран в работе, ежеквартальные аудиты и пентесты, единственный провайдер идентификации, который правительство страны-члена ЕС официально назвало более безопасным, чем личная верификация.
Начните бесплатно. Платите по мере использования. Масштабируйтесь до Enterprise.
500 бесплатных верификаций каждый месяц, навсегда. Затем платите только за фактически использованные модули. Для тарифа Enterprise доступны индивидуальные контракты, размещение данных и соглашения об уровне обслуживания (SLA).
Бесплатно
$0/ месяц · без карты
Для разработки, тестирования и первых пользователей.
Всё, что нужно для старта:
500 полных KYC-проверок ежемесячно
Проверка ID, Liveness, Face Match, устройства и IP
Более 200 сигналов мошенничества, чёрный список, дубликаты
Повторное использование KYC в сети Didit
Конструктор рабочих процессов, управление кейсами, SDK
AI-поддержкаAI-агент в консоли, документация и сообщество.