598 lines
25 KiB
PHP
598 lines
25 KiB
PHP
<?php
|
|
$id = $_SESSION['master'];
|
|
$stmt = $pdo->prepare("SELECT payment_gateway,apikey_payment_gateway,url_payment_gateway,status_payment_gateway,tokenkey_payment_gateway FROM data_server WHERE id = :id");
|
|
$stmt->bindParam(':id', $id, PDO::PARAM_INT);
|
|
$stmt->execute();
|
|
$data = $stmt->fetchAll();
|
|
$payment_gateway = $data[0]['payment_gateway'];
|
|
$apikey = $data[0]['apikey_payment_gateway'];
|
|
$tokenkey = $data[0]['tokenkey_payment_gateway'];
|
|
$enpoint = $data[0]['url_payment_gateway'];
|
|
$status = $data[0]['status_payment_gateway'];
|
|
$jenis = $data[0]['payment_gateway'];
|
|
|
|
$stmt = $pdo->prepare("
|
|
SELECT
|
|
SUM(saldo) AS total_saldo,
|
|
SUM(ditahan) AS total_ditahan,
|
|
SUM(tersedia) AS total_tersedia
|
|
FROM v_akumulasi_client_payment
|
|
WHERE id_data_server IN ($SvId)
|
|
");
|
|
$stmt->execute();
|
|
$saldo = $stmt->fetch(PDO::FETCH_ASSOC);
|
|
|
|
?>
|
|
<!-- Main content -->
|
|
<section class="content">
|
|
<div class="container-fluid">
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<div class="card">
|
|
<div class="card-header bg-secondary">
|
|
<div class="row">
|
|
<div class="col-sm-6">
|
|
<h3 class="card-title">Payment Gateway Setting</h3>
|
|
</div>
|
|
<div class="col-sm-6">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- /.card-header -->
|
|
<div class="card-body">
|
|
<div class="row">
|
|
<div class="col-md-4">
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<center>
|
|
<?php if($status == "ACTIVE"){ ?>
|
|
<div class="card bg-success">
|
|
<h5 class="text-light m-1">STATUS : <?php echo $status; ?></h5>
|
|
</div>
|
|
<?php } else { ?>
|
|
<div class="card bg-danger">
|
|
<h5 class="text-light m-1">STATUS : <?php echo $status; ?></h5>
|
|
</div>
|
|
<?php } ?>
|
|
</center>
|
|
<form method="post" enctype="multipart/form-data">
|
|
<div class="form-group">
|
|
<label>Jenis Payment Gateway</label>
|
|
<select class="form-control" name="jenis" id="getSelected">
|
|
<option value="">Pilih Salah Satu</option>
|
|
<option value="flip" <?php if($payment_gateway == 'flip'){ echo "selected"; } ?>>Flip Bussiness</option>
|
|
<option value="paydisini" <?php if($payment_gateway == 'paydisini'){ echo "selected"; } ?>>Default ManjaPro (Paydisini)</option>
|
|
</select>
|
|
</div>
|
|
<div class="Paykategori mb-4">
|
|
|
|
</div>
|
|
<input type="submit" class="btn btn-sm btn-primary m-1" name="simpan" value="Simpan Konfigurasi">
|
|
<?php if($status == "ACTIVE"){ ?>
|
|
<input type="submit" class="btn btn-sm btn-danger m-1" name="inactive" value="Non Aktifkan Payment Gateway">
|
|
<?php } else { ?>
|
|
<input type="submit" class="btn btn-sm btn-success m-1" name="active" value="Aktifkan Payment Gateway">
|
|
<?php } ?>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-8">
|
|
<?php if($jenis == 'paydisini') { ?>
|
|
<div class="card-body">
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<div class="row">
|
|
<div class="col-md-3 mb-2">
|
|
|
|
</div>
|
|
<div class="col-md-6">
|
|
<center>
|
|
<p>Akumulasi Keuangan Tagihan Payment Gateway</p>
|
|
</center>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-lg-4 col-6">
|
|
<!-- small box -->
|
|
<div class="small-box bg-info" id="penjualanBox">
|
|
<div class="inner">
|
|
<h4><?= 'Rp. ' . number_format($saldo['total_saldo'], 0, ',', '.'); ?></h4>
|
|
<p><small>Total Penjualan</small></p>
|
|
</div>
|
|
<div class="icon">
|
|
<i class="ion ion-card"></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-4 col-6">
|
|
<!-- small box -->
|
|
<div class="small-box bg-danger" id="lunasBox">
|
|
<div class="inner">
|
|
<h4><?= 'Rp. ' . number_format($saldo['total_ditahan'], 0, ',', '.'); ?></h4>
|
|
<p><small>Saldo Ditahan</small></p>
|
|
</div>
|
|
<div class="icon">
|
|
<i class="ion ion-card"></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-4 col-12">
|
|
<!-- small box -->
|
|
<div class="small-box bg-success" id="pendingBox">
|
|
<div class="inner">
|
|
<h4><?= 'Rp. ' . number_format($saldo['total_tersedia'], 0, ',', '.'); ?></h4>
|
|
<p><small>Saldo Tersedia</small></p>
|
|
</div>
|
|
<div class="icon">
|
|
<i class="ion ion-card"></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-md-10">
|
|
<center>
|
|
<p>Riwayat Pencairan Dana</p>
|
|
</center>
|
|
</div>
|
|
<div class="col-md-2 mb-2 text-right">
|
|
<a type="button" class="btn btn-primary btn-sm m-1" data-toggle="modal" data-target="#ModalPencairan">Pencairan Dana</a>
|
|
</div>
|
|
</div>
|
|
<table id="withdrawTable" class="table table-striped table-bordered" style="zoom: 90%; width: 100%;">
|
|
<thead class="text-center">
|
|
<tr>
|
|
<th>Server</th>
|
|
<th>Dibuat</th>
|
|
<th>Nominal</th>
|
|
<th>User</th>
|
|
<th>Status</th>
|
|
<th>Diproses</th>
|
|
<th>Action</th>
|
|
</tr>
|
|
</thead>
|
|
</table>
|
|
<hr>
|
|
<div class="row mt-2">
|
|
<div class="col-md-10">
|
|
<center>
|
|
<p>Riwayat Transaksi</p>
|
|
</center>
|
|
</div>
|
|
<div class="col-md-2 mb-2 text-right">
|
|
<div class="form-group">
|
|
<select class="form-control" id="selectStatus">
|
|
<option value="SUCCESS">SUCCESS</option>
|
|
<option value="PENDING">PENDING</option>
|
|
<option value="CANCELED">CANCELED</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<table id="transactionTable" class="table table-striped table-bordered" style="width: 100%;">
|
|
<thead class="text-center">
|
|
<tr>
|
|
<th>Kode Unik</th>
|
|
<th>Keterangan</th>
|
|
<th>Nama</th>
|
|
<th>Jumlah</th>
|
|
<th>Saldo</th>
|
|
<th>Biaya</th>
|
|
<th>Status</th>
|
|
<th>Jenis</th>
|
|
<th>Waktu</th>
|
|
<th>Waktu</th>
|
|
</tr>
|
|
</thead>
|
|
</table>
|
|
</div>
|
|
<script>
|
|
$(document).ready(function() {
|
|
var table = $('#transactionTable').DataTable({
|
|
"processing": true,
|
|
"serverSide": true,
|
|
"responsive": true,
|
|
"ajax": {
|
|
"url": "controller/get_client_payment.php?i=<?= $SvId; ?>&s=" + $('#selectStatus').val(),
|
|
"type": "POST"
|
|
},
|
|
"pageLength": 10,
|
|
"columns": [
|
|
{ "data": 0 },
|
|
{ "data": 1 },
|
|
{ "data": 2 },
|
|
{ "data": 3 },
|
|
{ "data": 4 },
|
|
{ "data": 5 },
|
|
{ "data": 6 },
|
|
{ "data": 7 },
|
|
{ "data": 8 },
|
|
{ "data": 9 }
|
|
],
|
|
"order": [[1, "desc"]] // urut berdasarkan Dibuat
|
|
});
|
|
|
|
// reload data saat selectStatus berubah
|
|
$('#selectStatus').on('change', function() {
|
|
var newStatus = $(this).val();
|
|
table.ajax.url("controller/get_client_payment.php?i=<?= $SvId; ?>&s=" + newStatus).load();
|
|
});
|
|
});
|
|
</script>
|
|
<?php } ?>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="card-footer">
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!--START Modal WithDrow-->
|
|
<div class="modal fade" id="ModalPencairan" data-backdrop="static" data-keyboard="false" tabindex="-1" aria-labelledby="ModalPencairanLabel" aria-hidden="true">
|
|
<div class="modal-dialog modal-dialog-centered">
|
|
<div class="modal-content">
|
|
<form method="post" enctype="multipart/form-data">
|
|
<div class="modal-header bg-primary">
|
|
<h5 class="modal-title" id="staticBackdropLabel">Pencairan Dana</h5>
|
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
|
<span aria-hidden="true">×</span>
|
|
</button>
|
|
</div>
|
|
<div class="modal-body">
|
|
<div class="card-body">
|
|
<?php
|
|
// ambil data server untuk script
|
|
$ListServer = new Listdata();
|
|
$ListServer->set_list("data_server", "WHERE id IN (" . $SvId . ")");
|
|
?>
|
|
<div class="form-group">
|
|
<label>Nama Server</label>
|
|
<select class="form-control" id="idgetSaldo" name="idgetSaldo">
|
|
<option value="0">-- PILIH --</option>
|
|
<?php foreach ($ListServer->get_list() as $value): ?>
|
|
<option value="<?= htmlspecialchars($value['id']) ?>">
|
|
<?= htmlspecialchars($value['nama_server']) ?>
|
|
</option>
|
|
<?php endforeach ?>
|
|
</select>
|
|
</div>
|
|
<div class="form-group">
|
|
<label>Saldo</label>
|
|
<div id="saldoServer" class="mt-2 text-success font-weight-bold" style="font-size: 24px;">Rp. 0</div>
|
|
</div>
|
|
<div class="form-group" id="formNominal">
|
|
<label>Nominal</label>
|
|
<input type="text" class="form-control rupiah" id="rupiah0" placeholder="Rp. 0" name="nominal" disabled readonly>
|
|
</div>
|
|
<i class="text-danger">Dana bisa di cairkan jika Saldo lebih dari Rp 10.000</i>
|
|
</div>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
|
<input type="submit" name="cairkan" class="btn btn-primary" value="Cairkan">
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!--END Modal WithDrow-->
|
|
|
|
<!--END Modal WithDrow-->
|
|
<div class="modal fade" id="viewBuktiModal" tabindex="-1" aria-hidden="true">
|
|
<div class="modal-dialog modal-dialog-centered" style="max-width: fit-content; margin: auto;">
|
|
<div class="modal-content border-0 bg-transparent shadow-none" style="width: auto;">
|
|
<div class="position-relative d-inline-block">
|
|
|
|
<!-- Tombol Close -->
|
|
<button type="button" class="close text-white position-absolute"
|
|
data-dismiss="modal" aria-label="Close"
|
|
style="top: 10px; right: 10px; filter: invert(1); z-index: 10;">
|
|
<span aria-hidden="true">×</span>
|
|
</button>
|
|
|
|
<!-- Gambar dari JS -->
|
|
<img id="viewBuktiImg" src=""
|
|
class="img-fluid rounded shadow d-block"
|
|
alt="Bukti Transaksi" style="max-height: 600px;">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<?php
|
|
if (isset($_POST['cairkan'])) {
|
|
|
|
$SQLCek = "SELECT nama_server, rekening_bank, rekening_nama, rekening_nomor, rekening_status
|
|
FROM data_server WHERE id = :idsv";
|
|
$stmt = $pdo->prepare($SQLCek);
|
|
$stmt->execute([':idsv' => $_POST['idgetSaldo']]);
|
|
$rek_data = $stmt->fetch(PDO::FETCH_ASSOC); // ✅ fetch single row
|
|
|
|
if (!empty($rek_data['rekening_nama'])) {
|
|
if ($rek_data['rekening_status'] == 'verificated') {
|
|
|
|
$nominal = preg_replace("/[^0-9]/", "", $_POST['nominal']);
|
|
|
|
$SQLCarikan = "INSERT INTO transaksi_withdraw
|
|
(id_data_server, start_time, nominal, user_create, status, jenis) VALUES
|
|
(:id_data_server, :start_time, :nominal, :user_create, 'pending', 'tagihan')";
|
|
$stmt = $pdo->prepare($SQLCarikan);
|
|
$stmt->bindValue(':id_data_server', $_POST['idgetSaldo'], PDO::PARAM_INT);
|
|
$stmt->bindValue(':start_time', date('Y-m-d H:i:s')); // ✅ pakai bindValue
|
|
$stmt->bindValue(':nominal', $nominal, PDO::PARAM_INT);
|
|
$stmt->bindValue(':user_create', $SvNama, PDO::PARAM_STR); // pastikan $SvNama ada
|
|
$stmt->execute();
|
|
|
|
$Pesanwarek = "*PERMINTAAN PENCAIRAN DANA*
|
|
|
|
Server : " . $rek_data['nama_server'] . "
|
|
BANK : " . strtoupper($rek_data['rekening_bank']) . "
|
|
Rekening : *" . $rek_data['rekening_nomor'] . "*
|
|
Nama Rek : " . $rek_data['rekening_nama'] . "
|
|
|
|
Nominal : *" . $_POST['nominal'] . "*
|
|
|
|
|
|
_# Manja ~ Notif_
|
|
";
|
|
$nomorWArek = ["6281298698422", "6285655548738"];
|
|
$APIwa = new PesanWA();
|
|
$APIwa->Send_Pesan('1','sendMessage',$nomorWArek,$Pesanwarek);
|
|
|
|
sweetAlert("BERHASIL.! Pencairan akan segera diproses, mohon tunggu.", "success");
|
|
} else {
|
|
sweetAlert("GAGAL.! Rekening anda sedang diverifikasi mohon ditunggu.", "error");
|
|
}
|
|
} else {
|
|
sweetAlert("GAGAL.! Tidak ada rekening yang tersedia, silahkan isi rekening di Profile Master.", "error");
|
|
}
|
|
}
|
|
?>
|
|
|
|
<?php
|
|
//Aktifkan Payment Gateway
|
|
if (isset($_POST['active'])) {
|
|
try {
|
|
if ($_POST['jenis'] === 'flip') {
|
|
if ($apikey && $tokenkey && $enpoint) {
|
|
$stmt = $pdo->prepare("UPDATE data_server SET status_payment_gateway='ACTIVE' WHERE id=:id");
|
|
$stmt->execute([':id' => $id]);
|
|
sweetAlert("Payment Gateway Telah Di Aktifkan", "success");
|
|
} else {
|
|
sweetAlert("Gagal: Silahkan isi dulu API parameter", "error");
|
|
}
|
|
} elseif ($_POST['jenis'] === 'paydisini') {
|
|
$stmt = $pdo->prepare("UPDATE data_server SET status_payment_gateway='ACTIVE' WHERE id=:id");
|
|
$stmt->execute([':id' => $id]);
|
|
sweetAlert("Payment Gateway Telah Di Aktifkan", "success");
|
|
} else {
|
|
sweetAlert("Gagal: Anda belum menyimpan jenis Payment Gateway", "error");
|
|
}
|
|
} catch (PDOException $e) {
|
|
sweetAlert("Gagal: " . $e->getMessage(), "error");
|
|
}
|
|
}
|
|
//Non Aktifkan Payment Gateway
|
|
if (isset($_POST['inactive'])) {
|
|
try {
|
|
$stmt = $pdo->prepare("UPDATE data_server SET status_payment_gateway = 'INACTIVE' WHERE id = :idtik");
|
|
$stmt->bindParam(':idtik', $id, PDO::PARAM_INT);
|
|
$stmt->execute();
|
|
sweetAlert("Payment Gateway Telah Di Non Aktifkan", "success");
|
|
|
|
} catch (PDOException $e) {
|
|
sweetAlert("Gagal: " . $e->getMessage(), "error");
|
|
}
|
|
}
|
|
//Simpan data Payment gateway
|
|
if (isset($_POST['simpan'])) {
|
|
try {
|
|
if ($_POST['jenis'] === 'flip') {
|
|
$stmt = $pdo->prepare("UPDATE data_server SET payment_gateway = :payment_gateway, apikey_payment_gateway = :apikey_payment_gateway, url_payment_gateway = :url_payment_gateway, tokenkey_payment_gateway = :tokenkey_payment_gateway WHERE id = :idtik");
|
|
$stmt->bindParam(':payment_gateway', $_POST['jenis']);
|
|
$stmt->bindParam(':apikey_payment_gateway', $_POST['apikey']);
|
|
$stmt->bindParam(':url_payment_gateway', $_POST['enpoint']);
|
|
$stmt->bindParam(':tokenkey_payment_gateway', $_POST['tokenkey']);
|
|
$stmt->bindParam(':idtik', $id, PDO::PARAM_INT);
|
|
$stmt->execute();
|
|
}
|
|
else {
|
|
$adminpg = !empty($_POST['adminpg']) ? $_POST['adminpg'] : 2;
|
|
$stmt = $pdo->prepare("UPDATE data_server SET payment_gateway = :payment_gateway, biaya_payment_gateway = :biaya_payment_gateway WHERE id = :idtik");
|
|
$stmt->bindParam(':payment_gateway', $_POST['jenis']);
|
|
$stmt->bindParam(':biaya_payment_gateway', $adminpg);
|
|
$stmt->bindParam(':idtik', $id, PDO::PARAM_INT);
|
|
$stmt->execute();
|
|
}
|
|
sweetAlert("Payment Gateway telah ubah", "success");
|
|
|
|
} catch (PDOException $e) {
|
|
sweetAlert("Gagal: " . $e->getMessage(), "error");
|
|
}
|
|
}
|
|
?>
|
|
|
|
<script>
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
const select = document.getElementById('getSelected');
|
|
const container = document.querySelector('.Paykategori');
|
|
|
|
function loadFormPage(data) {
|
|
fetch('controller/payment_gateway.php', {
|
|
method: 'POST',
|
|
headers: { 'Content-Type': 'application/json' },
|
|
body: JSON.stringify(data)
|
|
})
|
|
.then(res => res.text())
|
|
.then(html => {
|
|
container.innerHTML = html;
|
|
|
|
// Pasang password toggle setelah HTML dimasukkan
|
|
container.querySelectorAll(".password-toggle").forEach(function(toggle) {
|
|
toggle.addEventListener("click", function() {
|
|
const targetId = this.getAttribute("data-target");
|
|
const input = document.getElementById(targetId);
|
|
const icon = this.querySelector("span");
|
|
|
|
if (!input) return;
|
|
|
|
if (input.type === "password") {
|
|
input.type = "text";
|
|
icon.classList.remove("fa-eye");
|
|
icon.classList.add("fa-eye-slash");
|
|
} else {
|
|
input.type = "password";
|
|
icon.classList.remove("fa-eye-slash");
|
|
icon.classList.add("fa-eye");
|
|
}
|
|
});
|
|
});
|
|
})
|
|
.catch(err => {
|
|
console.error('Error:', err);
|
|
container.innerHTML = "<p class='text-danger'>Terjadi kesalahan saat memuat data.</p>";
|
|
});
|
|
}
|
|
|
|
select.addEventListener('change', function() {
|
|
const value = this.value;
|
|
if (!value) {
|
|
container.innerHTML = "";
|
|
return;
|
|
}
|
|
|
|
let data = { page: value };
|
|
|
|
// Jika flip, kirim juga endpoint, apikey, tokenkey
|
|
if (value === "flip") {
|
|
data.endpoint = "<?= $enpoint ?>"; // sesuaikan dari PHP
|
|
data.apikey = "<?= $apikey ?>";
|
|
data.tokenkey = "<?= $tokenkey ?>";
|
|
}
|
|
|
|
loadFormPage(data);
|
|
});
|
|
|
|
// Optional: trigger load jika ada yang sudah selected
|
|
if (select.value) {
|
|
select.dispatchEvent(new Event('change'));
|
|
}
|
|
});
|
|
|
|
$(document).ready(function() {
|
|
$('#withdrawTable').DataTable({
|
|
"processing": true,
|
|
"serverSide": true,
|
|
"responsive": true,
|
|
"ajax": {
|
|
"url": "controller/get_withdrow.php?i=<?= $SvId; ?>&s=tagihan",
|
|
"type": "POST"
|
|
},
|
|
"pageLength": 10,
|
|
"columns": [
|
|
{ "data": 0 }, // Server
|
|
{ "data": 1 }, // Dibuat
|
|
{ "data": 2 }, // Nominal
|
|
{ "data": 3 }, // User
|
|
{
|
|
"data": 4, // Status
|
|
"render": function(data, type, row, meta) {
|
|
if (data === 'pending') {
|
|
return `<span class="badge bg-primary p-2">${data.toUpperCase()}</span>`;
|
|
} else {
|
|
return `<span class="badge bg-success p-2">${data.toUpperCase()}</span>`;
|
|
}
|
|
}
|
|
},
|
|
{ "data": 5 }, // Diproses
|
|
{
|
|
"data": 6, // id unik
|
|
"render": function(data, type, row, meta) {
|
|
let btn = "";
|
|
|
|
if (row[4] === 'success') {
|
|
btn += `<button class="btn btn-sm btn-secondary me-1" onclick="viewBukti('${data.bukti_success}')">
|
|
<i class="fa fa-image"></i>
|
|
</button>`;
|
|
}
|
|
|
|
return btn;
|
|
}
|
|
}
|
|
],
|
|
"order": [[1, "desc"]] // urut berdasarkan Dibuat
|
|
});
|
|
});
|
|
|
|
|
|
// function viewBukti Transaksi
|
|
function viewBukti(imgPath) {
|
|
$("#viewBuktiImg").attr("src", imgPath);
|
|
$("#viewBuktiModal").modal("show");
|
|
}
|
|
|
|
$(document).ready(function(){
|
|
var currentSaldo = 0; // simpan saldo terakhir
|
|
|
|
$("#idgetSaldo").on("change", function(){
|
|
var serverId = $(this).val();
|
|
var $nominalInput = $("#formNominal input");
|
|
|
|
if(serverId == 0){
|
|
$("#saldoServer").html("Rp. 0");
|
|
$nominalInput.prop("disabled", true).prop("readonly", true).val("");
|
|
currentSaldo = 0;
|
|
return;
|
|
}
|
|
|
|
$.ajax({
|
|
url: "controller/get_saldo.php",
|
|
type: "GET",
|
|
data: { id: serverId, s: '1' },
|
|
dataType: "json",
|
|
success: function(res){
|
|
if(res && res.saldo !== undefined){
|
|
currentSaldo = parseInt(res.saldo) || 0;
|
|
$("#saldoServer").html("Rp. " + new Intl.NumberFormat().format(currentSaldo));
|
|
|
|
if(currentSaldo < 10000){
|
|
$nominalInput.prop("disabled", true).prop("readonly", true).val("");
|
|
} else {
|
|
$nominalInput.prop("disabled", false).prop("readonly", false);
|
|
}
|
|
} else {
|
|
$("#saldoServer").html("Rp. 0");
|
|
$nominalInput.prop("disabled", true).prop("readonly", true).val("");
|
|
currentSaldo = 0;
|
|
}
|
|
},
|
|
error: function(){
|
|
$("#saldoServer").html("Gagal mengambil saldo");
|
|
$nominalInput.prop("disabled", true).prop("readonly", true).val("");
|
|
currentSaldo = 0;
|
|
}
|
|
});
|
|
});
|
|
|
|
// Cek saat user input nominal
|
|
$("#formNominal input").on("input", function(){
|
|
var val = parseInt($(this).val().replace(/\D/g, '')) || 0; // ambil angka aja
|
|
if(val > currentSaldo){
|
|
val = currentSaldo; // batasin maksimal saldo
|
|
}
|
|
$(this).val(val); // set kembali ke input
|
|
});
|
|
});
|
|
|
|
|
|
</script>
|
|
|