diff --git a/api/auth/Register.php b/api/auth/Register.php
index 697b1f227344b4891be16865b56056b924c53a96..bda851153fe5abff08087eee07dfe226825e9adb 100644
--- a/api/auth/Register.php
+++ b/api/auth/Register.php
@@ -10,14 +10,67 @@ $email = $_POST['email'];
 $password = $_POST['password'];
 $key = "mahasiswa_leveling";
 
-$en_password = openssl_encrypt($password, "AES-256-CBC", $key, 0, substr(md5($key), 0, 16));
+ini_set('display_errors', 1);   
+// $en_password = openssl_encrypt($password, "AES-256-CBC", $key, 0, substr(md5($key), 0, 16));
+$en_password = password_hash($password, PASSWORD_BCRYPT);
 
 $conn = Database::getInstance();
 
-$sql = "INSERT INTO users (username, email, password) VALUES ('$username', '$email', '$en_password')";
-if ($conn->query($sql) === TRUE) {
-    $_SESSION['username'] = $username; // Menyimpan username dalam sesi
-    echo 'success';
+$conn->begin_transaction();
+
+$sql = "INSERT INTO users (username, email, password) VALUES (?, ?, ?)";
+$stmt = $conn->prepare($sql);
+$stmt->bind_param("sss", $username, $email, $en_password);
+
+if ($stmt->execute() === TRUE) {
+    try {
+        $arg0 = $username; 
+        $arg1 = password_hash($password, PASSWORD_BCRYPT);
+        $requestBody = '<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
+        <Body>
+            <restCode xmlns="http://service.example.org/">
+                <arg0 xmlns="">' . $arg0 . '</arg0>
+                <arg1 xmlns="">' . $arg1 . '</arg1>
+            </restCode>
+        </Body>
+    </Envelope>';
+        // echo $requestBody;
+        $curl = curl_init();
+        curl_setopt($curl, CURLOPT_URL, '192.168.0.218:8081/code');
+        curl_setopt($curl, CURLOPT_POST, true);
+        curl_setopt($curl, CURLOPT_HTTPHEADER, [
+            'Content-Type: text/xml; charset="utf-8"',
+            'X-API-KEY: PHPClient',
+        ]);
+        curl_setopt($curl, CURLOPT_POSTFIELDS, $requestBody);
+        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
+
+        $response = curl_exec($curl);
+        if ($response === false) {
+            $error = curl_error($curl);
+            echo 'cURL Error: ' . $error;
+            $conn->rollback();
+        } else {
+            $responseXml = simplexml_load_string($response);
+            $returnValue = $responseXml->xpath('//return');
+            $value = (string) $returnValue[0];
+
+            if ($value === '1') {
+                $conn->commit();
+                echo "success";
+
+            } else {
+                echo "error. failed create token";
+                $conn->rollback();
+            }
+        }
+        curl_close($curl);
+    
+
+    } catch (Exception $e) {
+        $conn->rollback();
+        echo "error " . $e->getMessage();
+    }
 } else {
     echo 'error';
 }