Уведомление о сопоставлении карты Transfer

Введение

Уведомление о сопоставлении карты Transfer инициируется запросом HTTPS POST с использованием URL-адресов и параметров.
Уведомление о сопоставлении карт позволяет сопоставлять учётные данные Consumer (телефон, e-mail, адрес выставления счёта, имя в Twitter и т. д.) с данными карты. Сопоставления можно использовать в транзакциях Transfer или Sale вместо номеров карт и иной информации о держателе карты. SBC отправляет запрос уведомления о сопоставлении карты Transfer на сервер/прокси Присоединяющейся стороны с созданной на своей стороне ссылкой на карту — {serverCardId}.
Сервер Присоединяющейся стороны сопоставляет {serverCardId} с созданным на своей стороне {clientCardId}. Затем {clientCardId} может быть сопоставлен в приложении или на сервере Присоединяющейся стороны с любыми данными Consumer из исходного запроса Perform transfer. Это позволяет приложению Присоединяющейся стороны обрабатывать транзакции Sale или Transfer по электронному адресу Consumer, номеру телефона и т. д.
{uniqueReferenceCardId} остаётся неизменным, если клиент выполняет другую проверку с тем же номером карты, но, например, с другой датой истечения срока действия. Присоединяющаяся сторона может использовать его для программ лояльности или контроля мошенничества.
Приложение Присоединяющейся стороны создаёт новые запросы Transfer, используя {clientCardId} вместо данных исходной или целевой карты. SBC отправляет этот {clientCardId} на сервер Присоединяющейся стороны в «Check transfer request» и получает сопоставленный с ним {serverCardId} в «Check transfer response», который используется для продолжения обработки транзакции Transfer.
{serverCardId} исходной или проверенной карты можно использовать как источник или назначение для новых транзакций Transfer и Sale; {serverCardId} карты назначения можно использовать только как назначение для новых переводов.

API URL

Примечание

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

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

https://proxy.connectingpartyserver.com/transfer/notification

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

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

Описание

Значение

consumer


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

consumer.device


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

consumer.device.serialNumber

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

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

session


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

session.accessToken

Ключ токена доступа потребителя.

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

session.token

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

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

destinationCard

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

destinationCard.bin

BIN карты получателя.

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

destinationCard.reference

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

destinationCard.reference.serverCardId

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

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

destinationCard.reference.uniqueReferenceCardId

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

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

sourceCard

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

sourceCard.bin

BIN исходной карты.

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

sourceCard.reference

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

sourceCard.reference.serverCardId

Ссылочный идентификатор исходной карты (на стороне сервера).

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

sourceCard.reference.uniqueReferenceCardId

Уникальный идентификатор исходной карты (на стороне сервера).

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

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

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

Описание

Значение

invoiceId

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

Тип: String

session

Тип: Object

session.checkSignature

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

Тип: String

session.nonce

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

Тип: String

session.token

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

Тип: String

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

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

Описание

Значение

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"
    }
  },
  "destinationCard": {
    "bin": "integer",
    "reference": {
      "serverCardId": "string",
      "uniqueReferenceCardId": "integer"
      }
    },
  "session": {
    "accessToken": "string",
    "token":"string"
  },
  "sourceCard": {
    "bin": "integer",
    "reference": {
      "serverCardId": "string",
      "uniqueReferenceCardId": "integer"
    }
  }
}

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

{
  "invoiceId": "string",
  "session": {
    "checkSignature": "string",
    "nonce": "string",
    "token": "string"
  }
}

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

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