Помогите с qiwi api

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 481
Баллы
113
тем мало по qiwi по api еще меньше
может кто знает, как с одного акка перевести деньги на другой акк через апи?
читаю документацию, че-то прям никак...
как вот глянуть через гет апи баланс акка например, не могу составить гет запрос

спасибо
 

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 481
Баллы
113

GREXA

Client
Регистрация
16.09.2017
Сообщения
276
Благодарностей
103
Баллы
43
тоже сейчас ломаю голову над этом ! Ты так и не нашёл ответ?
 

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 481
Баллы
113

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
баланс киви кошелька

GET /funding-sources/v2/persons/79115221133/accounts HTTP/1.1
Accept: application/json
Authorization: Bearer YUu2qw048gtdsvlk3iu
Host: edge.qiwi.com

какой json в теле ?
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
там надо получить просто токен для номера с которого делаешь запрос, и подставляешь свой вместо этого
Authorization: Bearer YUu2qw048gtdsvlk3iu
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
пля я чёт в голову себе вбил получить баланс, косяк мой
но и тут же опять
ну и что что json, в чём трудности ?
 

Hartwell

Client
Регистрация
25.09.2014
Сообщения
194
Благодарностей
118
Баллы
43
Получение токена https://qiwi.com/api на 180 суток, выставляем права нужные.

Полученный токен добавляем в header запросов
Authorization: Bearer {token}

Получение баланса:
GET запрпос
HTML:
Request<<<

GET /funding-sources/v1/accounts/current HTTP/1.1
Host: edge.qiwi.com
Accept: application/json
Authorization: Bearer c0eacea797509e3a77fc9d6d11c04931

Успешный ответ
HTML:
Response<<<

HTTP/1.1 200 OK
Server: nginx
Content-Type: application/json;charset=utf-8
Content-Length: 440
Connection: keep-alive
Vary: Accept-Encoding

{
    "accounts": [
        {
            "alias": "qw_wallet_rub",
            "fsAlias": "qb_wallet",
            "bankAlias": "QIWI",
            "title": "WALLET",
            "type": {
                "id": "WALLET",
                "title": "Visa QIWI Wallet"
            },
            "hasBalance": true,
            "balance": {
                "amount": 0.00,
                "currency": 643
            },
            "currency": 643,
            "defaultAccount": true
        },
        {
            "alias": "mc_tele2_rub",
            "fsAlias": "qb_mc_tele2",
            "bankAlias": "QIWI",
            "title": "MC",
            "type": {
                "id": "MC",
                "title": "Mobile Wallet"
            },
            "hasBalance": false,
            "balance": null,
            "currency": 643,
            "defaultAccount": false
        }
    ]
}


Перевод средств (на qiwi)

POST запрос
HTML:
Request<<<


POST https://edge.qiwi.com/sinap/api/v2/terms/99/payments HTTP/1.1
Host: edge.qiwi.com
Accept: application/json
Content-Type: application/json
Authorization: Bearer c0eacea797509e3a77fc9d6d11c04931
Content-Length: 187

{
    "id": "1545356283000",
    "sum": {
        "amount": 40,
        "currency": "643"
    },
    "paymentMethod": {
        "type": "Account",
        "accountId": "643"
    },
    "fields": {
        "account": "+79103332211"
    }
}
Ответ на успешный перевод
HTML:
Response<<<

{
    "id": "1545356283000",
    "terms": "99",
    "fields": {
        "account": "+7*********"
    },
    "sum": {
        "amount": 40,
        "currency": "643"
    },
    "transaction": {
        "id": "14526678180",
        "state": {
            "code": "Accepted"
        }
    },
    "source": "account_643"
}

Где в теле запроса параметр "id": "1545356283000" уникальный ID для каждой транзакции (произвольный). Рекомендуют брать 1000*(Standard Unix time в секундах)
Можно просто рандом строчку до 20 символов из цифр генерировать перед каждым запросом, или добавлять инкремент +1 и будет ок.
Сумма в рублях "amount": 40, копейки если нужны, разделяем точкой "amount": 40.12"

