Перейти к содержанию

Blockchain API - Callback


killik_23

Рекомендуемые сообщения

Добрый день!
Пожалуйста подскажите, суть в следующем. Имеется 2 таблицы - в первую пишется для истории транзакций, во-второй обновляется `balance` для вывода баланса пользователя, но когда callback срабатывает, он пишет только в одну таблицу и не хочет добавлять во-вторую. Как реализовать такой механизм? Спасибо!

Callback:

 

if($_GET['confirmations'] >= 0)
	{
		$transaction_hash = $_GET['transaction_hash'];
		$value_in_btc = $_GET['value'] / 100000000;
		$user = $_GET['user'];
		$date = date("YmdHis");
		$destination_address = $_GET['destination_address'];
		$stmt = $db->prepare("replace INTO invoice_payments (login, destination_address, transaction_hash, value, date) values(?, ?, ?, ?, ?)");
		$stmt->bind_param("sssds", $user, $destination_address, $transaction_hash, $value_in_btc, $date);
		$result = $stmt->execute();
		
		//Add balance to the database
		$stmt = $db->prepare("UPDATE users SET balance = balance + ? WHERE login = ?");
		$stmt->bind_param("ds", $value_in_btc, $user);
		$result = $stmt->execute();

		if($result) {
			echo "*ok*";
		}
	}

Изменено пользователем killik_23
Ссылка на комментарий
Поделиться на другие сайты

UPDATE users SET balance = pm_balance + ? WHERE login = ?

 

может быть здесь должно быть так?

 

UPDATE users SET balance = balance + ? WHERE login = ?

Ссылка на комментарий
Поделиться на другие сайты

Извиняюсь, это опечатка, у меня так же, как Вы написали. 

UPDATE users SET balance = balance + ? WHERE login = ?
Ссылка на комментарий
Поделиться на другие сайты

А что говорят логи? и вывод ошибок?

 

он пишет только в одну таблицу и не хочет добавлять во-вторую. 

 

Надо подробней в какую пишет в какую нет

Ссылка на комментарий
Поделиться на другие сайты

@4_tochka,

ооооооооо

а что с мегапроектом продажи битмайна за бесценок????????

Ссылка на комментарий
Поделиться на другие сайты

За бесценок вроде никто никогда не продавал, видимо ты что то путаеш. Если ты про проект связанный с тем чтобы битмайн продавал без китайского НДС в Россию, то все обещания Шарифа из битмайна по этому поводу оказались пустыми.

Ссылка на комментарий
Поделиться на другие сайты

А что говорят логи? и вывод ошибок?

 

он пишет только в одну таблицу и не хочет добавлять во-вторую. 

 

Надо подробней в какую пишет в какую нет

 

В логах чисто.

Проверил вот так работает (ниже код), обновляет баланс пользователя. Но не записывает в таблицу `invoice_payments`.

А он вообще должен же возвращать помимо $_GET['value'], $_GET['transaction_hash'] адрес с которого получено и куда отправлено - $_GET['destination_address'], $_GET['input_address'] ?

 

 

if($_GET['confirmations'] >= 0)
	{
		$transaction_hash = $_GET['transaction_hash'];
		$value_in_btc = $_GET['value'] / 100000000;
		$destination_address = $_GET['destination_address'];
		$input_address = $_GET['input_address'];
		$user = $_GET['user']; 
		$date = time();

		//Add the invoice to the database
		$stmt = $db->prepare("UPDATE users SET balance = balance + ? WHERE login = ?");
		$stmt->bind_param("ds", $value_in_btc, $user);
		$result = $stmt->execute();
		
		$stmt = $db->prepare("replace INTO invoice_payments (login, destination_address, input_address, transaction_hash, value, date) values(?, ?, ?, ?, ?, ?)");
		$stmt->bind_param("ssssds", $user, $destination_address, $input_address, $transaction_hash, $value_in_btc, $date);
		$result = $stmt->execute();

		if($result) {
			echo "*ok*";
		}
	}
