Описание: Perform validation

Введение

Проверка выполнения инициируется запросом HTTPS POST с использованием URL-адресов и параметров.
Приложение Присоединяющейся стороны отправляет данные держателя карты, устройства, сессии и другие параметры напрямую в SBC для проверки валидности карты.
Может применяться множество проверок и фильтров по различным критериям, таким как BIN, валюта, страна, наличие в чёрном списке и т.д. В зависимости от интеграции эти настройки могут быть конфигурируемыми.

API URL

Примечание

Путь API URL не должен быть задан фиксированным значением, т.к. он может быть изменён позднее.

Интеграционная среда

Производственная среда

https://sandbox.sbctech.ru/paynet/dapi/v1/verification/{endpointId}/{invoiceId}

https://gate.sbctech.ru/paynet/dapi/v1/verification/{endpointId}/{invoiceId}

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

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

Описание

Значение

consumer

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

consumer.device

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

consumer.device.serialNumber

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

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

consumer.email

Адрес электронной почты клиента.

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

session

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

session.accessToken

Ключ токена доступа, полученный при необязательной аутентификации потребителя.

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

session.nonce

Значение, полученное в ответе Initial verification.

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

session.signature

Значение, полученное в ответе Initial verification.

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

sourceCard

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

sourceCard.expiry

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

sourceCard.expiry.month

Месяц окончания срока действия исходной карты.

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

sourceCard.expiry.year

Год окончания срока действия исходной карты.

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

sourceCard.holder

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

sourceCard.holder.firstName

Название Cardholder’s first.

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

sourceCard.holder.lastName

Название Cardholder’s last.

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

sourceCard.holder.printedName

Имя держателя карты, напечатанное на карте (имя и фамилия вместе). Может использоваться вместо firstName + lastName.

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

sourceCard.number

Номер исходной карты (PAN).

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

sourceCard.securityCode

Код безопасности исходной карты (CVV).

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

transaction

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

transaction.currency

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

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

location

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

location.lat

Широта указывается в диапазоне от -90.0 до +90.0 включительно.

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

location.lng

Долгота указывается в диапазоне от -180.0 до +180.0 включительно.

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

billing

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

billing.address

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

billing.address.city

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

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

billing.address.country

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

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

billing.address.postcodeZip

Описание: ZIP post code

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

billing.address.state

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

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

billing.address.street

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

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

billing.address.street2

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

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

billing.phone

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

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

consumer.birthDay

Дата рождения потребителя в формате «ddMMyyyy».

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

consumer.device.imei

Международный идентификатор мобильного оборудования устройства потребителя.

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

consumer.ipAddresses

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

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

consumer.ipAddresses[]

Адрес Сonsumer’s IP.

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

order

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

order.description

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

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

order.siteUrl

URL веб-сайта, связанного с транзакцией.

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

order.purpose

Может использоваться для более эффективного контроля транзакции или дополнительных проверок.

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

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

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

Описание

Значение

invoiceId

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

Тип: String

session

Тип: Object

session.token

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

Тип: String

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

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

Описание

Значение

error

Тип: Object

error.cause

Причина ошибки. Возможные значения: INVALID_REQUEST, INVALID_CONFIGURATION, INTERNAL_ERROR, PROCESSING_FAILED.

Тип: Enum

error.code

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

Тип: String

error.message

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

Тип: String

invoiceId

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

Тип: String

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

{
  "billing": {
    "address": {
      "city": "string",
      "country": "string",
      "postcodeZip": "string",
      "state": "string",
      "street": "string",
      "street2": "string"
    },
    "phone": "string"
  },
  "consumer": {
    "birthDay": "string",
    "device": {
      "imei": "string",
      "serialNumber": "string"
    },
    "email": "string",
    "ipAddresses": ["string"]
  },
  "location": {
    "lat": "double",
    "lng": "double"
  },
  "order": {
    "description": "string",
    "siteUrl": "string",
    "purpose": "string"
  },
  "session": {
    "accessToken": "string",
    "nonce": "string",
    "signature": "string"
  },
  "sourceCard": {
    "expiry": {
      "month": "integer",
      "year": "integer"
    },
    "holder":{
      "firstName": "string",
      "lastName": "string"
    },
    "number": "string",
    "securityCode": "string"
  },
  "transaction": {
    "currency": "string"
  }
}

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

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

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

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

Конструктор запросов

Для интеграции используйте Сценарии тестирования SBC для генерации случайных номеров карт.
Параметры со светло-красным фоном являются обязательными.

Endpoint Id
Invoice Id

Generated by Merchant's server in "Initiate verification"

Device serial number
Device imei
E-mail
Birthday
Ip Address
accessToken

Generated by Merchant's server in "Consumer authentication"

nonce

Generated by Merchant's server in "Initiate verification"

signature

Generated by Merchant's server in "Initiate verification"

Card number
Security Code (cvv)
Card expiry month
Card expiry year
First name
Last name
Currency

ISO 4217 alpha three-letter code

Loc. Latitude
Loc. Longitude
City
Country
ZIP Postcode
State
Street
Street2
Phone
Order description
Order site Url