Skip to content

Наличное кредитование

Интеграция с Airba Pay для наличного кредитования.

Тест:

1. Компоненты системы

Наименование сервисаОписание сервисаВерсия
1agreement/signСоздание согласия пользователя с использованием мобильного номера телефона.1.0
2agreement/verifyОтправка SMS-подтверждения после подписания согласия.1.0
3agreement/verify/otpПодтверждение SMS-кода, полученного пользователем1.0
4authenticateАутентификация пользователя партнера для доступа к сервисам.1.0
5update-merchant-order-stateОбновление статуса заказа на стороне партнера.1.0
6authenticateПолучение токена аутентификации для доступа к другим сервисам. Партнеры будут использовать этот токен для аутентификации и получения доступа к данным и функциям системы.1.0
7order/create-orderСоздание заявки на кредит наличными в AirbaPay.1.0
8order/offersПолучение предложений от финансовых партнеров по кредиту наличными1.0
9order/save-chosen-offerВыбор предложения от финансовых партнеров и сохранение его для последующей обработки1.0
10order/update-stateОбновление статуса заказа после завершения процесса кредитования наличными1.0
11order/payment-partnersПолучение списка доступных финансовых партнеров для кредита наличными1.0

Базовый URL: https://sapi.airbapay.kz/bc-proxy-integration/api/v1

1.1 Сервис подписания согласия

Запрос:

Метод: POST

Путь: /agreement/sign

Пример тела запроса:

json
{
  "mobile": "string"
}

mobile : Номер мобильного телефона пользователя, который будет использоваться для подписи согласия. Пример успешного ответа (код 200):

json
{
  "signAgreementId": "string"
}

signAgreementId : Уникальный идентификатор подписанного согласия.

1.2 Сервис отправки SMS-подтверждения

Запрос:

Метод: POST

Путь: /agreement/verify

Пример тела запроса:

json
{
  "signAgreementId": "string"
}

mobile : Номер мобильного телефона пользователя, который будет использоваться для подписи согласия. Пример успешного ответа (код 200):

json
{
  "verificationId": "743911c7ff2a1528732ac041"
}

signAgreementId : Уникальный идентификатор подписанного согласия.

1.3 Сервис подтверждения SMS

Запрос:

Метод: POST

Путь: /agreement/verify/otp

Пример тела запроса:

json
{
  "verificationId": "string",
  "otp": "string"
}

verificationId : Уникальный идентификатор подписанного согласия.

otp: Одноразовый SMS-код, полученный пользователем.

Пример успешного ответа (код 200):

Получаем успешное подтверждение

Если сервер не может обработать запрос из-за неверного синтаксиса, некорректных параметров или других ошибок в запросе клиента то возвращаем

json
{
  "code": "integer",
  "message": "string",
  "status": "string"
}

code : Код ошибки.

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

status : Статус ошибки.

1.4 Сервис аутентификации на стороне партнера

Запрос:

Метод: POST

Путь: /authenticate

Пример тела запроса:

json

{
"username": "string",
"password": "string"
}

username : Имя пользователя.

password : Пароль пользователя.

Пример успешного ответа (код 200):

json

{
"token": "string"
}

token : Токен доступа для аутентификации.

Пример не успешного ответа (код 401):

json

{
"error": "Unauthorized"
}

Ошибка аутентификации.

1.5 Сервис обновления статуса заказа на стороне партнера:

Запрос:

Метод: POST

Путь: /update-merchant-order-state

Пример тела запроса:

json
{
    "orderId": "string",
    "state": "string"
}

orderId : Уникальный идентификатор заказа.

state : Новый статус заказа.

Пример успешного ответа (код 200):

Обновление статуса заказа успешно выполнено.

1.6 Получение токена аутентификации для обращения к сервисам Airba Pay

Запрос:

Метод: POST

Путь: /v1/authenticate

Пример тела запроса:

json
{
    "userId": "string",
    "userSecret": "string"
}

userId : Идентификатор партнера.

userSecret : Секретный ключ партнера для аутентификации.

Пример успешного ответа (код 200):

json
{
    "accessToken": "string",
    "expiresIn": "integer",
    "tokenType": "string"
}

accessToken : Токен доступа, который будет использоваться для аутентификации при доступе к сервисам системы.

expiresIn : Время в секундах, через которое токен станет недействительным (истечет).

tokenType : Тип токена, например, "Bearer", указывающий на тип аутентификации, используемый для передачи токена.

1.7 Создание заявки в Брокере

Запрос:

Метод: POST

Путь: /order/create-order

Пример тела запроса:

json

