Перейти к концу метаданных
Переход к началу метаданных

Предназначение протокола

Протокол предназначен для взаимодействия с сервером антифрода. Сервер обрабатывает запросы и отправляет ответы в формате JSON. Запрос отправляется через HTTP POST.

Данные передаются в кодировке utf-8

Авторизация

Авторизация мерчанта основывается на следующих параметрах: login, md5 хеш от пароля и ip-адреса мерчанта

Валидация транзакции

4.1.1 Запрос

 

Название поля

Описание

Тип

Обязательное

auth

авторизация

Auth

да

order

описание заказа

Order

да

client

плательщик

Client

да

receiverClient

получатель (для P2P переводов)

ReceiverClient

нет

deliveryClient

получатель

DeliveryClient

нет

bankData

банковкие данные о транзакции

BankData

нет

 

 

 

ValidateTransactionRequest  Развернуть исходный код
ValidateTransactionResponse  Развернуть исходный код

 


 

Название поля

Описание

Тип

Обязательное

transactionId

номер транзакции в системе антифрода

Int

Да

reference

номер транзакции интернет магазина

String(32)

Да

result

результат выполнения запроса

Int

Да

status

статус транзакции

ENUM (OK, PENDING, FRAUD, UNKNOWN)

Нет

timestamp

дата и время ответа в формате UNIX-timestamp

Int

Да

score

Расчитаный score для транзакции

Int

Нет

Примечание: параметры status, score передаётся в случае значения параметра result равно 10

5. Описание элементов протокола

Параметры авторизции

 

Название поля

Описание

Тип

Обязательное

login

login мерчанта

String(10)

Да

passwordHash

MD5 хеш пароля

String(32)

Да

verify

 

Boolean

Да

 

 

Auth  Развернуть исходный код

 

 

Информация о заказе

 

Название поля

Описание

Тип

Обязательное

product

массив продуктов

Array<Product>

нет

aviaData

данные об авиаперелёте

AviaData

нет

extraInfo

дополнительная информация

String(256)

да

reference

номер транзакции интернет магазина

String(32)

да

timestamp

дата и время заказа в формате UNIX-timestamp

Integer

да

currency

валюта в цифровом формате ISO 4217

String(3)

да

amount

сумма платежа

Decimal(12,2)

да

Примечание: поле product или aviaData должно быть обязательным


Order  Развернуть исходный код

 Информация об авиаперелете

 

Название поля

Описание

Тип

Обязательное

departureDate

дата вылета в формате UNIT-timestamp

Int

да

locationNumber

количество точек перелета (численное значение)

Int

да

locationCodeN

код аэропорта в трехбуквенном формате

Array<String(3)>

да

firstName

имя пассажира

String(20)

да

lastName

фамилия пассажира

String(20)

да

reservationCode

код билета

String(15)

да

Примечание: одно из полей firstName и lastName должно быть непустым


AviaData  Развернуть исходный код

Информация о корзине платежей

 

Название поля

Описание

Тип

Обязательное

quantity

количество товара

Int

да

product

наименование товара

String(256)

да

 

 

Product  Развернуть исходный код

 

 


Информация о клиенте, совершившим платеж

 

 


 

Название поля

Описание

Тип

Обязательное

address

адрес

String(128)

нет

city

город

String(128)

нет

zipCode

индекс

String(10)

нет

state

штат(область)

String(128)

нет

country

страна в цифровом ISO 3166-1-Alpha 3

String(3)

да

firstName

имя клиета

String(20)

да

lastName

фамилия клиента

String(20)

да

email

Email клиента

String(40)

да

ip

ip-адрес, с которого заходил клиент

String(15)

да

phone

номер телефона в международном формате, например 380501234567

String(15)

да

pan

маскированый номер карты, с которой была оплата товара

String(11)

да

cardholderFirstName

имя владельца карты, как указано на карте

String(40)

да

cardholderLastName

фамилия владелька карты, как указано на карте

String(40)

да

machineId

Идентификатор устройства

String(32)

нет

inputCardHolderTime

Время, потраченное пользователем на ввод имени владельца карты

Float

нет

inputCardNumberTime

Время, потраченное пользователем на ввод номера карты

Float

нет

 

 

Client  Развернуть исходный код

 

Информация о получателе

 

Название поля

Описание

Тип

Обязательное

address

адрес

String(128)

нет

firstName

имя получателя

String(20)

нет

lastName

фамилия получателя

String(20)

нет

phone

номер телефона в международном формате, например 380501234567

String(15)

нет

email

Email получателя

String(40)

нет

country

страна в цифровом ISO 3166-1

String(3)

нет

city

город

String(128)

нет

zipCode

индекс

String(10)

нет

state

штат(область)

String(128)

нет

DeliveryClient  Развернуть исходный код

Информация о получателе (для P2P переводов)

 

Название поля

Описание

Тип

Обязательное

card

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

String(11)

да

firstName

имя получателя

String(20)

нет

lastName

фамилия получателя

String(20)

нет

country

страна проживания получателя в цифровом ISO 3166-1

String(3)

нет

address

адрес получателя

String(128)

нет

zipCode

почтовый индекс получателя

String(8)

нет

 

 

ReceiverClient  Развернуть исходный код

 

Информация об авторизации платежа в банке

 

Название поля

Описание

Тип

Обязательное

status

статус тразнкции ()

ENUM (COMPLETE, REFUND, PENDING, AUTHORIZATION)

да

timestamp

время транзакции в банке в формате UNIX-timestamp

Int

да

approvalCode

код авторизации

String(6)

да

payMethod

способ оплаты (visa, mc, maestro)

String(15)

да

ecommInd

тип прохождения транзакции

String(15)

да

responseCode

код ответа банка

String(5)

да

responseDesc

описание ответа банка

String

да

BankData  Развернуть исходный код


6. Возможные ответы


 

Код

Описание

10

Запрос успешно обработан

100

Не хватает обязательного параметра

101

Транзакция с указанным reference не найдена

102

Транзакция с указанным reference уже существует

103

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

200

Ошибка авторизации

201

ЭЦП не прошла проверку

300

Сервис временно не доступен

400

Ошибка выполнения скрипта

401

Ошибка БД

402

Не удалось создать транзакцию. Повторите запрос

 

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

Запрос:
Ответ:

 


  

  • Нет меток