slowy adlı üyeden alıntı: mesajı görüntüle
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
buradaki ilk koddaki kişiye özel id paymente kayıt edilio bu id vt kontrol edince de gözüküyor zaten id parametresi ile gönderiyorum yani

BABER adlı üyeden alıntı: mesajı görüntüle
normalde order_id olarak ne gönderiyorsunuz? shopier_form_generation fonksiyonunuzda platform_order_id olarak ne yolluyorsunuz?