3.41. /api/mfo/scoring

Введение

Скоринг карты запускается запросом HTTPS POST к указанным ниже URL-адресам и параметрам. Каждый запрос должен содержать {client_order_ID}, сформированный Присоединяющейся стороной. {endpointId} в URL запроса предоставляется Платёжным Шлюзом. Каждый запрос должен быть подписан, а подпись должна быть помещена в заголовок запроса X-Authorization.

API URL

Примечание

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

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

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

https://sandbox.sbctech.ru/paynet/api/mfo/scoring/{endpoint_id}/{client_order_id}

https://gate.sbctech.ru/paynet/api/mfo/scoring/{endpoint_id}/{client_order_id}

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

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

Описание

Формат

first6PanDigits

Первые 6 цифр номера карты. Отправьте либо cardRefId, либо cardNumber, либо сочетание first6PanDigits и last4PanDigits, но не все варианты.

N6

last4PanDigits

Последние 4 цифры номера карты. Отправьте cardRefId или cardNumber либо комбинацию first6PanDigits и last4PanDigits, но не всё сразу.

N4

cardRefId

Созданный ранее запросом /api/v2/create-card-ref/ card-ref-id (Card Reference ID), который можно использовать для поиска конкретной карты по её токену. Отправьте либо cardRefId, либо cardNumber, либо комбинацию first6PanDigits и last4PanDigits, но не все значения одновременно.

N{1-*}

uniqueCardRefId

Значение unq-card-ref-id (уникальный идентификатор ссылки на карту) для каждого PAN, созданное ранее запросом /api/v2/create-card-ref/, может использоваться Присоединяющейся стороной для программ лояльности или контроля мошенничества.

N{1-*}

cardNumber

Полный номер карты. Передавайте либо cardNumber, либо cardRefId, либо комбинацию first6PanDigits и last4PanDigits, но не всё сразу.

N{13-19}

cardExpiryMonth

Месяц истечения срока действия карты, если используются first6PanDigits и last4PanDigits (необязательно).

N{1-2}

cardExpiryYear

Год истечения срока действия карты, если используются first6PanDigits и last4PanDigits (необязательно).

N4

Параметры ответа

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

Описание

Формат

error

При возникновении ошибки здесь можно увидеть её краткое описание.

Тип: String

bankBin

