Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Liqpay API (интеграция) , Не выходит (наверное) правильно передать параметры в запросе          
dravva Подменю пользователя
сообщение 03.08.21, 18:36
Сообщение #1

Молчаливый
*
Группа: Пользователи
Сообщений: 9
Спасибо сказали: 4 раз
Рейтинг: 0

Добрый день.
УТП. Необходимо отправить запрос на возврат средств по платежу. Документация [необходимо зарегистрироваться для просмотра ссылки]
Проблема - в ответ получаю - "{"code":"err_missing","err_code":"err_missing","err_description":"Required parameter not passed data","key":"data","result":"error","status":"error"}"

Фрагмент кода
УРЛСайта = "liqpay.ua";
    ПутьЗапроса = "/api/request";
    
    СтруктураЗапроса = Новый Структура;
        СтруктураЗапроса.Вставить("public_key",public_key);
        СтруктураЗапроса.Вставить("version","3");
        СтруктураЗапроса.Вставить("action","refund");
        СтруктураЗапроса.Вставить("amount","100");
        СтруктураЗапроса.Вставить("order_id","order_id_1");
    ЗаписьJSON = Новый ЗаписьJSON;
    ЗаписьJSON.УстановитьСтроку(Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Нет));    ЗаписатьJSON(ЗаписьJSON,СтруктураЗапроса);
    СтрокаJSON = ЗаписьJSON.Закрыть();
    
    ДвоичныеДанныеСтроки = ПолучитьДвоичныеДанныеИзСтроки(СтрокаJSON);
    ДатаBase64 = Base64Строка(ДвоичныеДанныеСтроки);
    ДатаBase64 = СтрЗаменить(ДатаBase64, Символы.ВК, ""); // убираем ВК
    ДатаBase64 = СтрЗаменить(ДатаBase64, Символы.ПС, ""); // убираем ПС
    
    ХД = Новый ХешированиеДанных(ХешФункция.SHA1);
    ХД.Добавить(private_key);
    ХД.Добавить(ДатаBase64);
    ХД.Добавить(private_key);

    ТипДвоичныеДанные = ФабрикаXDTO.Тип("http://www.w3.org/2001/XMLSchema", "base64Binary");
    ДвоичныеДанные = ФабрикаXDTO.Создать(ТипДвоичныеДанные,ХД.ХешСумма);
    СигнатураBase64 = ДвоичныеДанные.ЛексическоеЗначение;
    
    Заголовки = Новый Соответствие();
    Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded");
    Соединение = Новый HTTPСоединение(УРЛСайта, , , , , , Новый ЗащищенноеСоединениеOpenSSL());
    HTTPЗапрос =
        Новый HTTPЗапрос(
                ПутьЗапроса
            ,    Заголовки
        )
;
    HTTPЗапрос.УстановитьТелоИзСтроки("data="+ДатаBase64+"&signature="+СигнатураBase64);
    HTTPОтвет = Соединение.ОтправитьДляОбработки(HTTPЗапрос);
    СтрокаОтвета = HTTPОтвет.ПолучитьТелоКакСтроку();
    Сообщить(СтрокаОтвета);



Думаю что проблема именно в передаче параметров, потому как та же ошибка и для других "action" - получение реестра или создание платежа
Может у кого-то есть опыт и может дать пример правильного составления запроса ?
Заранее спасибо !

dravva @ Сегодня, 17:42 * ,
похоже разобрался сам
вместо
HTTPЗапрос.УстановитьТелоИзСтроки("data="+ДатаBase64+"&signature="+СигнатураBase64);

нужно (добавить &)
HTTPЗапрос.УстановитьТелоИзСтроки("&data="+ДатаBase64+"&signature="+СигнатураBase64);


Сообщение отредактировал Vofka - 04.08.21, 8:48

Спасибо сказали: am_1c, andr_andrey, Vofka,

Chernivcipss Подменю пользователя
сообщение 04.02.22, 16:12
Сообщение #2

Молчаливый
*
Группа: Пользователи
Сообщений: 1
Спасибо сказали: 0 раз
Рейтинг: 0

У меня не получилось.
Ошибка {"code":"err_missing","err_code":"err_missing","err_description":"Required parameter not passed id","key":"id","result":"error","status":"error"}

am_1c Подменю пользователя
сообщение 11.10.22, 12:31
Сообщение #3

Молчаливый
*
Группа: Пользователи
Сообщений: 2
Из: Киев
Спасибо сказали: 0 раз
Рейтинг: 0

dravva @ 03.08.21, 19:36 * ,
Спасибо, полностью рабочий фрагмент с учетом нижней корректировки "data=" -> "&data="

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 16.04.24, 19:02
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!