Не работает QIWI API

Статус
В этой теме нельзя размещать новые ответы.

Q_BASIC

Хранитель порядка
Регистрация
30 Ноя 2013
Сообщения
516
Реакции
1.240
Приветствую,

Надо сделать массовое пополнение сим карт через киви. Есть апи: Для просмотра ссылки Войди или Зарегистрируйся

Класс: Для просмотра ссылки Войди или Зарегистрируйся
PHP:
<?php

define('DIR', __DIR__);

require DIR.'/request.php';
require DIR.'/functions.php';

$token = '';
$operator = '42'; // 42 is tele2

$lines = explode("\n", file_read(DIR.'/numbers.txt'));

foreach($lines as $line)
{
    $data = explode('-', $line);
 
    $data[0] = trim($data[0]);
    $data[1] = trim($data[1]);
 
    if(strlen($data[0]) > 10) $data[0] = substr($data[0], -10);
 
 
    $payment = array(
        'id' => 1000*time(),
        'sum' => array(
            'amount' => $data[1],
            'currency' => '643'
        ),
        'paymentMethod' => array(
            'type' => 'Account',
            'accountId' => 643,
        ),
        'fields' => array(
            'account' => $data[0]
        )
    );
 
    echo "Pay 7{$data[0]} - {$data[1]} RUB";
 
    $request = new request('https://edge.qiwi.com/sinap/api/v2/terms/'.$operator.'/payments');
    $request->set_header('Authorization', 'Bearer '.$token);
    $request->set_header('Accept', 'application/json');
    $request->payload($payment);
    $request->send();
 
    echo $request->dump();
}

В файле numbers.txt: номер - сумма

От киви приходит ошибка:
Cannot parse parameter termsId as Int: For input string: "payments". Как мне думается, это к параметру 42. Его я получил тут: Для просмотра ссылки Войди или Зарегистрируйся (На всех сим - tele2)

Что я не так делаю?
 
Последнее редактирование:
Похоже на банальную опечатку Значение "42" 2 раза передаешь -
PHP:
.$operator.'/42/payments'
 
По коду больше логических ошибок не заметно, так что добавляй прокси и смотри какие именно данные отправляются.
Иногда надо отключать проверку сертификата в курле, чтобы с проксёй работать.
Хорошие дев прокси: Fiddler2 (фри), Charles3 (есть на форуме)
 
По коду больше логических ошибок не заметно, так что добавляй прокси и смотри какие именно данные отправляются.
Иногда надо отключать проверку сертификата в курле, чтобы с проксёй работать.
Хорошие дев прокси: Fiddler2 (фри), Charles3 (есть на форуме)
Вся беда в том, что QIWI надо для некоторых данных тип string, хотя там числа всегда. В общем, разобрался)

Выложил людям: Для просмотра ссылки Войди или Зарегистрируйся
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху