Merhaba arkadaşlar shopier sanal pos entegresi ediyorum ancak odeme yapılsa bile bakiye yansımıyor kodları alt tarafa bırakıyorum

    },'app.payment.view');$router->map('GET|POST', '/panel/ode/[*:id]', function($id){
        global $vt,$title,$router,$user;
        global $amount;
            
    $getveri = $vt->prepare("SELECT id, amount FROM payments WHERE id=?");
    $getveri->execute([$id]);
    
    // Fetch the result (assuming you're fetching only one row)
    $row = $getveri->fetch(PDO::FETCH_ASSOC);
    
    // Assign amount from the fetched row
    $amount = $row['amount'];
        
            if (@$_SESSION["login"]) {

$getDatas    =    $vt->prepare("SELECT * FROM payments WHERE id=?");
$getDatas    ->    execute(array($id));
                

                $data         =    $getDatas->fetch(PDO::FETCH_OBJ);
                if($data->method == 'paymax'){
                            include 'shopierAPI.php';
        $shopier = new Shopier('xxxxxx', 'xxxxxxx');
        $shopier->setBuyer([
            'id' => $unique_id,
            'paket' => 'Site İçi Bakiye',
            'first_name' => $name[0],
            'last_name' => $name[1],
            'email' => $user->email,
            'phone' => $user->phone
        ]);
        $shopier->setOrderBilling([
            'billing_address' => 'Cemal Gürsel Caddesi No:544564',
            'billing_city' => 'İstanbul',
            'billing_country' => 'Türkiye',
            'billing_postcode' => '34000'
        ]);
        $shopier->setOrderShipping([
            'shipping_address' => 'Cemal Gürsel Caddesi No:544564',
            'shipping_city' => 'İstanbul',
            'shipping_country' => 'Türkiye',
            'shipping_postcode' => '34000'
        ]);
                    
        die($shopier->run('544546545', $amount, 'https://epins.com.tr/panel/callback/xxxxxx'));

                }elseif ($data->method == 'paytr') {
                    # code...
                }

            }else{
                redirect($router->generate('app.landing.view'));
            }
        exit();
    },'app.payment.view');
Bu kod girilen miktarı alır veritabanına payments olarak ekler ve odeme alanına yonlendirir buraya kadar birşey yok çalışıyor


$router->map('POST', '/panel/callback/[*:platform]', function($platform) {
    global $vt, $shopierSecret; // Assuming $shopierSecret is defined somewhere
    
    // POST data retrieval and sanitization
    $status = $_POST["status"] ?? "";
    $invoiceId = $_POST["platform_order_id"] ?? "";
    $transactionId = $_POST["payment_id"] ?? "";
    $installment = $_POST["installment"] ?? "";
    $signature = $_POST["signature"] ?? "";
    
    // Signature validation
    $data = $_POST["random_nr"] . $_POST["platform_order_id"] . $_POST["total_order_value"] . $_POST["currency"];
    $signature = base64_decode($signature);
    $expected = hash_hmac('SHA256', $data, $shopierSecret, true);
    
    // Verify signature
    if ($signature === $expected) {
        $status = strtolower($status);
        
        if ($status === "success") {
            // Payment successful: Update user balance and payment status
            $paymentInfo = $vt->prepare("SELECT * FROM payments WHERE unique_id=?");
            $paymentInfo->execute([$invoiceId]);
            $paymentInfo = $paymentInfo->fetch(PDO::FETCH_OBJ);
            
            if ($paymentInfo) {
                $userDetails = $vt->prepare("SELECT * FROM users WHERE id=?");
                $userDetails->execute([$paymentInfo->user_id]);
                $userInfo = $userDetails->fetch(PDO::FETCH_OBJ);
                
                // Update user balance
                $newBalance = $userInfo->balance + $paymentInfo->amount;
                $updateBalance = $vt->prepare("UPDATE users SET balance = ? WHERE id = ?");
                $updateBalance->execute([$newBalance, $paymentInfo->user_id]);
                
                // Update payment status
                $updatePaymentStatus = $vt->prepare("UPDATE payments SET status = ? WHERE id = ?");
                $updatePaymentStatus->execute([1, $paymentInfo->id]);
                
                // Write payment information to a file
                file_put_contents('odeme.txt', $invoiceId);
            } else {
                echo "Ödeme bilgisi bulunamadı.";
                file_put_contents('odeme.txt', "Ödeme bilgisi bulunamadı.");
            }
        } else {
            echo "Ödeme başarısız.";
            file_put_contents('odeme.txt', "Ödeme başarısız.");
        }
    } else {
        echo "İmza doğrulaması başarısız.";
        file_put_contents('odeme.txt', "İmza doğrulaması başarısız.");
    }
    exit(); // Ensure script terminates after processing
}, 'app.callback.post');
bu kod ise odeme sonrası kullanıcıya parasını yukler ancak odeme sonrası kullanıcıya para eklenmiyor çıldırcam lutfen yardım edin