Объекты API

Объекты, используемые в запросах Cardsmobile Digital Product Delivery API

1. Объект AuthenticationMethod

Объект, описывающий метод дополнительной аутентификации пользователя. Содержит следующие поля:

Имя поля

Тип данных

Описание

methodId

String

Уникальный идентификатор метода аутентификации.

type

String

Метод аутентификации.

value

String

Значение, относящееся к методу аутентификации.

Возможные значения полей объекта:

methodId

type

value

1

OTP_CODE

Указание места отправки одноразового кода аутентификации (например, e-mail пользователя).

2

IN_CALL

Номер телефона, на который будет совершен входящий вызов для активации выпускаемой карты.

3

OUT_CALL

Номер телефона, на который пользователю необходимо совершить исходящий вызов для активации выпускаемой карты.

4

WEB_LINK

Web-ссылка на ресурс эмитента (например, интернет-банк), который пользователь должен посетить для активации выпускаемой карты.

5

MOBILE_LINK

Ссылка на приложение, которое будет запущено на устройстве пользователя для активации выпускаемой карты (например, мобильное приложение эмитента).

Пример объекта:

AuthenticationMethod
{
"methodId": "1",
"type": "WEB_LINK",
"value": "www.thebank.com/auth?id=123456"
}

2. Объект EncryptedPayload

Объект, описывающий передаваемые зашифрованные данные. Содержит следующие поля:

Имя поля

Тип данных

Описание

encryptedData

String

Зашифрованный объект JSON, содержащий полезную нагрузку. Шифрование производится алгоритмом AES с использованием ключа RGK. Для разных запросов объект JSON будет содержать различные поля с данными.

publicKeyFingerprint

String

Хеш SHA-1 открытого ключа получателя, использованного для шифрования значения поля encryptedRgk.

encryptedRgk

String

Одноразовый случайно сгенерированный 128-битный ключ (RGK) алгоритма AES, зашифрованный открытым ключом получателя.

iv

String

Вектор инициализации, используемый для шифрования RGK. Длина вектора — 16 байт. Если отсутствует, используется значение по умолчанию, равное 0.

Пример объекта:

EncryptedPayload
{
"encryptedData": "123ABC",
"publicKeyFingerprint": "123ABC",
"encryptedRgk": "123ABC",
"iv": "8E2F509AE092FA239010AE782D0013E2"
}

3. Объект ErrorDescription

Объект, описывающий возникшую ошибку. Содержит следующие поля:

Имя поля

Тип данных

Описание

errorCode

String

Код ошибки, символьная строка. Может иметь одно из предопределенных значений.

descriptions

String[]

Каждый элемент массива содержит описание одной ошибки.

message

String

Информационное сообщение об ошибке (необязательно).

Пример объекта:

ErrorDescription
{
"errorCode": "CRYPTOGRAPHY_ERROR",
"descriptions": [
"Описание ошибки 1",
"Описание ошибки 2"
],
"message": "Возникла непредвиденная ошибка"
}

Возможные коды ошибок (в зависимости от вызванного метода могут быть дополнены):

Код ошибки

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

INVALID_JSON

Недопустимый формат сообщения.

INVALID_PARAMETERS

Недопустимые параметры запроса.

BAD_REQUEST

Запрос содержит недопустимые данные.

INTERNAL_SERVICE_ERROR

При обработке запроса произошла ошибка.

NOT_FOUND

Запрошенный объект не найден.

CRYPTOGRAPHY_ERROR

Ошибка при попытке шифрования либо расшифровывания данных.

Дополнительные коды ошибок для аутентификации клиента при помощи одноразового кода аутентификации (OTP):

Код ошибки

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

INVALID

Указан недействительный код аутентификации. Разрешен повторный ввод кода.

INVALID_RETRIES_EXCEEDED

Код аутентификации введен неверно и превышен лимит повторных вводов.

EXPIRED

Код аутентификации аннулирован или время его жизни истекло.

4. Объект ProductTransaction

Объект содержит информацию о транзакции (операции) с продуктом. Содержит следующие поля:

Имя поля

Тип

Описание

transactionId

String

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

transactionType

String

Тип транзакции. Предопределенное значение:

  • PURCHASE — Покупка;

  • REFUND — Возврат средств;

  • CASH_WITHDRAWAL — Выдача наличных;

  • DEPOSIT — Внесение наличных;

  • TRANSFER — Перевод средств.

amount

Number

Сумма транзакции (с точностью до 2 знаков после запятой). В качестве разделителя дробной и целой части используется точка.

currencyCode

String

Трехбуквенный код валюты в соответствии со стандартом ISO-4217.

authorizationStatus

String

Статус авторизации транзакции. Предопределенное значение:

  • AUTHORIZED — Транзакция успешно авторизована;

  • DECLINED —Транзакция отклонена;

  • CLEARED — Транзакция очищена;

  • REVERSED — Возврат транзакции.

timestamp

String

Время совершения транзакции. Представлено в соответствии со стандартом ISO 8601:

  • YYYY-MM-DDThh:mm:ssZ;

  • YYYY-MM-DDThh:mm:ss ± hh:mm.

merchantName

String

Наименование торгово-сервисного предприятия. Не более 64 символов.

merchantType

String

Код торгово-сервисного предприятия (MCC). Не более 4 символов.