Загрузка...

Как генерировать ID для транзакций ****.

Тема в разделе Backend создана пользователем palmdev 23 июн 2019. 560 просмотров

Загрузка...
  1. palmdev
    palmdev Автор темы 23 июн 2019 разрабатываю всё - lolz.live/threads/6696879/
    Ку, кароче. Дело такое, что когда я, используя библиотеку **** API, ввожу данные от кошелька (токен в том числе), и перевожу деньги на другой кошель. Первый перевод проходит успешно, остальные тоже успешно (пишет так), но бабки не уходят.
    В документации написано, что надо умножать UNIX время на 1000 (скрин 1). Делаю так, но номера транзакций не совпадают в ответе с сервера ****. Если я повторно создам запрос, но в коде укажу ID от прошлого запроса, то транзакция проходит (ID сходятся = подтверждается платеж)

    [IMG]
    Код

    $sendMoney = $qw->sendMoneyToQiwi([
    'id' => time().'* 1000',
    'sum' => [
    'amount' => 2,
    'currency' => '643'
    ],
    'paymentMethod' => [
    'type' => 'Account',
    'accountId' => '643'
    ],
    'comment' => 'bd',
    'fields' => [
    'account' => '+79111111111'
    ]
    ]);
    Вопрос таков, как заставить ID сходиться в одном запросе? Пару часов назад расшифровал ID транзакции в UNIX, уже сам не помню как, но получилось так, что на сервере время на 3 часа отстает от времени на моем сервере, и ID получаются разные. Может в этом дело?
     
  2. CYBEER_inactive192423
    CYBEER_inactive192423 23 июн 2019 ♡ Лучший обменник zelenka.guru/threads/663277 0 14 окт 2017
    palmdev, Вечером если приеду домой и не забуду - постараюсь найти свой исходник, сам долго ебался с этим, но смог запилить idшники
     
  3. palmdev
    palmdev Автор темы 23 июн 2019 разрабатываю всё - lolz.live/threads/6696879/
    Я думал я один такой, кто не может воткнуть, как это работает. Видимо **** хуево документации делают :pepecry:
     
  4. palmdev
    palmdev Автор темы 24 июн 2019 разрабатываю всё - lolz.live/threads/6696879/
    Проблема еще актуальна
     
  5. unlworld
    unlworld 30 июн 2019 Web Developer 57 28 мар 2018
    Как минимум тебя не смущает что ты не умножаешь на 1000?
    'id' => time().'* 1000',
    time() умножается на строку '* 1000'
    Или я что то не так понял?)
     
  6. unlworld
    unlworld 30 июн 2019 Web Developer 57 28 мар 2018
    Если ты хочешь что бы time() умножился на 1000 2 строка должна выглядеть так:
    'id' => time() * 1000,
    Если у тебя какие то ошибки то давай их сюда
     
  7. LOLKA_EOT
    LOLKA_EOT 5 июл 2019 Заблокирован(а) 15 11 июн 2018
    Ля, да изи же. Они в мануале сами накосячили. Этот id олжен быть уникальным. Просто умножай unix на рандомное число и все будет норм
     
  8. LOLKA_EOT
    LOLKA_EOT 5 июл 2019 Заблокирован(а) 15 11 июн 2018
    А если отправить следующую транзакцию, менее чем через секунду, time() не изменится, и получается, что ты создаешь транзакцию с таим же id
     
  9. waydersoon_inactive
    Может у тебя на сервере стоит московское время (UTC +3), а на сервере **** UTC +0?
    Попробуй в самом начале кода это написать.
    Код

    date_default_timezone_set("UTC");
     
  10. Hess
    Hess 6 июл 2019 3741 29 янв 2017
    Там без разницы время, сгенерируй 16 значное число, и все
     
Top