Перейти к содержанию

Установка и изменение PIN-кода

PIN-код может потребоваться клиенту при оплате покупки в оффлайн-магазине или снятии наличных в банкомате.

Технически PIN-код можно установить как для виртуальной, так и для пластиковой карты. Разница в том, что виртуальную карту можно использовать и без этого (например совершить покупку в интернет-магазине сразу после выпуска), а пластиковую карту можно использовать только после совершения операции с вводом PIN-кода (например просмотра баланса в банкомате).

Код должен быть зашифрован на устройстве клиента и передан в параметре encryptedPin запроса на изменение PIN-кода. Подробно процесс описан ниже.

  1. Клиент в интерфейсе нажимает «Установить PIN-код»/«Изменить PIN-код» и вводит значение.
  2. Партнёр отправляет запрос от клиентского приложения на сервер.
  3. Партнёр со своего сервера отправляет запрос на получение публичного ключа RSA 4096 бит к Cards-lifecycle API.
  4. Cards-lifecycle API возвращает серверу партнёра публичный ключ и его версию.
  5. Партнёр передаёт публичный ключ и его версию с сервера клиентскому приложению.
  6. Партнёр на уровне клиентского приложения шифрует PIN-код с помощью публичного ключа алгоритмом OpenPGP.
  7. Партнёр отправляет зашифрованный PIN-код и версию публичного ключа от клиентского приложения на сервер.
  8. Партнёр со своего сервера отправляет запрос на изменение PIN-кода к Cards-lifecycle API.
  9. 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.

Важная информация

При реализации сценария необходимо учитывать существующие правила и ограничения.