{
    "channel": "string",
    "customer": {
        "firstName": "string",
        "iin": "string",
        "lastName": "string",
        "middleName": "string",
        "mobile": "string"
    },
    "customerAgreement": {
        "verificationId": "string",
        "verificationSmsCode": "string",
        "verificationSmsDateTime": "string"
    },
    "loanAmount": 0,
    "merchantOrderId": "string",
    "paymentPartners": [
        "string"
    ],
    "redirectUrl": "string"
}

сreateOrderRequest: Структура запроса для создания заказа.

  • channel (строка): Платформа, с которой была создана заявка.
  • loanAmount (целое число): Сумма заявки на кредит.
  • merchantOrderId (строка): Номер заявки партнёра.
  • paymentPartners (список строк): Список финансовых партнёров.
  • redirectUrl (строка): Ссылка для возврата на сайт партнёра.
  • customerAgreement (структура): Модель согласия клиента.
  • customer (структура): Модель данных клиента.

customerAgreement;

  • verificationId (строка): Уникальный идентификатор согласия клиента.
  • verificationSmsCode (строка): СМС код подтверждения согласия клиента.
  • verificationSmsDateTime (строка): Дата и время подтверждения согласия клиента.

customer:

  • firstName (строка): Имя клиента.
  • iin (строка): ИИН клиента.
  • lastName (строка): Фамилия клиента.
  • middleName (строка): Отчество клиента.
  • mobile (строка): Номер телефона клиента.

Пример успешного ответа (код 200):

json
{
    "code": "integer",
    "message": "string",
    "redirectUrl": "string",
    "status": "string"
}

code (число): Код ответа.

message (строка): Сообщение о статусе операции.

redirectUrl (строка): URL-адрес для перенаправления пользователя на сторону финансового партнера после успешного создания заказа.

status (строка): Статус ответа, в данном случае "OK", указывающий на успешное завершение операции.

1.8 Получение предложения от финансовых партнеров

Запрос:

Метод: GET

Путь: /order/offers/{orderId}

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

orderId (строка, в URL): Уникальный идентификатор заказа, для которого запрашиваются предложения от финансовых партнеров.

Пример успешного ответа (код 200):

json
[
    {
        "code": "string",
        "offers": [
            {
                "description": "string",
                "id": "string",
                "interestRate": "number",
                "loanAmount": "number",
                "loanTerm": "number",
                "monthlyPayment": "number",
                "overpayment": "number"
            }
        ],
        "state": "string"
    }
]
  • code (строка): Уникальный идентификатор партнёра.
  • offers (список): Список предложений от финансового партнёра.
  • description (строка): Описание предложения.
  • id (строка): Уникальный идентификатор предложения.
  • interestRate (число): Процентная ставка.
  • loanAmount (число): Сумма займа.
  • loanTerm (число): Срок займа.
  • monthlyPayment (число): Ежемесячный платёж
  • overpayment (число): Переплата за весь срок займа.
  • state (строка): Статус предложения (например, "APPROVED" - одобрено).
1.9 Выбор предложения

Запрос:

Метод: POST

Путь: /order/save-chosen-offer

Пример тела запроса:

json
{
    "merchantOrderId": "string",
    "offerId": "string",
    "paymentPartnerCode": "string"
}

merchantOrderId (строка): Уникальный идентификатор заказа партнёра.

offerId (строка): Уникальный идентификатор выбранного предложения.

paymentPartnerCode (строка): Код финансового партнёра, предоставившего предложение.

Пример успешного ответа (код 200):

json
{
    "code": "integer",
    "message": "string",
    "redirectUrl": "string",
    "status": "string"
}

code (число): Код ответа.

message (строка): Сообщение о результате операции.

redirectUrl (строка): URL-адрес для перенаправления пользователя на сторону финансового партнера.

status (строка): Статус операции.

1.10 Обновление статуса заявки

Запрос:

Метод: POST

Путь: /order/update-state

Пример тела запроса:

json
{
    "merchantOrderId": "string",
    "state": "string"
}

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

state (строка): Новый статус заявки.

Пример успешного ответа (код 200):

json
{
    "code": integer,
    "message": "string",
    "redirectUrl": "string",
    "status": "string"
}

code (число): Код ответа.

message (строка): Сообщение о результате операции.

redirectUrl (строка): URL-адрес для перенаправления пользователя на сторону финансового партнера.

status (строка): Статус операции.

1.11 Получение списка доступных финансовых партнеров

Запрос:

Метод: GET

Путь: /order/payment-partners

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

Отсутствуют Пример успешного ответа (код 200):

json
[
    {
        "code": "string",
        "logo": "string",
        "name": "string"
    }
]

code (string): Уникальный код финансового партнёра.

logo (string): Ссылка на логотип финансового партнёра.

name (string): Наименование финансового партнёра.