Как происходит интеграция сервиса по API?
Подключение сервиса рассрочки и кредитования для покупателей состоит из трех этапов:
Ниже — пошаговые инструкции к каждому этапу.
Для интеграции нужен разработчик.
Подключение сервиса рассрочки и кредитования для покупателей состоит из трех этапов:
Ниже — пошаговые инструкции к каждому этапу.
Для интеграции нужен разработчик.
Следуйте этой инструкции:
Автоподтверждение можно включить в личном кабинете руководителя: перейдите в «Кредитование в магазинах» → выберите магазин → «Редактировать». Поставьте галочку в блоке «Автоподтверждение интернет-заказов». Чтобы выключить автоподтверждение, просто уберите галочку.
Если адрес не меняется, впишите его в личном кабинете: «Кредитование в магазинах» → выберите магазин → «Редактировать» → «Уведомления» → «Адрес для HTTP‑нотификаций». Поставьте галочку в чекбоксе.
Если адрес меняется, передайте его при создании заявки через метод Create в поле webhookURL. На этот адрес вы будете получать уведомления от банка. Какие вебхуки используются в интеграции
Можно выбрать разные сценарии для перенаправления покупателя:
Если таких страниц нет, ничего не вписывайте. Тогда после одобрения или отказа покупатель увидит главную страницу сайта, на котором оформлял заказ.
Подготовка к интеграции завершена. После этого можно переходить к следующему этапу.
Прежде чем начинать продажи в рассрочку или кредит, проверьте работу сервиса на вашем сайте.
Тестирование:
Тестовые заявки не отправятся в банк, но вы сможете посмотреть, как работает заполнение и что увидят ваши покупатели. Для создания тестовой заявки используйте shopID, showcaseID и promocode, которые получили на этапе подготовки.
После тестирования можно приступать к интеграции и продажам. Чтобы создавать реальные заявки, вам понадобится метод Create.
Интеграция и старт продаж:
Готово! Теперь можно переходить к работе с заявками.
Следуйте этой инструкции:
Если был указан URL для нотификаций, они продублируются и туда.
Если у вас включено автоподтверждение, после подписания договора банк переведет деньги на счет магазина автоматически. Подтверждение или отмена заявки вручную недоступны с включенным автоподтверждением.
Если автоподтверждение выключено, вам нужно вручную подтвердить выдачу товара в личном кабинете. Если вы не можете выдать покупателю товар или услугу, отмените заявку. Статус заявки поменяется в личном кабинете агента.
Когда заявка будет подтверждена, банк переведет деньги на счет магазина. Методы commit и cancel недоступны для работы с автоподтверждением. То есть вы не сможете подтвердить заявку вручную. Для методов info, commit, cancel используйте пароль, который необходимо задать через личный кабинет руководителя.
В качестве логина для метода надо передавать ваш идентификатор магазина с префиксом demo-. Например, если идентификатор — my‑shop, при работе с демозаявкой надо передать логин demo‑my‑shop.
Всего их пять.
Метод для создания заявки
Метод | POST |
URL | https://forma.tinkoff.ru/api/partners/v2/orders/create |
Формат ответа | JSON |
Статус ответа | 200 В случае успешного сценария400 В случае некорректного формата запроса401 Аутентификация не пройдена: введены неверные логин и/или пароль403 Авторизация не пройдена: пытаетесь работать с чужой заявкой422 Ошибка бизнес-логики: в текущем состоянии заявки нельзя выполнить это действие500 Внутренняя ошибка сервера |
Статус ответа
Параметры запроса
Название | Описание | Тип | Обязательный |
---|---|---|---|
shopId | Идентификатор магазина | string | Да |
showcaseId | Идентификатор витрины (сайта) | string | Нет |
sum | Общая сумма заказа | number | Да |
items | Список товаров | array Структура | Да |
orderNumber | Идентификатор заказа в системе партнера | string | Нет |
promoCode | Идентификатор кредитного продукта(кредит/рассрочка) | string | Нет |
demoFlow | Доступные флоу для демо заявки | enum sms, appointment, reject, appointment-reject | Нет |
initialStage | Начальный экран для демо заявки | enum filling, wait‑offer, wait‑offers‑all, offers‑all, rejected, wait‑offer-timeout, appointment, ses‑documents, ses‑appointment, kvk‑signing‑sms, kvk‑issued, eastern-express‑sms, eastern-express-issued, mts‑add‑additional‑info, mts‑appointment, mts‑issued, canceled, canceled‑by‑partner, complete-waiting | Нет |
failURL | URL для возврата в случае неуспешного завершения заявки, если не указан то будет использован URL из настроек магазина | string | Нет |
successURL | URL для возврата в случае успешного завершения заявки, если не указан то будет использован URL из настроек магазина | string | Нет |
returnURL | URL для возврата в случае отмены заявки покупателем, если не указан то будет использован URL из настроек магазина | string | Нет |
webhookURL | URL для отправки вебхуков, если не указан, то будет использован URL из настроек магазина | string | Нет |
values | Данные покупателя для предзаполнения формы | object | Нет |
values.contact | Контакт | object | Нет |
values.contact.fio | ФИО покупателя | object | Нет |
values.contact.fio.lastName | Фамилия покупателя | string | Нет |
values.contact.fio.firstName | Имя покупателя | string | Нет |
values.contact.fio.middleName | Отчество покупателя | string | Нет |
values.contact.mobilePhone | Телефон покупателя: 10 цифр, без +7 | string | Нет |
values.contact.email | Email покупателя | string | Нет |
Items
Название | Описание | Тип | Обязательный |
---|---|---|---|
name | Название товарной позиции | string | Да |
quantity | Количество единиц товара в позиции | integer int32 | Да |
price | Цена одной единицы товара | number | Да |
category | Категория товара | string | Нет |
vendorCode | Артикул | string | Нет |
Параметры ответа
Название | Описание | Тип | Обязательный |
---|---|---|---|
id | ID заявки в TCB | string | Да |
link | Ссылка на заявку в TCB | string | Да |
Метод для создания демозаявки
Метод | POST |
URL | https://forma.tinkoff.ru/api/partners/v2/orders/create‑demo |
Формат ответа | JSON |
Статус ответа | 200 В случае успешного сценария400 В случае некорректного формата запроса401 Аутентификация не пройдена: введены неверные логин и/или пароль403 Авторизация не пройдена: пытаетесь работать с чужой заявкой422 Ошибка бизнес-логики: в текущем состоянии заявки нельзя выполнить это действие500 Внутренняя ошибка сервера |
Статус ответа
Параметры запроса
Название | Описание | Тип | Обязательный |
---|---|---|---|
shopId | Идентификатор магазина | string | Да |
showcaseId | Идентификатор витрины (сайта) | string | Нет |
sum | Общая сумма заказа | number | Да |
items | Список товаров | array Структура | Да |
orderNumber | Идентификатор заказа в системе партнера | string | Нет |
promoCode | Идентификатор кредитного продукта(кредит/рассрочка) | string | Нет |
demoFlow | Доступные флоу для демо заявки | enum sms, appointment, reject, appointment-reject | Нет |
initialStage | Начальный экран для демо заявки | enum filling, wait‑offer, wait‑offers‑all, offers‑all, rejected, wait‑offer-timeout, appointment, ses‑documents, ses‑appointment, kvk‑signing‑sms, kvk‑issued, eastern-express‑sms, eastern-express-issued, mts‑add‑additional‑info, mts‑appointment, mts‑issued, canceled, canceled‑by‑partner, complete-waiting | Нет |
failURL | URL для возврата в случае неуспешного завершения заявки, если не указан то будет использован URL из настроек магазина | string | Нет |
successURL | URL для возврата в случае успешного завершения заявки, если не указан то будет использован URL из настроек магазина | string | Нет |
returnURL | URL для возврата в случае отмены заявки покупателем, если не указан то будет использован URL из настроек магазина | string | Нет |
webhookURL | URL для отправки вебхуков, если не указан, то будет использован URL из настроек магазина | string | Нет |
values | Данные покупателя для предзаполнения формы | object | Нет |
values.contact | Контакт | object | Нет |
values.contact.fio | ФИО покупателя | object | Нет |
values.contact.fio.lastName | Фамилия покупателя | string | Нет |
values.contact.fio.firstName | Имя покупателя | string | Нет |
values.contact.fio.middleName | Отчество покупателя | string | Нет |
values.contact.mobilePhone | Телефон покупателя: 10 цифр, без +7 | string | Нет |
values.contact.email | Email покупателя | string | Нет |
Items
Название | Описание | Тип | Обязательный |
---|---|---|---|
name | Название товарной позиции | string | Да |
quantity | Количество единиц товара в позиции | integer int32 | Да |
price | Цена одной единицы товара | number | Да |
category | Категория товара | string | Нет |
vendorCode | Артикул | string | Нет |
Параметры ответа
Название | Описание | Тип | Обязательный |
---|---|---|---|
id | ID заявки в TCB | string | Да |
link | Ссылка на заявку в TCB | string | Да |
Отмена заявки
Метод для отмены заказа, в случае если, например, его нужного товара нет на складе и/или клиент передумал его брать
Метод | POST |
URL | https://forma.tinkoff.ru/api/partners/v2/orders/{orderNumber}/cancel |
Формат ответа | JSON |
Статус ответа | 200 В случае успешного сценария400 В случае некорректного формата запроса401 Аутентификация не пройдена: введены неверные логин и/или пароль403 Авторизация не пройдена: пытаетесь работать с чужой заявкой422 Ошибка бизнес-логики: в текущем состоянии заявки нельзя выполнить это действие500 Внутренняя ошибка сервера |
Статус ответа
Параметры запроса
Название | Описание | Тип | Обязательный |
---|---|---|---|
orderNumber path | Номер заказа | string | Да |
Authorization header | Basic Auth | string | Да |
Параметры ответа
Название | Описание | Тип | Обязательный |
---|---|---|---|
id | Идентификатор заказа | string | Да |
status | Текущий статус заявки | enum inprogress, signed, issued, canceled, new, rejected, approved | Да |
created_at | Дата и время создания заявки. | string dateTime | Да |
demo | Флаг показывающий реальная ли это заявка или заявка созданная в демо‑режиме | boolean | Да |
committed | Флаг показывающий подтверждена ли данная заявка | boolean | Да |
first_payment | Сумма первого платежа по кредиту | number double | Нет |
order_amount | Сумма заказа | number double | Да |
credit_amount | Сумма выдаваемого покупателю кредита | number double | Нет |
product | Тип продукта | enum credit, installment_credit | Да |
term | Количество месяцев, на которое оформляется кредит | integer int32 | Нет |
monthly_payment | Сумма ежемесячного платежа | number double | Нет |
first_name | Имя покупателя | string | Нет |
last_name | Фамилия покупателя | string | Нет |
middle_name | Отчество покупателя | string | Нет |
phone | Телефон покупателя | string | Нет |
loan_number | Номер договора | string | Нет |
email покупателя | string | Нет | |
appropriate_signing_types | Доступные способы подписания по флоу | array | Да |
signing_type | Тип подписания | enum bank, sms, paperless, ses | Нет |
chosen_bank | Банк, выдавший кредит | string | Нет |
expected_overdue_at | Ожидаемая дата, когда заявка просрочится | string dateTime | Нет |
Подтверждение заявки
Метод для подтверждения заказа, после этого кредит будет выдан
Метод | POST |
URL | https://forma.tinkoff.ru/api/partners/v2/orders/{orderNumber}/commit |
Формат ответа | JSON |
Статус ответа | 200 В случае успешного сценария400 В случае некорректного формата запроса401 Аутентификация не пройдена: введены неверные логин и/или пароль403 Авторизация не пройдена: пытаетесь работать с чужой заявкой422 Ошибка бизнес-логики: в текущем состоянии заявки нельзя выполнить это действие500 Внутренняя ошибка сервера |
Статус ответа
Параметры запроса
Название | Описание | Тип | Обязательный |
---|---|---|---|
orderNumber path | Номер заказа | string | Да |
Authorization header | Basic Auth | string | Да |
Параметры ответа
Название | Описание | Тип | Обязательный |
---|---|---|---|
id | Идентификатор заказа | string | Да |
status | Текущий статус заявки | enum inprogress, signed, issued, canceled, new, rejected, approved | Да |
created_at | Дата и время создания заявки. | string dateTime | Да |
demo | Флаг показывающий реальная ли это заявка или заявка созданная в демо‑режиме | boolean | Да |
committed | Флаг показывающий подтверждена ли данная заявка | boolean | Да |
first_payment | Сумма первого платежа по кредиту | number double | Нет |
order_amount | Сумма заказа | number double | Да |
credit_amount | Сумма выдаваемого покупателю кредита | number double | Нет |
product | Тип продукта | enum credit, installment_credit | Да |
term | Количество месяцев, на которое оформляется кредит | integer int32 | Нет |
monthly_payment | Сумма ежемесячного платежа | number double | Нет |
first_name | Имя покупателя | string | Нет |
last_name | Фамилия покупателя | string | Нет |
middle_name | Отчество покупателя | string | Нет |
phone | Телефон покупателя | string | Нет |
loan_number | Номер договора | string | Нет |
email покупателя | string | Нет | |
appropriate_signing_types | Доступные способы подписания по флоу | array | Да |
signing_type | Тип подписания | enum bank, sms, paperless, ses | Нет |
chosen_bank | Банк, выдавший кредит | string | Нет |
expected_overdue_at | Ожидаемая дата, когда заявка просрочится | string dateTime | Нет |
Получение информации по заявке
Метод для получения и проверки актуального статус по заявке
Метод | GET |
URL | https://forma.tinkoff.ru/api/partners/v2/orders/{orderNumber}/info |
Формат ответа | JSON |
Статус ответа | 200 В случае успешного сценария400 В случае некорректного формата запроса401 Аутентификация не пройдена: введены неверные логин и/или пароль403 Авторизация не пройдена: пытаетесь работать с чужой заявкой422 Ошибка бизнес-логики: в текущем состоянии заявки нельзя выполнить это действие500 Внутренняя ошибка сервера |
Статус ответа
Параметры запроса
Название | Описание | Тип | Обязательный |
---|---|---|---|
orderNumber path | Номер заказа | string | Да |
Authorization header | Basic Auth | string | Да |
Параметры ответа
Название | Описание | Тип | Обязательный |
---|---|---|---|
id | Идентификатор заказа | string | Да |
status | Текущий статус заявки | enum inprogress, signed, issued, canceled, new, rejected, approved | Да |
created_at | Дата и время создания заявки. | string dateTime | Да |
demo | Флаг показывающий реальная ли это заявка или заявка созданная в демо‑режиме | boolean | Да |
committed | Флаг показывающий подтверждена ли данная заявка | boolean | Да |
first_payment | Сумма первого платежа по кредиту | number double | Нет |
order_amount | Сумма заказа | number double | Да |
credit_amount | Сумма выдаваемого покупателю кредита | number double | Нет |
product | Тип продукта | enum credit, installment_credit | Да |
term | Количество месяцев, на которое оформляется кредит | integer int32 | Нет |
monthly_payment | Сумма ежемесячного платежа | number double | Нет |
first_name | Имя покупателя | string | Нет |
last_name | Фамилия покупателя | string | Нет |
middle_name | Отчество покупателя | string | Нет |
phone | Телефон покупателя | string | Нет |
loan_number | Номер договора | string | Нет |
email покупателя | string | Нет | |
appropriate_signing_types | Доступные способы подписания по флоу | array | Да |
signing_type | Тип подписания | enum bank, sms, paperless, ses | Нет |
chosen_bank | Банк, выдавший кредит | string | Нет |
expected_overdue_at | Ожидаемая дата, когда заявка просрочится | string dateTime | Нет |
Мы составили примеры запросов для создания заявки, получения статуса, подтверждения или отмены заявки.