Карта`s банк identification номер (As a rule, first 6 digits of the карта номер).

Тип: Integer
Example: 444444

cardFound

Этот параметр показывает, есть ли у системы информация о карточном скоринге для этой карты.

Тип: Boolean
Описание: Example: true

countIssuedFor180Days

Количество транзакций по выдаче займов МФО за последние 180 дней.

Тип: Integer
Example: 1

countIssuedFor30Days

Количество транзакций по выдаче займов МФО за последние 30 дней.

Тип: Integer
Example: 1

countIssuedFor90Days

Количество транзакций по выдаче займов МФО за последние 90 дней.

Тип: Integer
Example: 1

expiredMonth

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

Тип: Integer
Example: 12

expiredYear

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

Тип: Integer
Example: 2099

incomingTransferAmountFor30Days

Сумма входящих переводов за 30 дней.

Тип: Decimal
Example: 100.25

incomingTransferAmountFor365Days

Сумма входящих переводов за 365 дней.

Тип: Decimal
Example: 100.25

incomingTransferAmountFor60Days

Сумма входящих переводов за 60 дней.

Тип: Decimal
Example: 100.25

incomingTransferAmountFor90Days

Сумма входящих переводов за 90 дней.

Тип: Decimal
Example: 100.25

lastDischargeAmount

Сумма of last reплатёж.

Тип: Decimal
Example: 111.400

lastDischargeDate

Дата of last reплатёж.

Тип: YYYY.MM.DD
Example: 2015.07.24

lastFourDigits

Последние 4 цифры номера карты.

Тип: Integer
Example: 1234

lastSuccessfulDischargeAmount

Сумма последнего успешного погашения.

Тип: Decimal
Example: 1.400

lastSuccessfulDischargeDate

Дата последнего успешного погашения.

Тип: YYYY.MM.DD
Example: 2015.07.24

mfoCountFor180Days

Количество уникальных МФО, проводивших транзакции за последние 180 дней.

Тип: Integer
Example: 1

mfoCountFor30Days

Количество уникальных МФО, проводивших транзакции за последние 30 дней.

Тип: Integer
Example: 1

mfoCountFor90Days

Количество уникальных МФО, проводивших транзакции за последние 90 дней.

Тип: Integer
Example: 1

mfoIssuedFor180Days

Количество уникальных МФО, выдавших займы за последние 180 дней.

Тип: Integer
Example: 1

mfoIssuedFor30Days

Количество уникальных МФО, выдавших займы за последние 30 дней.

Тип: Integer
Example: 1

mfoIssuedFor90Days

Количество уникальных МФО, выдавших займы за последние 90 дней.

Тип: Integer
Example: 1

orderId

Номер заказа, сгенерированный в системе.

Тип: Integer
Example: 3623277

outgoingTransferAmountFor30Days

Сумма исходящих переводов за 30 дней.

Тип: Decimal
Example: 100.25

outgoingTransferAmountFor365Days

Сумма исходящих переводов за 365 дней.

Тип: Decimal
Example: 100.25

outgoingTransferAmountFor60Days

Сумма исходящих переводов за 60 дней.

Тип: Decimal
Example: 100.25

outgoingTransferAmountFor90Days

Сумма исходящих переводов за 90 дней.

Тип: Decimal
Example: 100.25

totalDischargeAmount

Сумма всех выданных средств.

Тип: Decimal
Example: 15.410

totalIssuedAmount

Сумма всех выплаченных средств.

Тип: Decimal
Example: 10.420

totalRecurrentAmount

Сумма всех принудительно списанных средств.

Тип: Decimal
Example: 9.000

transfersFromMFO

Индикатор займов МФО.

Тип: true/false
Описание: Example: true

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

Запрос с параметром cardNumber:

POST /paynet/api/mfo/scoring/3772/123456
HTTP/1.1
Host: sandbox.sbctech.ru
User-Agent: curl/7.88.1
Accept: */*
X-Authorization: 3ea5d48e9354496c2576ef5ecee0324b2aabca6c
Content-Length: 27
Content-Type: application/x-www-form-urlencoded
Connection: close

cardNumber=4731543184191796
Запрос с параметром cardRefId:

POST /paynet/api/mfo/scoring/3772/123456 HTTP/2
Host: sandbox.sbctech.ru
User-Agent: curl/7.88.1
Accept: */*
X-Authorization: a3774b3911a833425f635e45474ecd9fe2714d3a
Content-Length: 15
Content-Type: application/x-www-form-urlencoded

cardRefId=12345
Запрос с параметрами first6PanDigits и last4PanDigits (срок действия необязателен):

POST /paynet/api/mfo/scoring/3772/123456
HTTP/2
Host: sandbox.sbctech.ru
User-Agent: curl/7.88.1
Accept: */*
X-Authorization: b548c006285fde742d608238be18fa0e5b559a08
Content-Length: 81
Content-Type: application/x-www-form-urlencoded

cardExpiryMonth=12&cardExpiryYear=2099&first6PanDigits=499939&last4PanDigits=5721

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

HTTP/2 200 OK
Date: Mon, 01 Dec 2020 11:47:18 GMT
Content-Type: application/json;charset=UTF-8

{
 "bankBin":499939,
 "cardFound":true,
 "countIssuedFor180Days":1,
 "countIssuedFor30Days":1,
 "countIssuedFor90Days":1,
 "incomingTransferAmountFor30Days":30.000,
 "incomingTransferAmountFor365Days":100.000,
 "incomingTransferAmountFor60Days":40.000,
 "incomingTransferAmountFor90Days":50.000,
 "lastDischargeAmount":10.000,
 "lastDischargeDate":"2023.03.26",
 "lastFourDigits":"5721",
 "lastSuccessfulDischargeAmount":10.000,
 "lastSuccessfulDischargeDate":"2023.03.26",
 "mfoCountFor180Days":1,
 "mfoCountFor30Days":1,
 "mfoCountFor90Days":1,
 "mfoIssuedFor180Days":1,
 "mfoIssuedFor30Days":1,
 "mfoIssuedFor90Days":1,
 "orderId":2709907,
 "outgoingTransferAmountFor30Days":10.000,
 "outgoingTransferAmountFor365Days":60.000,
 "outgoingTransferAmountFor60Days":20.000,
 "outgoingTransferAmountFor90Days":30.000,
 "totalDischargeAmount":200.000,
 "totalIssuedAmount":150.000,
 "totalRecurrentAmount":200.000
 "transfersFromMFO":false
}

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

HTTP/2 200 OK
Date: Mon, 01 Dec 2020 11:47:18 GMT
Content-Type: application/json;charset=UTF-8

{"orderId":1234567,"cardFound":false}

Вычисление подписи

Чтобы вычислить подпись, выполните следующее:

  1. Отсортируйте параметры POST по ключам в алфавитном порядке.

  2. Объедините значения этих параметров в указанном порядке, вставляя символ точки с запятой ; между значениями (учитывайте только фактически присутствующие значения). Это создаст базовую строку для подписи.

  3. Удалите все дефисы - из контрольного ключа присоединяющейся стороны, затем декодируйте его с помощью кодировки HEX; это даст ключ HMAC.

  4. Compute hmac_sha1(base_string, hmac_key).

  5. Закодируйте результат как HEX — это создаст подпись.


Вычисленную подпись необходимо поместить в заголовок запроса X-Authorization.

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

Чтобы получить случайные данные в staging-среде sandbox.sbctech.ru, используйте cardNumber = 4455555555555544 или cardRefId = 555555.

End Point
URL
Card expiry month
Card expiry year
BIN
Last four digits
CardRefID
Unique CardRefId
Card Number
Merchant Control
Client Order Id
signature method

X-Authorization