allow and disallow multiple payment
parent
0a68a91b0e
commit
e9f9f2b037
|
@ -199,7 +199,7 @@ function calculateAmount() {
|
|||
|
||||
<small>Total:</small>
|
||||
<input type="text" class="total_amount" value="' . $total_amount . '" disabled style="width:50px;border:1px solid red">
|
||||
|
||||
<input type="hidden" name="allowMultiple" value="'.($row['allowMultiple'] == 0 ? 0 : 1).'">
|
||||
<input type="submit" class="btn-info" value="Receive" onclick="sendData(event)">
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -215,6 +215,7 @@ function calculateAmount() {
|
|||
<small>Total:</small>
|
||||
<input type="text" id="total_amount" value="'.$row['AA_INSTALLMENT'].'" disabled style="width:50px;">
|
||||
<input type="hidden" id="hidden_total_amount" name="add_i" value="'.$row['AA_INSTALLMENT'].'">
|
||||
<input type="hidden" name="allowMultiple" value="'.($row['allowMultiple'] == 0 ? 0 : 1).'">
|
||||
<input type="submit" class="btn-info" value="Receive" onclick="sendData(event)">';
|
||||
echo '</form></td></tr>';
|
||||
}
|
||||
|
|
|
@ -26,6 +26,7 @@ if (!isset($_SESSION['user_id']) || empty($_SESSION['user_id'])) {
|
|||
<label for="INSTALLMENT_AMOUNT">Amount: </label>
|
||||
<input id="INSTALLMENT_AMOUNT" name="add_i" class="form-control" type="text" placeholder="" />
|
||||
</div>
|
||||
<input id="ALLOW_MULTIPLE_FLAG" type="text" name="allowMultiple" value="">
|
||||
<input class="btn btn-primary" type="submit" value="Receive Now" style="margin-top: 20px;" />
|
||||
</form>
|
||||
</div>
|
||||
|
@ -67,6 +68,7 @@ if (!isset($_SESSION['user_id']) || empty($_SESSION['user_id'])) {
|
|||
document.getElementById("PAYMENT_RECEIVE_FORM").style.display = "block";
|
||||
document.getElementById("ACCOUNT_NUMBER").value = data.data[0].AA_ACNO;
|
||||
document.getElementById("ACCOUNT_HOLDER_NAME").value = data.data[0].AA_NAME;
|
||||
document.getElementById("ALLOW_MULTIPLE_FLAG").value = data.data[0].allowMultiple;
|
||||
|
||||
const input = document.getElementById("INSTALLMENT_AMOUNT");
|
||||
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
<?php
|
||||
$response = new stdClass();
|
||||
$total = array();
|
||||
if (isset($_POST["add_i"]) && isset($_POST["AA_ACNO"]) && is_numeric($_POST["add_i"]) && $_POST["add_i"] > 0) {
|
||||
if(isset($_POST["ins_no"])) $ins_no = $_POST["ins_no"]; else $ins_no = 1;
|
||||
|
||||
if(isset($_POST["fine_amount"])) $fine_amt = $_POST["fine_amount"]; else $fine_amt = 0;
|
||||
|
||||
$conn = new mysqli($GLOBALS['host'], $GLOBALS['user'], $GLOBALS['pass'], $GLOBALS['db']);
|
||||
|
||||
if ($conn->connect_error) die("Connection failed: " . $conn->connect_error);
|
||||
|
||||
if ($conn->query("UPDATE `" . $GLOBALS['arif_ac'] . "` SET `AA_FINE` = `AA_FINE` + 5, `AA_BAL` = `AA_BAL`+".$_POST["add_i"]." , `AA_NO_OF_PAYPAID` = `AA_NO_OF_PAYPAID`+".$ins_no." WHERE `AA_ACNO` = '" . $_POST["AA_ACNO"] . "'"));
|
||||
//Add entry to Transaction
|
||||
{
|
||||
$AT_USER = $_SESSION['user_id'];
|
||||
if ($conn->query("INSERT INTO `" . $GLOBALS['arif_tran'] . "` (`AT_ID`, `AT_TIMESTAMP`, `AT_ADMIN`, `AT_ACID`, `AT_AMOUNT`) VALUES (NULL, CURRENT_TIMESTAMP, '" . $AT_USER . "', '" . $_POST["AA_ACNO"] . "', '" . $_POST["add_i"] . "')")){
|
||||
$total['status'] = 'Success';
|
||||
$total['statusmsg'] = 'Transaction Successful! Rs. '.$_POST["add_i"];
|
||||
}
|
||||
else {
|
||||
$total['status'] = 'Error';
|
||||
$total['statusmsg'] = 'Error in Config';
|
||||
// $total['statusmsg'] = mysqli_error($conn);
|
||||
}
|
||||
}
|
||||
$conn->close();
|
||||
} else {
|
||||
$total['status'] = 'Error';
|
||||
$total['statusmsg'] = 'Error!! Check Input Details'.$_POST["add_i"].$_POST["AA_ACNO"];
|
||||
}
|
||||
|
||||
$response = $total;
|
||||
echo json_encode($response);
|
||||
?>
|
|
@ -1,35 +1,81 @@
|
|||
<?php
|
||||
$response = new stdClass();
|
||||
$total = array();
|
||||
|
||||
if (isset($_POST["add_i"]) && isset($_POST["AA_ACNO"]) && is_numeric($_POST["add_i"]) && $_POST["add_i"] > 0) {
|
||||
|
||||
if(isset($_POST["ins_no"])) $ins_no = $_POST["ins_no"]; else $ins_no = 1;
|
||||
|
||||
if(isset($_POST["fine_amount"])) $fine_amt = $_POST["fine_amount"]; else $fine_amt = 0;
|
||||
|
||||
$conn = new mysqli($GLOBALS['host'], $GLOBALS['user'], $GLOBALS['pass'], $GLOBALS['db']);
|
||||
|
||||
if ($conn->connect_error) die("Connection failed: " . $conn->connect_error);
|
||||
|
||||
if ($conn->query("UPDATE `" . $GLOBALS['arif_ac'] . "` SET `AA_FINE` = `AA_FINE` + 5, `AA_BAL` = `AA_BAL`+".$_POST["add_i"]." , `AA_NO_OF_PAYPAID` = `AA_NO_OF_PAYPAID`+".$ins_no." WHERE `AA_ACNO` = '" . $_POST["AA_ACNO"] . "'"));
|
||||
//Add entry to Transaction
|
||||
{
|
||||
$AT_USER = $_SESSION['user_id'];
|
||||
if ($conn->query("INSERT INTO `" . $GLOBALS['arif_tran'] . "` (`AT_ID`, `AT_TIMESTAMP`, `AT_ADMIN`, `AT_ACID`, `AT_AMOUNT`) VALUES (NULL, CURRENT_TIMESTAMP, '" . $AT_USER . "', '" . $_POST["AA_ACNO"] . "', '" . $_POST["add_i"] . "')")){
|
||||
$total['status'] = 'Success';
|
||||
$total['statusmsg'] = 'Transaction Successful! Rs. '.$_POST["add_i"];
|
||||
}
|
||||
else {
|
||||
$AA_ACNO = $conn->real_escape_string($_POST["AA_ACNO"]);
|
||||
$add_i = $conn->real_escape_string($_POST["add_i"]);
|
||||
$AT_USER = $_SESSION['user_id'];
|
||||
$USER_TYPE = $_SESSION['type'] ?? 'agent'; // default = user
|
||||
$allowMultiple = isset($_POST['allowMultiple']) ? intval($_POST['allowMultiple']) : 0;
|
||||
|
||||
// 1. Check account type & owner
|
||||
$sql_ac = "SELECT AA_TYPE, AA_AGENT FROM `".$GLOBALS['arif_ac']."` WHERE `AA_ACNO`='$AA_ACNO' LIMIT 1";
|
||||
$res_ac = $conn->query($sql_ac);
|
||||
|
||||
if($res_ac && $res_ac->num_rows > 0){
|
||||
$acc = $res_ac->fetch_assoc();
|
||||
|
||||
// --- যদি admin না হয় তাহলে শুধু নিজের account-এ কাজ করতে পারবে ---
|
||||
if($USER_TYPE != 'admin' && $acc['AA_AGENT'] != $AT_USER){
|
||||
$total['status'] = 'Error';
|
||||
$total['statusmsg'] = 'Error in Config';
|
||||
// $total['statusmsg'] = mysqli_error($conn);
|
||||
$total['statusmsg'] = 'Unauthorized Access!';
|
||||
echo json_encode($total); exit;
|
||||
}
|
||||
|
||||
// 2. যদি account Recurring হয়, allowMultiple না থাকে, এবং user admin না হয় → দিনে একবারের বেশি হবে না
|
||||
// যদি account Recurring হয়, আর multiple allow না থাকে, আর user admin না হয় → দিনে একবারের বেশি হবে না
|
||||
if($acc['AA_TYPE'] == "Recurring" && $allowMultiple == 0 && $USER_TYPE != 'admin'){
|
||||
$today = date("Y-m-d");
|
||||
$sql_chk = "SELECT COUNT(*) as cnt FROM `".$GLOBALS['arif_tran']."` WHERE `AT_ACID`='$AA_ACNO' AND `AT_ADMIN`='$AT_USER' AND DATE(`AT_TIMESTAMP`)='$today'";
|
||||
$res_chk = $conn->query($sql_chk);
|
||||
$row_chk = $res_chk->fetch_assoc();
|
||||
|
||||
if($row_chk['cnt'] > 0){
|
||||
$total['status'] = 'Error';
|
||||
$total['statusmsg'] = 'You can do only one transaction per day for Recurring Account!';
|
||||
echo json_encode($total); exit;
|
||||
}
|
||||
}
|
||||
|
||||
// 3. Update Account
|
||||
$sql_upd = "UPDATE `".$GLOBALS['arif_ac']."` SET `AA_FINE` = `AA_FINE` + 5, `AA_BAL` = `AA_BAL` + $add_i, `AA_NO_OF_PAYPAID` = `AA_NO_OF_PAYPAID` + $ins_no WHERE `AA_ACNO` = '$AA_ACNO'";
|
||||
|
||||
if ($conn->query($sql_upd)){
|
||||
// Insert Transaction
|
||||
$sql_ins = "INSERT INTO `".$GLOBALS['arif_tran']."` (`AT_ID`, `AT_TIMESTAMP`, `AT_ADMIN`, `AT_ACID`, `AT_AMOUNT`) VALUES (NULL, CURRENT_TIMESTAMP, '$AT_USER', '$AA_ACNO', '$add_i')";
|
||||
|
||||
if ($conn->query($sql_ins)){
|
||||
$total['status'] = 'Success';
|
||||
$total['statusmsg'] = 'Transaction Successful! Rs. '.$add_i;
|
||||
} else {
|
||||
$total['status'] = 'Error';
|
||||
$total['statusmsg'] = 'Error in Transaction Insert!';
|
||||
}
|
||||
} else {
|
||||
$total['status'] = 'Error';
|
||||
$total['statusmsg'] = 'Error in Account Update!';
|
||||
}
|
||||
|
||||
} else {
|
||||
$total['status'] = 'Error';
|
||||
$total['statusmsg'] = 'Account Not Found!';
|
||||
}
|
||||
|
||||
$conn->close();
|
||||
} else {
|
||||
|
||||
} else {
|
||||
$total['status'] = 'Error';
|
||||
$total['statusmsg'] = 'Error!! Check Input Details'.$_POST["add_i"].$_POST["AA_ACNO"];
|
||||
$total['statusmsg'] = 'Error!! Check Input Details '.($_POST["add_i"] ?? '').($_POST["AA_ACNO"] ?? '');
|
||||
}
|
||||
|
||||
$response = $total;
|
||||
echo json_encode($response);
|
||||
?>
|
||||
?>
|
||||
|
|
Loading…
Reference in New Issue