Почему не работает Blockchain?

Доброго времени суток!

Прошу вас помочь с проблемой.
Суть: У меня на сайте есть модуль для приема оплаты в BTC... Кошелёк он генерирует, но транзакцию не добавляет, но деньги приходят на мой кошелек(это работает)

Почему он не добавляет транзакцию? Да и как в целом можно улучшить код?

UserController.php
<?php
namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use DB;
use Request;
use Cookie;

class UserController extends Controller
{
    public function main(){
        if(!Cookie::get('auth')){
            return redirect('/login');           
        }else{
            $id = strval(strip_tags((Cookie::get('auth'))));
            $users = DB::select('select * from `users` where id = ?',[$id]);
            if(count($users) > 0){
            $user = json_decode(json_encode($users[0]), true);
            if(count($user) > 0 and intval($user['activation']) == 0){
                $admins = DB::select('select * from `admin`');
                $admin = json_decode(json_encode($admins[0]), true);
                $sale = $this->fromTo(floatval($admin['sale']));
                if(!Cookie::get('address')){
                // Get contents
                $my_callback_url = urlencode('http://'.$_SERVER['HTTP_HOST'].'/payment_check/panin228?id='.$id);
                $root_url = "https://api.blockchain.info/v2/receive?xpub=xpub6D8hg1pk6Jsw2VahsQufyJU9fyuDwrjE36oewoga8pyMT12q91Qrz1cUoH2UkzwzwjHREqB9778QsZDiUs37LFVw86BTrMuDArS5D2T4Lok&callback=$my_callback_url&key=41676b0e-8fb5-4796-a914-63f6b4d11be6";
                $response = $this->getData($root_url) or die(print_r(error_get_last()));
                $wallet = json_decode($response, true);
                $message = (array_key_exists('message', $wallet)) ? true : false;
                if($message == false){
                    $address = strval($wallet['address']);
                    Cookie::queue('address', $address, 7);
                    return view('pages/active', ['address' => $address, 'sale' => $sale]);
                }else{
                    return $wallet['message'];
                }
                }else{
                    $address = Cookie::get('address');
                    return view('pages/active', ['address' => $address, 'sale' => $sale]);
                }
            }else{
                if(count($user) > 0){
                    return view('profile_main', ['title' => 'Private office', 'user' => $user]);
                }
            }
        }
        }
    }
    public function active_post(){
        if(!Cookie::get('auth')){
            return redirect('/login');
        }else{
            $id = strval(strip_tags((Cookie::get('auth'))));
            // Id
            $admins = DB::select('select * from `admin`');
            $admin = json_decode(json_encode($admins[0]), true);
            $sale = $this->fromTo(floatval($admin['sale']));
            // /Sale
            $trans = DB::select('select * from `payments` where secret = ?', [$id]);
            if(count($trans) > 0){
            $tran = json_decode($trans[0], true);
            $add = $tran['value'];
            $activate = DB::update('update `users` set balance = ? where id = ?', [$add, $id]);
            if(count($tran) > 0 && $activate){
            // Update balance
            $users = DB::select('select * from `users` where id = ?', [$id]);
            $user = json_decode(json_encode($users[0]), true);
            if(intval($user['activation']) == 1){
                return redirect('/profile');
            }else{
                $balance = floatval($user['balance']);
                if($balance >= $sale){
                    $activate = DB::update('update `users` set activation = 1 where id = ?', [$id]);
                    if($activate){
                        return redirect('/profile');
                    }
                }else{
                    exit('Платеж меньше нужно суммы...');
                }
            }
            }else{
                exit('Не удалось найти платеж...');
            }
            }else{
                exit('Не удалось найти транзакции...');
            }
        }
    }
    public function payment($secret){
        if($secret == 'panin228'){
            $get = Request::all();
            $transaction_hash = $get['transaction_hash'];
            $value_in_satoshi = floatval($get['value']);
            $value_in_btc = $value_in_satoshi / 100000000;
            $sql = 'insert into `payments` (secret, transaction_hash, value) values(?, ?, ?)';
            $secret2 = intval($get['id']);
            $ins = DB::insert($sql, [$secret2, $transaction_hash, $value_in_btc]);
            if($ins){
                echo "*ok*";
            }
        }
    }
    public function logout(){
        if(!Cookie::get('auth')){
            Cookie::queue('auth', 0, 0);
            return redirect('/login');
        }else{
            return redirect('/login');
        }
    }
    public function getData($url){
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $data = curl_exec($ch);
        curl_close($ch);
        return $data;
    }
    public function fromTo($value_in_usd){
        $btc = file_get_contents("https://blockchain.info/tobtc?currency=USD&value=$value_in_usd");
        $btc = floatval($btc);
        return $btc;
    }
}


Сам сайт: tyte.ru
Форма для регистрации: tyte.ru/reg/test
  • Вопрос задан
  • 1809 просмотров
Решения вопроса 1
dimonchik2013
@dimonchik2013
non progredi est regredi
если деньги вам пришли, на настоящий биткоин - адрес, и подтвердились, то транзакцию вы не там ищете
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы