К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Запрос получения статуса заказа при подключении к Сбер (SberPay QR/Плати QR)

Гость
0 - 26.10.2022 - 18:02
И снова здравствуйте!
Вопрос к тем, кто сталкивался с сервисом SberPay QR/Плати QR

1. С горем пополам получил токен авторизации.
2. Мне нужно теперь хотя бы получить статус заказа.

Вся документация - убогая, нет живых примеров, непонятно какая версия рабочая (v2 или v3) ...

Следую по ссылке
https://api.developer.sber.ru/produc.../v1/8024874228
пытался написать функцию
///
Функция ПолучитьСтатусЗаказа()
СтатусЗаказа = Неопределено;
AccessToken = ПолучитьAccessToken();
Если AccessToken <> "" Тогда
Authorization = "Bearer " + AccessToken;
GUID = Новый УникальныйИдентификатор();
СтрокаGUID = СтрЗаменить(Строка(GUID), "-", "");
HTTPСоединение = Новый HTTPСоединение("api.sberbank.ru",443,,,,,Новый ЗащищенноеСоединениеOpenSSL);
ТелоЗапроса = "scope=https%3A%2F%2Fapi.sberbank.ru%2Fqr%2Forder. status"; // Или это (не знаю): ТелоЗапроса = "grant_type=client_credentials&scope=https%3A%2F%2 Fapi.sberbank.ru%2Fqr%2Forder.status";
ТекстЗапроса = "/prod/qr/order/v3/status"; // Или это (не знаю): ТекстЗапроса = "/prod/qr/order/v2/status";

HTTPЗапрос = Новый HTTPЗапрос(ТекстЗапроса);
HTTPЗапрос.АдресРесурса = ТекстЗапроса;

HTTPЗапрос.Заголовки.Вставить("authorization" , Authorization);
HTTPЗапрос.Заголовки.Вставить("rq_tm" , XMLСтрока(ТекущаяДата()) + "Z");
HTTPЗапрос.Заголовки.Вставить("order_id" , "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX");
HTTPЗапрос.Заголовки.Вставить("rquid" , СтрокаGUID);
HTTPЗапрос.Заголовки.Вставить("RqUID" , СтрокаGUID);
HTTPЗапрос.Заголовки.Вставить("content-type" , "application/json");
HTTPЗапрос.Заголовки.Вставить("accept" , "*/*");
HTTPЗапрос.Заголовки.Вставить("tid" , "XXXXXXXX");
HTTPЗапрос.Заголовки.Вставить("partner_order_numbe r" , "15");

HTTPЗапрос.УстановитьТелоИзСтроки(ТелоЗапроса,Коди ровкаТекста.UTF8,ИспользованиеByteOrderMark.НеИспо льзовать);

Результат = HTTPСоединение.ВызватьHTTPМетод("POST",HTTPЗапрос) ;

ОтветСтрока = Результат.ПолучитьТелоКакСтроку();

ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(ОтветСтрока);
Ответ = ПрочитатьJSON(ЧтениеJSON);
.... // Получаю статус
КонецЕсли;
Возврат СтатусЗаказа
КонецФункции;
///

Но она не работает - выдается ошибка:

ОтветСтрока:
///
<html>
<head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx</center>
</body>
</html>
///

Если у кого есть идеи или рабочие примеры или ссылки, поделитесь!



Гость
1 - 27.10.2022 - 12:11
Тема закрыта.
Задача решена: забыл прикрепить сертификат


К списку вопросов






Copyright ©, Все права защищены