Помогите с qiwi api

  • Автор темы Автор темы backoff
  • Дата начала Дата начала

backoff

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

спасибо
 
тоже сейчас ломаю голову над этом ! Ты так и не нашёл ответ?
 
баланс киви кошелька

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

какой json в теле ?
 
там надо получить просто токен для номера с которого делаешь запрос, и подставляешь свой вместо этого
Authorization: Bearer YUu2qw048gtdsvlk3iu
 
пля я чёт в голову себе вбил получить баланс, косяк мой
но и тут же опять
ну и что что json, в чём трудности ?
 
Получение токена 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 и ZX
Ребят а можете рабочий пример скинуть кубиков, 2й день мучаюсь с пополнением баланса номеров, только еще больше запутался
буду крайне признателен
 
Ребят а можете рабочий пример скинуть кубиков, 2й день мучаюсь с пополнением баланса номеров, только еще больше запутался
буду крайне признателен

Примерно тип того, остальное в документации киви смотри, там все подробно расписано

2019-03-27_1b3b2e750c4c5698.png
 

Вложения

вообще все одинаковое только в URL надо id оператора поставить и номер телефона в другом формате указать (на который пополняешь) и все шаблон работает. Огромное спасибо! Крайне признателен за помощь, + 500 к карме )
 
  • Оценить
Реакции: avtostopshik
вообще все одинаковое только в URL надо id оператора поставить и номер телефона в другом формате указать (на который пополняешь) и все шаблон работает. Огромное спасибо! Крайне признателен за помощь, + 500 к карме )
ну я на память сделал)) там уже давно версия 2 или 3 api)) советую обновить на всякий
Всегда пжлста)
 
  • Оценить
Реакции: booms1
Может кто помочь с запросом на определение ИД телефона?
55489

Так сделал я

5549055491
 
Может кто помочь с запросом на определение ИД телефона?

Так сделал я


А внимательнее прочесть апи киви??
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
Здравствуйте. Осваиваю qiwi api. Но в моём C++ подобном языке нельзя использовать библиотеки, я могу только прописывать ссылку целиком и потом отправлять в запросе
Я могу только так в переменной string передать
https://edge.qiwi.com/person-profile/v1/profile/current?authInfoEnabled=false
И вот как здесь прикрутить Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
чтобы это выглядело как единая ссылка
 
Здравствуйте. Осваиваю 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:password@host.com
Вррде раньше было Basic там, но Bearer так не выйдет
 
Я ещё не очень хорошо разбираюсь в API. Мне надо чтобы всё было вместе если возможно, примерно
https://edge.qiwi.com/person-profile/v1/profile/current?authInfoEnabled=false/Authorization Bearer 5c4b25xx93aa435d9cb8cd17480356f9

Скорее тут получается надо добавить header в ссылку
 
Подскажите пожалуйста, может кто знает как выставить счет на оплату?
 
Всем привет, так как qiwi думаю больше не восстановит свое апи, есть ли какая то альтернатива?
Задача та же, пополнение большого количества балансов на мобильные номера
Буду крайне признателен за любую помощь в решении задачи
 
Посмотреть вложение 97635Посмотреть вложение 97636
Пробовал разное.
Подскажите как выставить + проверить оплатили или нет
используя токен p2p

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

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