diff --git a/src/App.php b/src/App.php
index c3639bba338624278257f23813ffcd71c634e9a6..01031c1e945b25c7fdc50c7dba167e428324cd5a 100644
--- a/src/App.php
+++ b/src/App.php
@@ -51,5 +51,7 @@ class App
     $this->router->addRoute('/my-reviews', ProfileController::class);
     $this->router->addRoute('/user-dashboard', UserDashboardController::class);
     $this->router->addRoute('/premium-status', SoapPremiumController::class);
+    $this->router->addRoute('/register-premium', SoapPremiumController::class);
+    $this->router->addRoute('/cancel-premium', SoapPremiumController::class);
   }
 }
diff --git a/src/controllers/SoapPremiumController.php b/src/controllers/SoapPremiumController.php
index 9b8d6b3f8594f11945a7beab86661949b64e1cb0..351d1e99a5ec4e3b5958b36d3a947a87377551b0 100644
--- a/src/controllers/SoapPremiumController.php
+++ b/src/controllers/SoapPremiumController.php
@@ -36,18 +36,34 @@ class SoapPremiumController extends BaseController {
 
     protected function post($urlParams)
     {
-        if(isset($_POST['email'])){
-            $params = ["userId" => $_SESSION['user_id'], "email" => $_POST['email']];
-            $result = $this->model->registerPremium($params);
-            if($result->status == "success"){
-                header("Location: /premium-status");
+        $uri = Request::getURL();
+        
+        if($uri == '/register-premium'){
+            if(isset($_POST['email'])){
+                $params = ["userId" => $_SESSION['user_id'], "email" => $_POST['email']];
+                $result = $this->model->registerPremium($params);
+                // if($result->status == "success"){
+                    header("Location: /premium-status");
+                // }
+                // else{
+                //     throw new Exception("Invalid Email");
+                // }
             }
             else{
-                throw new Exception("Invalid Email");
+                throw new Exception("Invalid URL");
             }
         }
-        else{
-            throw new Exception("Invalid URL");
+
+        if($uri == '/cancel-premium'){
+            $params = ["userId" => $_SESSION['user_id']];
+            $result = $this->model->cancelRegister($params);
+            // if($result->status == "success"){
+                $data['premiumCancelMessage'] = $result->responseCancel;
+                header("Location: /premium-status");
+            // }
+            // else{
+            //     throw new Exception("Invalid URL");
+            // }
         }
     }
 }
\ No newline at end of file
diff --git a/views/premium-status.php b/views/premium-status.php
index 679ae7fdc1802e0fbff27817378565413ee67d49..61b395960e471781bccb1a5af5a639c15dfe6cfb 100644
--- a/views/premium-status.php
+++ b/views/premium-status.php
@@ -4,9 +4,13 @@
     <br>
     <p>Current: <?php $result = $data["userStatus"]; echo $result;?></p>
     <br>
+    <p>Click <a href="/premium-status">here</a> to refresh the page.</p>
+    <?php if(isset($data["premiumCancelMessage"])) { ?>
+        <p><?php echo $data["premiumCancelMessage"]; unset($data["premiumCancelMessage"]);?></p>
+    <?php } ?>
     <?php 
     if($result == "REJECTED" || $result == "UNREGISTERED") { ?>
-        <form method="post" action="/premium-status">
+        <form method="post" action="/register-premium">
             <label for="email">Email:</label>
             <input type="email" id="email" name="email" required>
             <button type="submit">Register for Premium</button>