Установка и изменение PIN-кода¶
PIN-код может потребоваться клиенту при оплате покупки в оффлайн-магазине или снятии наличных в банкомате.
Технически PIN-код можно установить как для виртуальной, так и для пластиковой карты. Разница в том, что виртуальную карту можно использовать и без этого (например совершить покупку в интернет-магазине сразу после выпуска), а пластиковую карту можно использовать только после совершения операции с вводом PIN-кода (например просмотра баланса в банкомате).
Код должен быть зашифрован на устройстве клиента и передан в параметре encryptedPin
запроса на изменение PIN-кода. Подробно процесс описан ниже.
- Клиент в интерфейсе нажимает «Установить PIN-код»/«Изменить PIN-код» и вводит значение.
- Партнёр отправляет запрос от клиентского приложения на сервер.
- Партнёр со своего сервера отправляет запрос на получение публичного ключа RSA 4096 бит к Cards-lifecycle API.
- Cards-lifecycle API возвращает серверу партнёра публичный ключ и его версию.
- Партнёр передаёт публичный ключ и его версию с сервера клиентскому приложению.
- Партнёр на уровне клиентского приложения шифрует PIN-код с помощью публичного ключа алгоритмом OpenPGP.
- Партнёр отправляет зашифрованный PIN-код и версию публичного ключа от клиентского приложения на сервер.
- Партнёр со своего сервера отправляет запрос на изменение PIN-кода к Cards-lifecycle API.
- Cards-lifecycle API при успешном выполнении запроса возвращает серверу партнёра
HTTP Status: 204 No Content
.
Для установки или изменения PIN-кода партнёру необходимо знать cardTokenId
— возвращается в ответ на запрос создания заказа на выпуск карты или запрос на получение информации о заказе.
Успешный сценарий установки и изменения PIN-кода изображён на диаграмме ниже.
%%{init: {
"sequence" : {
"wrap":true,
"messageFontSize":15,
"noteFontSize":14,
"actorMargin":86
}}}%%
sequenceDiagram
participant С as Клиент
participant P as Партнёр
participant B as BaaS
С->>P: Переход на страницу интерфейса
Note right of С: Установить или изменить PIN-код
P->>+B: Запрос на получение публичного ключа
Note right of P: productId
B-->>-P: Ответ на запрос получения публичного ключа
Note left of B: publicKey, publicKeyVersion
P->>P: Шифрование с помощью publicKey алгоритмом OpenPGP
P->>+B: Запрос на изменение PIN-кода
Note right of P: productId, cardTokenId, encryptedPin, publicKeyVersion
B-->>-P: Ответ на запрос изменения PIN-кода
Note left of B: HTTP Status: 204 No Content
Запросы описаны в документации Cards-lifecycle API.
Важная информация
При реализации сценария необходимо учитывать существующие правила и ограничения.