Номер куда отправляем "account": "+79103332211"


Пример json запроса с указанием комментария
HTML:
POST Data <<<

{
    "id": "{% now 'unix', '' %}000",
    "sum": {
        "amount": 2200,
        "currency": "643"
        },
        "paymentMethod": {
          "type":"Account",
          "accountId":"643"
        },
        "comment":"61504419",
        "fields": {
          "account":"+79103212233"
        }
      }

з.ы. есть отличия от актуальной офф api документации, но тем не менее все работает пока что отлично.
 
  • Спасибо
Реакции: southside и Yuriy Zymlex

4agaga

Client
Регистрация
27.07.2018
Сообщения
12
Благодарностей
2
Баллы
3
Ребят а можете рабочий пример скинуть кубиков, 2й день мучаюсь с пополнением баланса номеров, только еще больше запутался
буду крайне признателен
 

Hartwell

Client
Регистрация
25.09.2014
Сообщения
194
Благодарностей
118
Баллы
43
Ребят а можете рабочий пример скинуть кубиков, 2й день мучаюсь с пополнением баланса номеров, только еще больше запутался
буду крайне признателен
Примерно тип того, остальное в документации киви смотри, там все подробно расписано

2019-03-27_1b3b2e750c4c5698.png
 

Вложения

4agaga

Client
Регистрация
27.07.2018
Сообщения
12
Благодарностей
2
Баллы
3

4agaga

Client
Регистрация
27.07.2018
Сообщения
12
Благодарностей
2
Баллы
3
вообще все одинаковое только в URL надо id оператора поставить и номер телефона в другом формате указать (на который пополняешь) и все шаблон работает. Огромное спасибо! Крайне признателен за помощь, + 500 к карме )
 
  • Спасибо
Реакции: avtostopshik

Hartwell

Client
Регистрация
25.09.2014
Сообщения
194
Благодарностей
118
Баллы
43
вообще все одинаковое только в URL надо id оператора поставить и номер телефона в другом формате указать (на который пополняешь) и все шаблон работает. Огромное спасибо! Крайне признателен за помощь, + 500 к карме )
ну я на память сделал)) там уже давно версия 2 или 3 api)) советую обновить на всякий
Всегда пжлста)
 
  • Спасибо
Реакции: booms1

booms1

Client
Регистрация
20.08.2019
Сообщения
136
Благодарностей
18
Баллы
18
Может кто помочь с запросом на определение ИД телефона?
55489

Так сделал я

5549055491
 

Hartwell

Client
Регистрация
25.09.2014
Сообщения
194
Благодарностей
118
Баллы
43
Может кто помочь с запросом на определение ИД телефона?

Так сделал я

А внимательнее прочесть апи киви??
1) Предварительная проверка мобильного номера выполняется POST-запросом:
Не видно что у тебя, судя по наличию поля "данные" вроде пост как и надо

2) Тип данных на первой вкладке под "Данные" указывается, зачем ты добавил в User-Agent еще одно поле Content-type (кстате оно и нужно тебе), а утебя ванханалия на выходе два типа данных в заголовок, и собственно это не катит, хедер не может иметь два одинаковых ключа с разными значениями...

Заголовки запроса:
  • Accept: application/json
  • Content-Type: application/x-www-form-urlencoded
Кароче в первой вкладке где тип данных вставь просто "application/x-www-form-urlencoded" и выключи на второй вкладке персональные заголовки.. все равно ты их еще не правильно используешь если что.. читай документацию, там написано по поводу первой строки и последней если нужно добавить кастомный заголовок в кубике.

3) запрос в доке идет номер в международном виде с url encode символов
это не json массив как у тебя!

просто удали все и в данные добавь
"phone=%2B79651238341"
без скобок естественно.
хз нужен плюс или нет в номере, %2B это + в urlencode

ну кароче просто
phone=%2B{Varible.PhoneNumber}
 
  • Спасибо
