.. meta:: :description: API Initiate Verification в потоке Mobile Device Server Payneteasy: регистрирует серверный запрос проверки карты до продолжения работы мобильного приложения. .. _api_initiate_verification: Инициировать проверку ##################### .. role:: ex .. role:: code Введение ^^^^^^^^^^^^ | Инициация проверки выполняется запросом :code:`HTTPS POST` с использованием :ref:`URL-адресов` и :ref:`параметров`. | Чтобы инициировать верификацию карты, приложение Присоединяющейся стороны отправляет :ex:`{accessToken}` с другими параметрами устройства на сервер Присоединяющейся стороны. Эти параметры используются для начала сессии с уникальными случайными :ex:`{nonce}` и зашифрованной :ex:`{signature}`. В ответ сервер Присоединяющейся стороны также предоставляет информацию о :ex:`{invoiceId}` в системе Присоединяющейся стороны и :ex:`{endpointId}` в Payneteasy. .. _api_url_initiate_verification: API URL ^^^^^^^^ .. note:: | Это пример URL на сервере Присоединяющейся Стороны. .. list-table:: :widths: 100 :header-rows: 1 :class: longtable * - Сервер Присоединяющейся Стороны * - :ex:`https://proxy.connectingpartyserver.com/verification/initiate-verification` .. _api_parameters_initiate_verification: Параметры запроса ^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 30, 45, 25 :header-rows: 1 :class: longtable * - Название параметра - Описание - Значение * - :code:`consumer` - - | ``Необходимость``: Обязательно | ``Тип``: **Object** * - :code:`consumer.device` - - | ``Необходимость``: Обязательно | ``Тип``: **Object** * - :code:`consumer.device.serialNumber` - | Серийный номер устройства потребителя. - | ``Необходимость``: Обязательно | ``Тип``: String | ``Длина``: 1-50 * - :code:`transaction` - | - | ``Необходимость``: Обязательно | ``Тип``: **Object** * - :code:`transaction.currency` - | Буквы верхнего регистра (alpha-код по ISO 4217). - | ``Необходимость``: Обязательно | ``Тип``: String | ``Длина``: 3 * - :code:`session` - | - | ``Необходимость``: Обязательно | ``Тип``: **Object** * - :code:`session.accessToken` - | Ключ токена доступа, полученный при необязательной аутентификации потребителя. - | ``Необходимость``: Обязательно | ``Тип``: String | ``Длина``: 32-128 * - :code:`consumer.device.imei` - | Международный идентификатор мобильного оборудования устройства потребителя. - | ``Необходимость``: Опционально | ``Тип``: String | ``Длина``: 14-16 * - :code:`location` - | - | ``Необходимость``: Опционально | ``Тип``: **Object** * - :code:`location.lat` - | Широта указывается в диапазоне от -90.0 до +90.0 включительно. - | ``Необходимость``: Опционально | ``Тип``: Double * - :code:`location.lng` - | Долгота указывается в диапазоне от -180.0 до +180.0 включительно. - | ``Необходимость``: Опционально | ``Тип``: Double * - :code:`consumer.ipAddresses` - | IP-адреса потребителя. - | ``Необходимость``: Опционально | ``Тип``: List * - :code:`consumer.ipAddresses[]` - | IP-адрес потребителя. - | ``Необходимость``: Опционально | ``Тип``: String | ``Длина``: 7-15 Параметры успешного ответа ^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 30, 45, 25 :header-rows: 1 :class: longtable * - Название параметра - Описание - Значение * - :code:`endpointId` - Идентификатор точки входа для транзакции Verification. - | ``Тип``: String * - :code:`invoiceId` - Идентификатор транзакции верификации. - | ``Тип``: String * - :code:`session` - - | ``Тип``: **Object** * - :code:`session.nonce` - Уникальная случайная строка, сгенерированная сервером Присоединяющейся стороны. - | ``Тип``: String * - :code:`session.signature` - Контрольная сумма, сгенерированная hmac-sha1 (см. :ref:`signature-computation`) из конкатенации accessToken, consumer.device.serialNumber, endpointId, session.nonce, invoiceId и transaction.currency. - | ``Тип``: String Параметры неуспешного ответа ^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :widths: 30, 45, 25 :header-rows: 1 :class: longtable * - Название параметра - Описание - Значение * - :code:`error` - - | ``Тип``: **Object** * - :code:`error.cause` - Причина ошибки. Возможные значения: ``FILTERED``, ``INVALID_REQUEST``, ``SERVER_FAILED``, ``SERVER_UNAVAILABLE``. - | ``Тип``: Enum * - :code:`error.code` - Уникальный код ошибки. - | ``Тип``: String * - :code:`error.message` - Описание ошибки. - | ``Тип``: String Пример запроса ^^^^^^^^^^^^^^^ .. code-block:: json { "consumer": { "device": { "imei": "string", "serialNumber": "string" }, "ipAddresses": ["string"] }, "location": { "lat": "double", "lng": "double" }, "session": { "accessToken": "string" }, "transaction": { "currency": "string" } } Пример успешного ответа ^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: json { "endpointId": "string", "invoiceId": "string", "session": { "nonce": "string", "signature": "string" } } Пример неуспешного ответа ^^^^^^^^^^^^^^^^^^^^^ .. code-block:: json { "error": { "cause": "enum", "code": "string", "message": "string" } }