Appearance
Наличное кредитование
Интеграция с Airba Pay для наличного кредитования.
Тест:
- https://sapi.airbapay.kz/auth/swagger/index.html#/
- https://sapi.airbapay.kz/bc-proxy-integration/swagger/index.html#/
1. Компоненты системы
№ | Наименование сервиса | Описание сервиса | Версия |
---|---|---|---|
1 | agreement/sign | Создание согласия пользователя с использованием мобильного номера телефона. | 1.0 |
2 | agreement/verify | Отправка SMS-подтверждения после подписания согласия. | 1.0 |
3 | agreement/verify/otp | Подтверждение SMS-кода, полученного пользователем | 1.0 |
4 | authenticate | Аутентификация пользователя партнера для доступа к сервисам. | 1.0 |
5 | update-merchant-order-state | Обновление статуса заказа на стороне партнера. | 1.0 |
6 | authenticate | Получение токена аутентификации для доступа к другим сервисам. Партнеры будут использовать этот токен для аутентификации и получения доступа к данным и функциям системы. | 1.0 |
7 | order/create-order | Создание заявки на кредит наличными в AirbaPay. | 1.0 |
8 | order/offers | Получение предложений от финансовых партнеров по кредиту наличными | 1.0 |
9 | order/save-chosen-offer | Выбор предложения от финансовых партнеров и сохранение его для последующей обработки | 1.0 |
10 | order/update-state | Обновление статуса заказа после завершения процесса кредитования наличными | 1.0 |
11 | order/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): Наименование финансового партнёра.