Форум сайта python.su
Пытаюсь отправить апи запрос, но получаю ошибку 1002. С запросами раньше не работал, опыта в этом нет.
Посмотрите, пожалуйста, может, делаю что не так…
Вот документация, откуда взял данные для запроса.
https://docs.google.com/document/d/198d8Zbb7cgx-vAXAhNn_Oyhqc-fG1UXe4W0G-aQJzkE/edit#
import requests data = { "order": { "server_callback_url": "http://site.id/callback", "currency": "UAH", "amount": "1400", "order_type": "settlement", "response_url": "http://site.id/test/responsepage/", "order_id": "test1234561467462099.19", "operation_id": "test1234561467462099.19", "order_desc": "test order", "merchant_id": 700001, "receiver": [ { "requisites": { "amount": 100, "merchant_id": 500001 }, "type": "merchant" },{ "requisites": { "amount": 200, "merchant_id": 600001 }, "type": "merchant" }, ] } } headers = {'Content-type': 'application/json', 'Accept': 'text/plain'} response = requests.post('https://api.fondy.eu/api/settlement', data=data, headers=headers)
Офлайн
ну вы в заголовках указываете тип данных как json, а отправляете обычную форму. Насколкьо помню для requests нужно не data= указывать а json= . Попробуйте
Офлайн
JOHN_16заменил data=, на json= - получаю ошибку, мол параметр не передан. Хотя он передаётся…
ну вы в заголовках указываете тип данных как json, а отправляете обычную форму. Насколкьо помню для requests нужно не data= указывать а json= . Попробуйте
Отредактировано m0nte-cr1st0 (Май 16, 2019 09:55:07)
Офлайн
m0nte-cr1st0
Или я чего-то не понимаю, или в документации написано
Формат запроса
{
“request”: {
“version”: 2.0,
“data”: “ewogIm9yZGVyIjogewogICAic2VydmVyX2NhbGxiYWNrX3VybCI6ICJodHRwOi8vc2l0ZS5jb20vY2FsbGJhY2siLAogICAicmVjdG9rZW4iOiAiOTg5YmI5MzRiZTZiMWEwYjRmZDc1YzU5YWRhZTczOTRlNTZmNGM2MCIsIC8vINC00LvRjyDQodGF0LXQvNCwIDIuINCf0L7RgdGA0LXQtNGB0YLQstC+0Lwg0YLQvtC60LXQvdCwCiAgICJjdXJyZW5jeSI6ICJVQUgiLAogICAiYW1vdW50IjogIjE0MDAiLAogICAib3JkZXJfdHlwZSI6ICJzZXR0bGVtZW50IiwKICAgInJlc3BvbnNlX3VybCI6ICJodHRwOi8vc2l0ZS5jb20vdGVzdC9yZXNwb25zZXBhZ2UvIiwKICAgIm9yZGVyX2lkIjogInRlc3QxMjM0NTYxNDY3NDYyMDk5LjE5IiwKICAgIm9wZXJhdGlvbl9pZCI6ICJ0ZXN0MTIzNDU2MTQ2NzQ2MjA5OS4xOSIsCiAgICJvcmRlcl9kZXNjIjogInRlc3Qgb3JkZXIiLAogICAibWVyY2hhbnRfaWQiOiA3MDAwMDEsCiAgICJyZWNlaXZlciI6IFsKICAgICB7CiAgICAgICAicmVxdWlzaXRlcyI6IHsKICAgICAgICAgImFtb3VudCI6IDEwMCwKICAgICAgICAgInNldHRsZW1lbnRfZGVzY3JpcHRpb24iOiAi0J3QsNC30L3QsNGH0LXQvdC40LUg0L/Qu9Cw0YLQtdC20LAg0LTQu9GPINCx0LDQvdC60L7QstGB0LrQvtCz0L4g0L/QtdGA0LXQstC+0LTQsCIsCiAgICAgICAgICJtZXJjaGFudF9pZCI6IDUwMDAwMQogICAgICAgfSwKICAgICAgICJ0eXBlIjogIm1lcmNoYW50IgogICAgIH0sewogICAgICAgInJlcXVpc2l0ZXMiOiB7CiAgICAgICAgICJhbW91bnQiOiAyMDAsCiAgICAgICAgICJzZXR0bGVtZW50X2Rlc2NyaXB0aW9uIjogItCd0LDQt9C90LDRh9C10L3QuNC1INC/0LvQsNGC0LXQttCwINC00LvRjyDQsdCw0L3QutC+0LLRgdC60L7Qs9C+INC/0LXRgNC10LLQvtC00LAiLAogICAgICAgICAibWVyY2hhbnRfaWQiOiA2MDAwMDEKICAgICAgIH0sCiAgICAgICAidHlwZSI6ICJtZXJjaGFudCIKICAgICB9LAogICAgIHsKICAgICAgICJyZXF1aXNpdGVzIjogewogICAgICAgICAiYW1vdW50IjogMTAwLAogICAgICAgICAic2V0dGxlbWVudF9kZXNjcmlwdGlvbiI6ICLQndCw0LfQvdCw0YfQtdC90LjQtSDQv9C70LDRgtC10LbQsCDQtNC70Y8g0LHQsNC90LrQvtCy0YHQutC+0LPQviDQv9C10YDQtdCy0L7QtNCwIiwKICAgICAgICAgImFjY291bnQiOiAxMjM0NTY3ODksCiAgICAgICAgICJtZm8iOiAxMjM0NSwKICAgICAgICAgIm9rcG8iOiAxMjM0NTY3ODksCiAgICAgICAgICJqdXJfbmFtZSI6ICLQntCe0J4g0KDQvtC80LDRiNC60LAiCiAgICAgICB9LAogICAgICAgInR5cGUiOiAiYmFua19hY2NvdW50IgogICAgIH0sCiAgICAgewogICAgICAgInJlcXVpc2l0ZXMiOiB7CiAgICAgICAgICJyZWN0b2tlbiI6ICJkYTgyMDM1YmMxM2M3OGYyZWI3NGRmN2NhZjgxZGVjYzM2MDEwNjFjIiwKICAgICAgICAgImFtb3VudCI6IDUwMAogICAgICAgfSwKICAgICAgICJ0eXBlIjogInJlY3Rva2VuIgogICAgIH0sCiAgICAgewogICAgICAgInJlcXVpc2l0ZXMiOiB7CiAgICAgICAgICJhbW91bnQiOiA1MDAsCiAgICAgICAgICJjYXJkX251bWJlciI6IDQ0NDQ1NTU1MTExMTY2NjYKICAgICAgIH0sCiAgICAgICAidHlwZSI6ICJjYXJkIgogICAgIH0KICAgXQogfQp9Cg==”,
“signature”: “943571471619207087eb57e2b4ef69affd337b1a”
}
}
data - это base64 кодированный набор данных формата:
{
“order”: {
“server_callback_url”: "http://site.com/callback“,
”rectoken“: ”989bb934be6b1a0b4fd75c59adae7394e56f4c60“, // для Схема 2. Посредством токена
”currency“: ”UAH“,
”amount“: ”1400“,
”order_type“: ”settlement“,
”response_url“: ”http://site.com/test/responsepage/“,
”order_id“: ”test1234561467462099.19“,
”operation_id“: ”test1234561467462099.19“,
”order_desc“: ”test order“,
”merchant_id“: 700001,
”receiver“: [
{
”requisites“: {
”amount“: 100,
”settlement_description“: ”Назначение платежа для банковского перевода“,
”merchant_id“: 500001
},
”type“: ”merchant“
},{
”requisites“: {
”amount“: 200,
”settlement_description“: ”Назначение платежа для банковского перевода“,
”merchant_id“: 600001
},
”type“: ”merchant“
},
{
”requisites“: {
”amount“: 100,
”settlement_description“: ”Назначение платежа для банковского перевода“,
”account“: 123456789,
”mfo“: 12345,
”okpo“: 123456789,
”jur_name“: ”ООО Ромашка“
},
”type“: ”bank_account“
},
{
”requisites“: {
”rectoken“: ”da82035bc13c78f2eb74df7caf81decc3601061c“,
”amount“: 500
},
”type“: ”rectoken“
},
{
”requisites“: {
”amount“: 500,
”card_number“: 4444555511116666
},
”type“: ”card"
}
]
}
}
Формат запроса
{
“request”: {
“version”: 2.0,
“data”:
Офлайн
FishHookНевнимательность - моё второе имя. Спасибо.
m0nte-cr1st0Или я чего-то не понимаю, или в документации написано
Офлайн