Описание: Check verification

Введение

Проверка верификации инициируется через запрос HTTPS POST с использованием URLs и parameters.
Проверка верификации используется в целях безопасности и позволяет SBC сравнивать данные, отправленные приложением Присоединяющейся стороны, с данными, хранящимися на сервере Присоединяющейся стороны.
Настоятельно рекомендуется отвечать актуальной информацией, хранящейся на сервере Присоединяющейся Стороны.

API URL

Примечание

Это пример URL на сервере Присоединяющейся Стороны.

Сервер Присоединяющейся Стороны

https://proxy.connectingpartyserver.com/verification/{invoiceId}/check

Параметры запроса

Название параметра

Описание

Значение

consumer

Тип: Object

consumer.device

Тип: Object

consumer.device.serialNumber

Серийный номер устройства потребителя.

Тип: String
Длина: 1-50

session

Тип: Object

session.accessToken

Ключ access token потребителя, отправленный приложением Присоединяющейся Стороны.

Тип: String
Длина: 32-128

session.nonce

Значение, отправленное приложением Присоединяющейся Стороны.

Тип: String
Длина: 32-128

session.signature

Значение, отправленное приложением Присоединяющейся Стороны.

Тип: String
Длина: 32-128

session.token

Токен сеанса транзакции верификации.

Тип: String
Длина: 16-36

Параметры успешного ответа

Название параметра

Описание

Значение

invoiceId

Идентификатор транзакции верификации.

Необходимость: Обязательно
Тип: String

session

Необходимость: Обязательно
Тип: Object

session.checkSignature

Контрольная сумма, сгенерированная hmac-sha1 (см. Вычисление подписи) из конкатенации consumer.device.serialNumber, session.nonce, endpointId и invoiceId.

Необходимость: Обязательно
Тип: String

session.nonce

Unique random string generated by Присоединяющаяся сторона’s server in Initiate verification ответ.

Необходимость: Обязательно
Тип: String

session.token

Токен сеанса транзакции верификации.

Необходимость: Обязательно
Тип: String

billing


Необходимость: Опционально
Тип: Object

billing.address


Необходимость: Опционально
Тип: Object

billing.address.city

Название города.

Необходимость: Опционально
Тип: String

billing.address.country

Трёхбуквенный код страны ISO.

Необходимость: Опционально
Тип: String

billing.address.postcodeZip

Почтовый индекс ZIP.

Необходимость: Опционально
Тип: String

billing.address.state

Поле «Штат» используется при наличии. Например, Лос-Анджелес находится в штате CA.

Необходимость: Опционально
Тип: String

billing.address.street

Поле «Улица» используется для названий районов и улиц.

Необходимость: Опционально
Тип: String

billing.address.street2

Поле «Улица 2» используется для длинных адресов. Обычно оно содержит номер квартиры и здания.

Необходимость: Опционально
Тип: String

billing.phone

Контактный номер телефона клиента.

Необходимость: Опционально
Тип: String

consumer.birthDay

Потребитель’s birth day in «ddMMyyyy» format.

Необходимость: Опционально
Тип: String

consumer.email

Потребитель’s email адрес.

Необходимость: Опционально
Тип: String

consumer.ipAddresses

IP-адреса потребителя.

Необходимость: Опционально
Тип: List

consumer.ipAddresses[]

IP-адрес потребителя.

Необходимость: Опционально
Тип: String

transaction.currency

Буквы верхнего регистра (alpha-код по ISO 4217).

Необходимость: Опционально
Тип: String

transaction.randomSumCentis

Случайная сумма (для проверки случайной суммы), 1.00 EUR = 100 центов.

Необходимость: Опционально
Тип: Integer

Параметры неуспешного ответа

Название параметра

Описание

Значение

error

Тип: Object

error.cause

Причина ошибки. Возможные значения: FILTERED, INVALID_REQUEST, SERVER_FAILED, SERVER_UNAVAILABLE.

Тип: Enum

error.code

Уникальный код ошибки.

Тип: String

error.message

Описание ошибки.

Тип: String

invoiceId

Идентификатор транзакции верификации.

Тип: String

Пример запроса

{
  "consumer": {
    "device": {
      "serialNumber": "string"
    }
  },
  "session": {
    "accessToken": "string",
    "nonce": "string",
    "signature": "string",
    "token": "string"
  }
}

Пример успешного ответа

{
  "billing": {
    "address": {
      "city": "string",
      "country": "string",
      "postcodeZip": "string",
      "state": "string",
      "street": "string",
      "street2": "string"
    },
    "phone": "string"
  },
  "consumer": {
    "birthDay": "string",
    "email": "string",
    "ipAddresses": ["string"]
  },
  "invoiceId": "string",
  "session": {
    "checkSignature": "string",
    "nonce": "string",
    "token": "string"
  },
  "transaction": {
    "currency": "string",
    "randomSumCentis": "integer"
  }
}

Пример неуспешного ответа

{
  "error": {
    "cause": "enum",
    "code": "string",
    "message": "string"
  },
  "invoiceId": "string"
}