beginTransaction(); $check = $con->prepare(" SELECT id FROM driverWallet WHERE driverID = :driverID AND paymentMethod = :paymentMethod LIMIT 1 FOR UPDATE "); $check->execute([ ':driverID' => $driverID, ':paymentMethod' => $paymentMethod ]); if ($check->rowCount() > 0) { $con->rollBack(); printFailure("لقد تم منح هذا الدفع للسائق مسبقاً — لا يمكن تكراره."); exit; } // ------------------------------------------------------------- // 2) INSERT INTO driverWallet // ------------------------------------------------------------- $sql = "INSERT INTO `driverWallet` ( `driverID`, `paymentID`, `amount`, `paymentMethod` ) VALUES ( :driverID, :paymentID, :amount, :paymentMethod );"; $stmt = $con->prepare($sql); $stmt->execute(array( ':driverID' => $driverID, ':paymentID' => $paymentID, ':amount' => $amount, ':paymentMethod' => $paymentMethod )); $con->commit(); if ($stmt->rowCount() > 0) { printSuccess("Record saved successfully"); // Notify driver $messageBody = "تم إضافة رصيد بقيمة $amount إلى محفظتك بنجاح."; // sendWhatsAppFromServer($phone, $messageBody); // ------------------------------------------------------------- // 3) INSERT 30,000 POINTS FOR NEW DRIVER // ------------------------------------------------------------- $sqlPoints = "INSERT INTO `paymentsDriverPoints` (`amount`, `payment_method`, `driverID`, `created_at`, `updated_at`) VALUES (:amount, :method, :driverID, NOW(), NOW())"; $stmtPoints = $con->prepare($sqlPoints); $stmtPoints->execute(array( ':amount' => 300, ':method' => $paymentMethod, ':driverID' => $driverID )); } else { printFailure("Failed to save record"); }