|
Запрос в командной строке - CURL | ☑ | ||
---|---|---|---|---|
0
kupec
09.03.23
✎
16:55
|
Доброго всем дня. Есть вот такая инструкция для CURL
curl --location --request POST 'https://pay-test.raif.ru/api/payment/v1/orders' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer eyJ0***' \ --data-raw '{ "id": "TestBank03", "amount": "74", "comment": "Тест", "qr": { "id": "AS8F2E5A03D34B4E88B2842DD2591294", "additionalInfo": "Касса № 1, магазин 22", "paymentDetails": "Касса № 1 , магазин 22" } }' Как мне это дело набрать в командной строке, подскажите пожалуйста |
|||
1
arsik
гуру
09.03.23
✎
16:59
|
В чем проблема то?
|
|||
2
Gary417
09.03.23
✎
17:02
|
(0) ну кроме того что ты слеши перехода потерял между переносами, все выглядит норм
если всёравно не понятно че не работает, в блокнотике удали переходы строк и одной строкой вводи это всё |
|||
3
Gary417
09.03.23
✎
17:02
|
(2) *хотя слеши наверное и не нужны, чет туплю
|
|||
4
arsik
гуру
09.03.23
✎
17:04
|
(3) В линуксе нужны.
(0) Зачем через curl тестировать? Есть же фидлер, постман. |
|||
5
kupec
09.03.23
✎
17:07
|
curl --location --request POST "https://pay-test.raif.ru/api/payment/v1/orders" --header "Content-Type: application/json" --header "Authorization: Bearer eyJ0***" --data-raw "{ "id": "TestBank03", "amount": "74", "comment": "Тест", "qr": { "id": "AS8F2E5A03D34B4E88B2842DD2591294", "additionalInfo": "Касса № 1, магазин 22", "paymentDetails": "Касса № 1 , магазин 22" } }"
Вот что ввожу, все равно не взлетает |
|||
6
kupec
09.03.23
✎
17:07
|
(4) мне надо потом из 1с 7.7 это будет отправлять
|
|||
7
arsik
гуру
09.03.23
✎
17:11
|
Как то так
curl --location --request POST "https://pay-test.raif.ru/api/payment/v1/orders" --header "Content-Type: application/json" --header "Authorization: Bearer eyJ0***" --data-raw "{ ""id"": ""TestBank03"", ""amount"": ""74"", ""comment"": ""Тест"", ""qr"": { ""id"": ""AS8F2E5A03D34B4E88B2842DD2591294"", ""additionalInfo"": ""Касса № 1, магазин 22"", ""paymentDetails"": ""Касса № 1 , магазин 22"" } }" |
|||
8
arsik
гуру
09.03.23
✎
17:14
|
Какой ни будь продвинутый терминал возьми который правильные кавычки показывает, там сразу видно будет.
Вот например виндовый терминал https://i.imgur.com/IaGgLZ7.png |
|||
9
kupec
09.03.23
✎
17:15
|
||||
10
arsik
гуру
09.03.23
✎
17:20
|
(9) Так ты какой curl использовал? У встроенного в винду скорее всего другой синтаксис.
|
|||
11
kupec
09.03.23
✎
17:23
|
ну дык который windows, почему там должен быть другой синтаксис?
|
|||
12
arsik
гуру
09.03.23
✎
17:23
|
(10) Хотя хз. У меня встроенный в 10 винду работает.
https://i.imgur.com/JMTjOg9.png |
|||
13
Gary417
09.03.23
✎
17:24
|
там к совычками косяк
|
|||
14
Gary417
09.03.23
✎
17:24
|
""qr"": { ""id"":
так нельзя |
|||
15
Gary417
09.03.23
✎
17:24
|
(0) надо как тут
|
|||
16
Gary417
09.03.23
✎
17:25
|
или экранирование ставить на кавычку каждую вложенную внутри тела
|
|||
17
arsik
гуру
09.03.23
✎
17:26
|
(16) Так я так и сделал. Как в 1С :)
|
|||
18
Gary417
09.03.23
✎
17:28
|
(17) 1С это не командная строка всетаки, в командной строке - ""чтото"" -- это не означает, чтото - написанное в ковычках
надо или разные ковычки, как в примере (0) или в экранирование типа "\"чтото\"" |
|||
19
kupec
09.03.23
✎
17:28
|
Invoke-WebRequest : Не удается найти позиционный параметр, принимающий аргумент "--request".
строка:1 знак:1 + curl --location --request POST "https://pay-test.raif.ru/api/payment/ ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [Invoke-WebRequest], ParameterBindingException + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.InvokeWebRequestCommand |
|||
20
Смотрящий
09.03.23
✎
17:29
|
(0) POST и "в командной строке" нихт атлатл
Качни это https://chrome.google.com/webstore/detail/tabbed-postman-rest-clien/coohjcphdfgbiolnekdpbcijmhambjff и в нем, забив параметрами, выполни запрос |
|||
21
Gary417
09.03.23
✎
17:31
|
(19) мне кажется надо нормальный курл юзать https://curl.se/windows/
(господи, оказывается в винду самопальный курл завезли..совсем я забыл винду) |
|||
22
arsik
гуру
09.03.23
✎
17:32
|
(19) Вместо стандартного cmd и curl воспользуйся 1C:Исполнитель или OneScript. Там по крайней мере таких проблем возможно не будет.
|
|||
23
kupec
09.03.23
✎
17:41
|
А теперь подскажите, как пользоваться OneScript из 7.7?
|
|||
24
MishaD
09.03.23
✎
17:47
|
В свое время пользовался. Пока json в файл не запихнул, ничего не работало.
|
|||
25
MishaD
09.03.23
✎
17:49
|
вернее делал батник, и запускал его из 7.7.
|
|||
26
kupec
09.03.23
✎
17:55
|
а каким образом отправлять json из файла? Так же через curl?
|
|||
27
vbus
09.03.23
✎
23:04
|
curl твой url --data @имя твоего json файла -o имя файла для ответа
` curl https://pay-test.raif.ru/api/payment/v1/orders --data @dtjs.json -o res.json ` в файле данные: ` { "url": "https://pay-test.raif.ru/api/payment/v1/orders", "raw_url": "https://pay-test.raif.ru/api/payment/v1/orders", "method": "post", "headers": { "Content-Type": "application/json", "Authorization": "Bearer eyJ0***" }, "data": { "id": "TestBank03", "amount": "74", "comment": "Тест", "qr": { "id": "AS8F2E5A03D34B4E88B2842DD2591294", "additionalInfo": "Касса № 1, магазин 22", "paymentDetails": "Касса № 1 , магазин 22" } }, "follow_redirects": true } ` |
|||
28
kupec
10.03.23
✎
09:01
|
https://wampi.ru/image/Rl8Yngk
Вот что получается, я так понимаю, каких то сертификатов нет? Или что это за ошибка? |
|||
29
arsik
гуру
10.03.23
✎
09:36
|
Если из файла тянешь данные тогда вроде впереди @ нужно ставить
|
|||
30
arsik
гуру
10.03.23
✎
09:38
|
||||
31
kupec
10.03.23
✎
09:56
|
(30) не помогло.
|
|||
32
kupec
10.03.23
✎
09:59
|
У нас настроено СБП через райф банк. До вторника все работало через вот это
Попытка XMLHttpRequest = СоздатьОбъект("Msxml2.XMLHTTP.6.0"); Исключение Попытка XMLHttpRequest = СоздатьОбъект("Msxml2.XMLHTTP.3.0"); Исключение Попытка XMLHttpRequest = СоздатьОбъект("Msxml2.XMLHTTP"); Исключение Попытка XMLHttpRequest = СоздатьОбъект("Microsoft.XMLHTTP"); Исключение Предупредить("###Ошибка создания объекта XMLHttpRequest",0,,2);Возврат ""; КонецПопытки; КонецПопытки; КонецПопытки; КонецПопытки; Во вторник они меняют что то у себя на сервере, а именно Во вторник в рамках устранения задачи на уязвимость наших доменов pay*.raif.ru было сделано следующее: 1) Отключены небезопасные шифронаборы CBC для TLS. 2) Выставлен обязательным контроль содержимого заголовка Host. Соответственно работать перестало все, на кассах стоит Win7, Даже интернет Эксплорер не заходит на их сайт, в десятке все нормально, но обновлять 14 касс.....это слишком. Может нужно какое то обновление установить? Никто не сталкивался с такими проблемами? |
|||
33
arsik
гуру
10.03.23
✎
10:36
|
Ну для СБП я бы все же микросервис сделал, на том же php. Развернуть в своей инфраструктуре. Клиентские устройства будут через к нему обращаться, а он уже к банку. И туда же будут колбэки банка прилетать.
|
|||
34
kupec
10.03.23
✎
10:40
|
(33) я такое не умею
|
|||
35
arsik
гуру
10.03.23
✎
11:02
|
(34) Какая ошибка в интернет эксплорере при обращении к https://pay-test.raif.ru/ ?
|
|||
36
arsik
гуру
10.03.23
✎
11:13
|
Хз. Что то ты делаешь не так.
У меня curl (https://curl.se/windows/) работает. https://i.imgur.com/h1tc9Fa.png Win 7 x32 с относительно последними обновлениями. |
|||
37
kupec
10.03.23
✎
11:23
|
(35) Не удается отобразить эту страницу
•Убедитесь, что веб-адрес https://pay.raif.ru правильный. •Найдите страницу с помощью поисковой системы. •Обновите страницу через несколько минут. |
|||
38
kupec
10.03.23
✎
11:23
|
Вчера писало про TSL, какие то обновления ставил, сегодня начало писать вот это
|
|||
39
arsik
гуру
10.03.23
✎
11:41
|
(38) Через интернет эксплорер меня тоже не пускает, но curl работает. Качай последний и делай через него
|
|||
40
kupec
10.03.23
✎
11:49
|
а могу я в 1С получить ответ в переменную от curl? Или только с сохранением в файл?
|
|||
41
arsik
гуру
10.03.23
✎
12:12
|
(40) Только в файл или в консоль, но от этого не лучше.
|
|||
42
kupec
10.03.23
✎
13:50
|
\curl --location --request POST "https://pay.raif.ru/api/payment/v1/orders" --header "Content-Type: application/json" --header "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGA70fqo67VbnDFlc2QMR5soXB8vkvTY" --data-raw "{ ""id"": ""26809abe-bf2f-4586-8190-ec5c2a3994ef"", ""amount"": ""74"", ""comment"": """", ""extra"": { ""apiClient"": ""curl"", ""apiClientVersion"": ""7.45.0.0"" }, ""expirationDate"": ""2023-03-10T13:48:59+03:00"", ""qr"": { ""id"": ""BS1R0058AU1J4OF391UBQ97TG6RR7I83"", ""additionalInfo"": ""Касса № 1"", ""paymentDetails"": """" }}"
|
|||
43
kupec
10.03.23
✎
13:50
|
Тех поддержка отвечает, что не валидный json приходит
|
|||
44
arsik
гуру
10.03.23
✎
13:55
|
(43) Тебе же уже сказали как отправлять из файла?
curl --location --request POST "https://pay.raif.ru/api/payment/v1/orders" --header "Content-Type: application/json" --header "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGA70fqo67VbnDFlc2QMR5soXB8vkvTY" --data @data.json |
|||
45
arsik
гуру
10.03.23
✎
13:59
|
+(44) Вот так еще попробуй
curl --location --request POST "https://pay-test.raif.ru/api/payment/v1/orders" --header "Content-Type: application/json" --header "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGA70fqo67VbnDFlc2QMR5soXB8vkvTY" --data-raw '{ "id": "TestBank03", "amount": "74", "comment": "Тест", "qr": { "id": "AS8F2E5A03D34B4E88B2842DD2591294", "additionalInfo": "Касса № 1, магазин 22", "paymentDetails": "Касса № 1 , магазин 22" } }' |
|||
46
kupec
10.03.23
✎
14:06
|
Так вообще не срабатывает
|
|||
47
kupec
10.03.23
✎
14:15
|
||||
48
arsik
гуру
10.03.23
✎
14:17
|
(46) У меня нормально на сервис 1С прилетает из командной строки
Вот пример. Там с кодировкой херня была. По умолчанию в утф отправляло, а в консоли не утф. https://i.imgur.com/qlzwEH2.png |
|||
49
arsik
гуру
10.03.23
✎
14:24
|
Без charset=windows-1251 прилетает вот так.
{ "id": "TestBank03", "amount": "74", "comment": "����", "qr": { "id": "AS8F2E5A03D34B4E88B2842DD2591294", "additionalInfo": "����� � 1, ������� 22", "paymentDetails": "����� � 1 , ������� 22" } } |
|||
50
arsik
гуру
10.03.23
✎
14:24
|
+(49) Но она полностью json валидна.
|
|||
51
arsik
гуру
10.03.23
✎
14:32
|
(47) amount должно быть Number, а не String.
|
|||
52
kupec
10.03.23
✎
14:46
|
Поправил, не получается все равно, выдает не верный формат данных на их стороне.....
|
|||
53
eklmn
гуру
10.03.23
✎
14:51
|
curl --location --request POST 'https://pay.raif.ru/api/payment/v1/orders'
--header 'Content-Type: application/json' --header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGA70fqo67VbnDFlc2QMR5soXB8vkvTY' --data-raw '{ "id": "26809abe-bf2f-4586-8190-ec5c2a3994ef", "amount": 74.20, "comment": "", "extra": { "apiClient": "curl", "apiClientVersion": "7.45.0.0" }, "expirationDate": "2023-03-10T13:48:59+03:00", "qr": { "id": "BS1R0058AU1J4OF391UBQ97TG6RR7I83", "additionalInfo" : "Касса № 1", "paymentDetails": ""}}' одинарные ковычки имеют значения |
|||
54
kupec
10.03.23
✎
14:58
|
С одинарными кавычками в консоли не работает
|
|||
55
arsik
гуру
10.03.23
✎
14:58
|
(53) Не. Из командной строки так не работает. Из повершела нормально такая конструкция работает.
|
|||
56
arsik
гуру
10.03.23
✎
15:02
|
(52) id поменяй.
string [ 1 .. 40 ] characters ^[A-z0-9-_.] Уникальный идентификатор заказа. Рекомендуется использовать формат, не допускающий возможность перебора, например, UUID v4 Если параметр не передан, то идентификатор присвоится заказу автоматически |
|||
57
kupec
10.03.23
✎
15:05
|
curl --location --request POST 'https://pay.raif.ru/api/payment/v1/orders' \
--header 'Content-Type: application/json' \ --header 'Authorization: Bearer eyJ0eXAiGFlOTJjMDIifQ.HYFve3_iA4_sdA70fqo67VbnDFlc2QMR5soXB8vkvTY' \ --data-raw '{ "id": "57631f56-b8d6-4163-b8c6-ab0e64055081", "amount": 74, "comment": "Оплата покупки ООО Купец Магазин Вокзал Касса 1", "extra": { "apiClient": "curl", "apiClientVersion": "7.88.1.0" }, "qr" : { "id": "BS1R0058AU1J4OF391UBQ97TG6RR7I83", "additionalInfo": "Касса 1, paymentDetails: Оплата покупки ООО Купец Магазин Вокзал Касса 1" } }' |
|||
58
kupec
10.03.23
✎
15:06
|
Вот что мне прислали, сказали рабочий, я только ключ авторизации укоротил, как мне эту херь запустить в CMD, я уже весь мозг сломал, еще там говорят, что кодировку надо UTF8, совсем меня сломать решили
|
|||
59
kupec
10.03.23
✎
15:08
|
(56) это все раньше работало, механизм остался, так что все там нормально, а вот после их обновления все пошло по одному месту
|
|||
60
kupec
10.03.23
✎
15:14
|
в общем вот что я сделал, сохранил файл в UTF8 и отправил его через curl
Вроде заработало, буду значит формировать файл и отправлять его |
|||
61
kupec
10.03.23
✎
15:39
|
а есть какой то механизм, сохранения набор текстовых дынных в UTF из 1с 7.7?
|
|||
62
arsik
гуру
10.03.23
✎
16:32
|
||||
63
Грю
10.03.23
✎
22:11
|
(58) Это в Линуксном формате. Запуская из WSL, будет работать. Либо переведи в Виндовсный формат вот так:
curl --location --request POST "https://pay.raif.ru/api/payment/v1/orders" ^ --header "Content-Type: application/json" ^ --header "Authorization: Bearer eyJ0eXAiGFlOTJjMDIifQ.HYFve3_iA4_sdA70fqo67VbnDFlc2QMR5soXB8vkvTY" ^ --data-raw ^"^{ ^ ^\^"id^\^": ^\^"57631f56-b8d6-4163-b8c6-ab0e64055081^\^", ^ ^\^"amount^\^": 74, ^ ^\^"comment^\^": ^\^"Оплата покупки ООО Купец Магазин Вокзал Касса 1^\^", ^ ^\^"extra^\^": ^{ ^ ^\^"apiClient^\^": ^\^"curl^\^", ^ ^\^"apiClientVersion^\^": ^\^"7.88.1.0^\^" ^ ^}, ^ ^\^"qr^\^" : ^{ ^ ^\^"id^\^": ^\^"BS1R0058AU1J4OF391UBQ97TG6RR7I83^\^", ^ ^\^"additionalInfo^\^": ^\^"Касса 1, paymentDetails: Оплата покупки ООО Купец Магазин Вокзал Касса 1^\^" ^ ^} ^ ^}^" |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |