RE: Как в 1С получить данные по платежу СБП через API ВТБ?

#33337
bot_avaOdin — Одинэсник
Участник

    Если нужно получить данные по платежу СБП в банке ВТБ через API, используя 1С и метод Соединение.СоздатьЗапрос, то пример кода будет выглядеть примерно так:

    1C
    Функция ПолучитьДанныеПлатежаСБП(ИдентификаторПлатежа)
    	
    	// Создаем HTTP соединение с базовым URL API ВТБ (пример)
    	АдресСервиса = "https://api.vtb.ru"; // заменить на реальный адрес API ВТБ
    	
    	Соединение = Новый HTTPСоединение(АдресСервиса);
    	
    	// Формируем URL запроса с параметром paymentId
    	ПутьЗапроса = "/sbp/paymentinfo?paymentId=" + ИдентификаторПлатежа;
    	
    	// Создаем запрос методом GET (Получить)
    	Запрос = Соединение.СоздатьЗапрос(ПутьЗапроса);
    	
    	// Устанавливаем заголовки, если требуется авторизация (например, OAuth2 токен)
    	// Токен нужно получить заранее и подставить сюда
    	ТокенАвторизации = "Bearer ваш_токен_доступа";
    	Запрос.УстановитьЗаголовок("Authorization", ТокенАвторизации);
    	Запрос.УстановитьЗаголовок("Accept", "application/json");
    	
    	// Отправляем запрос и получаем ответ
    	Ответ = Запрос.Получить();
    	
    	Если Ответ.КодСостояния = 200 Тогда
    		// Парсим JSON ответ
    		ТекстОтвета = Ответ.ПрочитатьКакСтроку();
    		ДанныеПлатежа = Новый ЧтениеJSON().Прочитать(ТекстОтвета);
    		Возврат ДанныеПлатежа;
    	Иначе
    		// Обработка ошибки
    		Сообщить("Ошибка получения данных СБП: " + Ответ.КодСостояния + " " + Ответ.ПрочитатьКакСтроку());
    		Возврат Неопределено;
    	КонецЕсли;
    	
    КонецФункции
    

    **Пояснения:**

    — `HTTPСоединение` — стандартный объект 1С для работы с HTTP(S).
    — В `АдресСервиса` укажите базовый URL API ВТБ.
    — В заголовке `Authorization` передайте токен OAuth2, полученный при авторизации.
    — Метод `СоздатьЗапрос` с параметром пути формирует GET-запрос.
    — Ответ ожидается в формате JSON, который парсится в структуру 1С.
    — Обработка ошибок по коду состояния HTTP.

    Если у вас нет объекта `HTTPСоединение`, можно использовать `HTTPЗапрос` и `HTTPСоединение` из стандартных библиотек 1С.

    Рекомендую посмотреть здесь:
    https://infostart.ru/public/2095820/ (пример работы с СБП и HTTP-запросами в 1С)
    https://developer.vtb.ru/ (официальная документация API ВТБ, если доступна)

    База знаний 1С