Тинькофф Банк - уведомление в учетную систему по операциям с расчетным счетом
На вашем расчетном счете происходит различные операции - приходы, расходы. Удобно получать в систему уведомление о событии операции по счету.
Например, вы можете отмечать факт прихода по такому-то платежу.
Важно. Здесь мы никак не влияем на состояние расчетного счета в банке, а только получаем информацию о движениях по нему.
Как это настроить для Тинькоф Бизнес?
Документация - https://developer.tinkoff.ru/docs/intro/webhook
Необходимо написать на почту openapi@tinkoff.ru (пишите с любой почты, которая привязана к компании или добавьте персонального менеджера в копию).
- Какое событие подключаете (статус платежа, новая операция по счету),
- Адреса метода API на вашей системе, например site.ru/api/action/mymethod
- ИНН компании.
После одобрения заявки при новой операции будет вызываться ваш метод.
Необходимо в /asapi реализовать метод входящего API (например, с кодом mymethod).
Обработка может выглядеть примерно так:
CREATE PROCEDURE [dbo].[api_tinkoff_mymethod]
@parameters ExtendedDictionaryParameter READONLY,
@username nvarchar(256)
as
begin
declare @ip nvarchar(max) = (select top 1 value2 from @parameters where lower([key])= 'userip')
declare @resp nvarchar(max) = isnull((select top 1 value2 from @parameters where lower([key])= 'inputstream'), '---')
exec [dbo].as_trace_warn
@code='tinkoff_tran',
@header = 'tinkoff_tran',
@itemID = 0,
@text = @resp,
@username = ''
execute as_print @ip
execute as_print @resp
-- Уведомления банка приходят с IP 212.233.80.7 и 91.218.132.2
if(@ip not in ('212.233.80.7' ,'91.218.132.2')) begin
select '' Msg, 1 Result, 0 errorCode
select 'BadIP' s1
return
end
declare @inn nvarchar(max) = JSON_value(@resp, '$.counterParty.inn')
declare @name nvarchar(max) = JSON_value(@resp, '$.counterParty.name')
declare @sum float = cast(JSON_value(@resp, '$.rubleAmount') as float)
declare @financeID int
declare @ctrID int = (select id from fin_contragents where inn = @inn)
if(@ctrID is not null) begin
set @financeID = (select id from fin_finances
where fromID=@ctrID and statusID in (1,2,6) and abs([sum]-@sum)<1 )
if(@financeID is not null) begin
exec [dbo].fin_setPayed @financeID = @financeID
end
end
-- SELECT 1 - вывод метаданных о результате операции метода API
select 'OK' Msg, 1 Result, 0 errorCode
-- SELECT 2 - вывод самих данных в API (в случае проблем проверьте что этот запрос приходит непустой)
select 'OK' s1
-- SELECT 3 Outer actions - отправка уведомлений
if(@financeID is not null) begin
select 'notification' type,
'Новый приход отмечен: '+isnull(cast(@sum as nvarchar), '0')+' руб. от '+ isnull(@name, '---') text ,
'someuser' [to], 'common' typeCode, '' url, '' additional
from fin_finances where id = @financeID
end
end
Здесь мы извлекаем из входящего JSON ИНН, название контрагента и сумму, находим в нашей базе незакрытую финансовую транзакцию этого контрагента с такой суммой и помечаем ее как проведенную. Также делаем уведомление некоему пользователю в системе.
Google поиск по нашей документации
- Руководства
- Основа Falcon Space
- Основные компоненты
- Возможности
- Коммуникация с пользователем
- Дизайн, стилизация, юзабилити
- Лендинги
- Универсальный API
- Примеры интеграций Прием платежей через Яндекс.Кассу Онлайн-платежи. Интеграция с Робокассой (платежный шлюз) Zapier интеграция на платформе Falcon Space Интеграция коллтрекинга МАНГО ОФИС (режим Площадка) Интеграция API DaData.ru подсказки по адресам Интеграция API Курсы валют Центрального Банка РФ в веб-платформе Falcon Space Интеграция API Почта РФ Интеграция API Служба доставки СДЭК (CDEK) Интеграция API Служба доставки Деловые линии Интеграция импорт и парсинг файла CSV Интеграция API IpGeoBase Город по IP-адресу Интеграция API DaData.ru Город по IP-адресу Как вычислить расстояние между 2 точками с координатами через Google Maps Сканирование штрихкодов и QR кодов через камеру и с картинок Получение данных контрагента по ИНН Прием платежей на сайте через CloudPayments Как сделать интеграцию с Мой Склад Внедрение подсказок dadata на сайт Вывод точек на карте Яндекс. Интеграция с Яндекс Карты Интеграция с телефонией Zadarma.com Получение данных о контрагенте - интеграция с сервисом ЗаЧестныйБизнес Интеграция с AMO CRM Как импортировать данные в базу CRM из Google Контакты Вход/регистрация через ВКонтакте(vk.com) Интеграция CRM с онлайн чатом на сайте (Replain) Как связать yandex metrika clientID с пользователем на сайте и посмотреть полный путь его по сайту? Телеграм. Работа с файлами Как сделать обработку входящей почты (создание клиента в CRM из Email) Интеграция сайта с ChatGPT (openAI) Интеграция с Яндекс Метрика Интернет-эквайринг Тинькоф Банк Интеграция с платежным шлюзом LifePay Как сделать вебхук для передачи данных с Тильды на Falcon Space Пополнение средств через Yookassa (Юкасса) Тинькофф Банк - уведомление в учетную систему по операциям с расчетным счетом Интеграция с Ютуб. Получение роликов канала Интеграция с Ozon, Wildberries - извлечение статистики
- Каталоги
- Навигация
- Документы
- Дополнительные компоненты
- Продвижение, SEO
- Системные моменты
- Системное администрирование
- HOWTO
- Таблицы
- Формы
- Загрузка файлов, картинок
- Работа с SQL
- HOWTO JS
- HOWTO Верстка
- Решение проблем
Выгода от использования Falcon Space
В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
- Шаг 1. Создать концепт проекта
- Шаг 2. Получить оценку бюджета (КП)
- Шаг 3. Заключить договор
- Шаг 4. Создать совместно техническое задание
- Шаг 5. Поэтапная реализация проекта