Проверка Transfer

Введение

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

API URL

Примечание

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

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

https://proxy.connectingpartyserver.com/transfer/{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

Token сессии транзакции transfer.

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

sourceOfFunds

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

sourceOfFunds.reference

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

sourceOfFunds.reference.clientCardId

Идентификатор ссылки на карту источника (на стороне клиента), если он отправлен в запросе Perform Transfer.

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

destinationOfFunds

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

destinationOfFunds.reference

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

destinationOfFunds.reference.clientCardId

Идентификатор ссылки на карту получателя (на стороне клиента), если он отправлен в запросе Perform Transfer.

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

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

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

Описание

Значение

invoiceId

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

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

session


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

session.checkSignature

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

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

session.nonce

Уникальная случайная строка, сгенерированная сервером Присоединяющейся стороны в ответе на запрос Initiate transfer.

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

session.token

Token сессии транзакции transfer.

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

consumer.email

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

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

destinationOfFunds

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

destinationOfFunds.reference

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

destinationOfFunds.reference.serverCardId

Идентификатор ссылки на карту получателя (на стороне сервера).

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

sourceOfFunds

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

sourceOfFunds.reference

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

sourceOfFunds.reference.serverCardId

Идентификатор ссылки на карту-источник (на стороне сервера).

Необходимость: Опционально
Тип: 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

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

Тип: String

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

{
  "consumer": {
    "device": {
      "serialNumber": "string"
    }
  },
  "destinationOfFunds": {
    "reference": {
      "clientCardId": "string"
    }
  },
  "session": {
    "accessToken": "string",
    "nonce": "string",
    "signature": "string",
    "token": "string"
  },
  "sourceOfFunds": {
    "reference": {
      "clientCardId": "string"
    }
  }
}

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

{
  "consumer": {
    "email": "string"
  },
  "destinationOfFunds": {
    "card": {
      "number": "string"
    },
    "reference": {
      "serverCardId": "string"
    }
  },
  "invoiceId": "string",
  "session": {
    "checkSignature": "string",
    "nonce": "string",
    "token": "string"
  },
  "sourceOfFunds": {
    "card": {
      "expiry": {
        "month": "integer",
        "year": "integer"
      },
      "holder":{
        "firstName": "string",
        "lastName": "string"
      },
      "number": "string"
    },
    "reference": {
      "serverCardId": "string",
    }
  },
  "transaction": {
    "currency": "string",
    "randomSumCentis": "integer"
  }
}

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

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