Russian
Объекты 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
1
{
2
"methodId": "1",
3
"type": "WEB_LINK",
4
"value": "www.thebank.com/auth?id=123456"
5
}
Copied!

2. Объект EncryptedPayload

Объект, описывающий передаваемые зашифрованные данные. Содержит следующие поля:
Поле
Тип данных
Обязательно
Описание
encryptedData
String
Да
Зашифрованный объект JSON, содержащий полезную нагрузку. Шифрование производится алгоритмом AES с использованием ключа RGK. Для разных запросов объект JSON будет содержать различные поля с данными.
publicKeyFingerprint
String
Да
Хеш SHA-1 открытого ключа получателя, использованного для шифрования значения поля encryptedRgk.
encryptedRgk
String
Да
Одноразовый случайно сгенерированный 128-битный ключ (RGK) алгоритма AES, зашифрованный открытым ключом получателя.
iv
String
Да
Вектор инициализации, используемый для шифрования RGK. Длина вектора — 16 байт. Если отсутствует, используется значение по умолчанию, равное 0.

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

EncryptedPayload
1
{
2
"encryptedData": "123ABC",
3
"publicKeyFingerprint": "123ABC",
4
"encryptedRgk": "123ABC",
5
"iv": "8E2F509AE092FA239010AE782D0013E2"
6
}
Copied!

3. Объект ErrorDescription

Объект, описывающий возникшую ошибку. Содержит следующие поля:
Поле
Тип данных
Обязательно
Описание
errorCode
String
Да
Код ошибки, символьная строка. Может иметь одно из предопределенных значений.
descriptions
String[]
Да
Каждый элемент массива содержит описание одной ошибки.
message
String
Да
Информационное сообщение об ошибке (необязательно).

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

ErrorDescription
1
{
2
"errorCode": "CRYPTOGRAPHY_ERROR",
3
"descriptions": [
4
"Описание ошибки 1",
5
"Описание ошибки 2"
6
],
7
"message": "Возникла непредвиденная ошибка"
8
}
Copied!
Возможные коды ошибок (в зависимости от вызванного метода могут быть дополнены):
Код ошибки
Описание ошибки
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 символов.
Last modified 18d ago