Реакции: booms1

JohnLocke

Новичок
Регистрация
24.06.2020
Сообщения
2
Благодарностей
0
Баллы
1
Здравствуйте. Осваиваю qiwi api. Но в моём C++ подобном языке нельзя использовать библиотеки, я могу только прописывать ссылку целиком и потом отправлять в запросе
Я могу только так в переменной string передать
https://edge.qiwi.com/person-profile/v1/profile/current?authInfoEnabled=false
И вот как здесь прикрутить Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
чтобы это выглядело как единая ссылка
 

Hartwell

Client
Регистрация
25.09.2014
Сообщения
194
Благодарностей
118
Баллы
43
Здравствуйте. Осваиваю qiwi api. Но в моём C++ подобном языке нельзя использовать библиотеки, я могу только прописывать ссылку целиком и потом отправлять в запросе
Я могу только так в переменной string передать
https://edge.qiwi.com/person-profile/v1/profile/current?authInfoEnabled=false
И вот как здесь прикрутить Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
чтобы это выглядело как единая ссылка
Что простите? Добавить значение в header запроса, это выполнимо везде.... будь то curl -X POST -H "My header: Value", будь то dev/tcp
dev/tcp:
exec 3<>/dev/tcp/www.google.com/80
    echo -e "GET / HTTP/1.1\r\nhost: http://www.google.com\r\nConnection:     close\r\n\r\n" >&3
    cat <&3
Ну конечно же проще будет инкапуслировать заголовки на уровне сетевого оборудования (и то далеко не все могут)? Но пускай как вариант для мазахистов будет.

Всегда же есть простое решение : https://developer.qiwi.com/sandbox/index.html

з.ы. если только Basic тип, то просто подстановка в uri после схемы http://username:[email protected]
Вррде раньше было Basic там, но Bearer так не выйдет
 

JohnLocke

Новичок
Регистрация
24.06.2020
Сообщения
2
Благодарностей
0
Баллы
1
Я ещё не очень хорошо разбираюсь в API. Мне надо чтобы всё было вместе если возможно, примерно
https://edge.qiwi.com/person-profile/v1/profile/current?authInfoEnabled=false/Authorization Bearer 5c4b25xx93aa435d9cb8cd17480356f9

Скорее тут получается надо добавить header в ссылку
 

_HEDELKA_

Client
Регистрация
20.02.2022
Сообщения
648
Благодарностей
170
Баллы
43
Подскажите пожалуйста, может кто знает как выставить счет на оплату?
 

_HEDELKA_

Client
Регистрация
20.02.2022
Сообщения
648
Благодарностей
170
Баллы
43

4agaga

Client
Регистрация
27.07.2018
Сообщения
12
Благодарностей
2
Баллы
3
Всем привет, так как qiwi думаю больше не восстановит свое апи, есть ли какая то альтернатива?
Задача та же, пополнение большого количества балансов на мобильные номера
Буду крайне признателен за любую помощь в решении задачи
 

Hartwell

Client
Регистрация
25.09.2014
Сообщения
194
Благодарностей
118
Баллы
43
Посмотреть вложение 97635Посмотреть вложение 97636
Пробовал разное.
Подскажите как выставить + проверить оплатили или нет
используя токен p2p

или вариант предзаполненной формы https://developer.qiwi.com/ru/qiwi-wallet-personal/#autocomplete
там просто создаешь url с суммой и заполненным номером получателя которую оплатить можно через авторизацию по вебу в кошельке (не api)
 

anton_fly7

Новичок
Регистрация
16.10.2023
Сообщения
1
Благодарностей
0
Баллы
1
Всем привет, так как qiwi думаю больше не восстановит свое апи, есть ли какая то альтернатива?
Задача та же, пополнение большого количества балансов на мобильные номера
Буду крайне признателен за любую помощь в решении задачи
могу массово пополнять любое количество мобилок. напиши мне в телегу если актуально https://t.me/anton_fly7
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)