Ссылка на комментарий
Поделиться на другие сайты

Выведи в логи, ну или просто в локальный файл данные переменных перед вызовом статмента replace into

Выведи значение переменной result

 

Этим ты сможешь определить что ты подал на вход и что получил на выходе.

 

Так же я точно не незнаю как работает коллбэк в blockchain.info, но если он вызывается не 1 раз а каждое подтверждение до заданного количества, тогда  у тебя баланс пользователя столько же раз просуммируется исходя из твоего кода.

 

Если решишь использовать не blockchain.info а  наше АПИ (bitaps.com/api)  для приема платежей, мы тебе напишем обработчик коллбэка :)

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Similar Topics

    • Разработка индикаторов/стратегий/ботов на PineScript (Trading View) / Python по вашему ТЗ + работа с API любой биржи

      Привет! Хотите реализовать собственную торговую стратегию/индикатор/сделать личного торгового бота или нечто большее, чем просто стратегия?   Я специализируюсь на разработке и написании кода для трейдеров. Начинал как трейдер разрабатывать некоторые уникальные решения для себя, на текущий момент решаю задачи клиентов, тк имею свободное время и желание на это.    Если имеется интерес к данному предложению, напишите в личку здесь или в тг @andreyrzq. Прямая кликабельная ссылка:

      в Софт для трейдинга

    • отправка запросов к API Poloniex

      Друзья, всем привет. Кто делал себе бота для биржи? Решил написать себе бота на delphi. Уже больше суток мучаюсь с этим делом. Вот кусок кода:   nonce := FormatDateTime('yyyymmddhhnnsszzz',now);   post := TStringStream.Create;   post.WriteString('command=returnBalances&nonce='+ nonce);   sign:=SHA512DigestToHex(CalcHMAC_SHA512(Secret,post.DataString));   IdHttp1.Request.CustomHeaders.FoldLines := false;   idhttp1.Request.CustomHeaders.Values['Key']:=API-Key;   idhttp1.Request.CustomH

      в Разработка

    • Как восстановить доступ к кошельку blockchain.com, используя сид-фразу в Electrum?

      0. На случай, если вы не знаете, с чего начать, т.е. как раздобыть сид-фразу (=мнемоническая фраза, =12 слов), опишу это. Заходим в кошелек на https://blockchain.com: а) в браузерной версии на ПК эти слова в разделе «Security center», справа вверху (он же «Центр безопасности» в русском варианте), нажимаем «Фраза для восстановления доступа» (по английски Backup Phrase); б) в мобильном браузере раздел «Security center» выглядит как значок щита, в правом верхнем углу; в) наконец, в мобильном

      в Кошельки для криптовалют

    • Моргенштерн презентует KAİFcoin на премии Blockchain Awards 26 октября

      Церемония награждения лидеров и лучших проектов индустрии блокчейна и криптовалют Blockchain awards состоится в Москве 26 октября. В связи с введением в Москве режима нерабочих дней Blockchain awards 2021 состоится 26 октября в банкетно-ресторанном комплексе Soho Rooms, а не 27 октября, как планировалось ранее. Программа премии остается без изменений:   Гала-ужин;   Вручение наград Blockchain awards 2021;     Подробнее: https://bits.media/morgenshtern-prezentuet-ka-fcoi

      в Мероприятия

    • Blockchain Association просит Конгресс США отклонить законопроект о крипторегулировании

      Некоммерческая правозащитная группа Blockchain Association, представляющая интересы участников криптоиндустрии Соединенных Штатов, обратилась к Конгрессу с официальным письмом, Общественники просят не принимать законопроект сенатора Элизабет Уоррен (Elizabeth Warren) о борьбе с отмыванием денег с помощью цифровых активов..   «Мы обращаемся к Конгрессу как группа опытных руководителей в области национальной безопасности, практиков и бывших военнослужащих, каждый из которых имеет богат

      в Новости криптовалют

×
×
  • Создать...