159 lines
7.0 KiB
PHP
159 lines
7.0 KiB
PHP
<?php
|
||
ini_set('display_errors', 1);
|
||
error_reporting(E_ALL);
|
||
|
||
header('Content-Type: text/html; charset=UTF-8');
|
||
|
||
/**
|
||
* Generate form/page HTML berdasarkan data JSON
|
||
*/
|
||
function formPage(string $dataform): string {
|
||
$data = json_decode($dataform, true);
|
||
|
||
if (json_last_error() !== JSON_ERROR_NONE || !$data || !isset($data['page'])) {
|
||
return '<p class="text-danger">Data tidak valid.</p>';
|
||
}
|
||
|
||
$page = $data['page'];
|
||
$endpoint = $data['endpoint'] ?? '';
|
||
$apikey = $data['apikey'] ?? '';
|
||
$tokenkey = $data['tokenkey'] ?? '';
|
||
|
||
if ($page === 'flip') {
|
||
return '
|
||
<div class="form-group">
|
||
<label>ENDPOINT URL</label>
|
||
<input class="form-control" type="text" name="endpoint" value="' . htmlspecialchars($endpoint) . '">
|
||
</div>
|
||
<div class="form-group">
|
||
<label>API SECRET KEY</label>
|
||
<div class="input-group">
|
||
<input type="password" class="form-control password-input" id="password1" name="apikey" value="' . htmlspecialchars($apikey) . '">
|
||
<div class="input-group-append">
|
||
<div class="input-group-text password-toggle" data-target="password1">
|
||
<span class="fas fa-eye"></span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="form-group">
|
||
<label>TOKEN VALIDASI</label>
|
||
<div class="input-group">
|
||
<input type="password" class="form-control password-input" id="password2" name="tokenkey" value="' . htmlspecialchars($tokenkey) . '">
|
||
<div class="input-group-append">
|
||
<div class="input-group-text password-toggle" data-target="password2">
|
||
<span class="fas fa-eye"></span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<script>
|
||
document.querySelectorAll(".password-toggle").forEach(function(toggle) {
|
||
toggle.addEventListener("click", function() {
|
||
var targetId = this.getAttribute("data-target");
|
||
var input = document.getElementById(targetId);
|
||
var 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");
|
||
}
|
||
});
|
||
});
|
||
</script>
|
||
';
|
||
}
|
||
|
||
if ($page === 'paydisini') {
|
||
return '
|
||
<div class="form-group d-none">
|
||
<label>Admin Payment Gateway</label>
|
||
<select class="form-control" name="adminpg">
|
||
<option value="2">Beban Owner</option>
|
||
<option value="1">Beban Customer</option>
|
||
</select>
|
||
</div>
|
||
<div class="text-center mb-4">
|
||
<a data-toggle="collapse" href="#collapseExample" role="button" aria-expanded="false" aria-controls="collapseExample">
|
||
<h6><b>Aturan dan Kebijakan</b></h6>
|
||
</a>
|
||
</div>
|
||
<div class="collapse" id="collapseExample">
|
||
<div class="text-center">
|
||
<h6>Setelah mengaktifkan Paymnent Gateway ini kami anggap sudah menyetujui ketentuan di bawah ini</h6>
|
||
</div>
|
||
<div class="card-body text-justify">
|
||
<h6>Umum</h6>
|
||
<ul>
|
||
<li>ManjaPro didukung oleh Paydisini Payment Gateway Indonesia untuk proses pembayaran.</li>
|
||
<li>Semua transaksi harus dilakukan melalui sistem resmi ManjaPro untuk keamanan dan validasi.</li>
|
||
<li>Pelanggan bertanggung jawab atas keamanan akun dan informasi pembayaran masing-masing.</li>
|
||
</ul>
|
||
|
||
<h6>Alur Kerja Pembayaran</h6>
|
||
<ul>
|
||
<li>Pelanggan akan diberikan <strong>link pembayaran unik</strong> untuk setiap transaksi (ONE LINK – ONE TRANSACTION).</li>
|
||
<li>Pembayaran dapat dilakukan melalui metode yang tersedia: BRI VA, BNI VA, Mandiri VA, atau QRIS.</li>
|
||
<li>Setelah pembayaran diterima, dana akan ditahan selama 1x24 jam di rekening ManjaPro untuk proses pengecekan dan penyesuaian (check & balance).</li>
|
||
<li>Saldo dapat digunakan atau ditarik (withdraw) setelah status pembayaran berhasil diverifikasi.</li>
|
||
<li>Pelanggan wajib memastikan data pembayaran dan nominal yang dikirim sesuai dengan instruksi.</li>
|
||
</ul>
|
||
|
||
<h6>Biaya Admin</h6>
|
||
<ul>
|
||
<li>Untuk biaya admin Payment Gateway bisa di bebankan ke pelanggan atau ke pemilik</li>
|
||
<li>BRI VA : Rp. 2.950</li>
|
||
<li>BNI VA : Rp. 4.500</li>
|
||
<li>Mandiri VA : Rp. 2.950</li>
|
||
<li>QRIS : 1%</li>
|
||
</ul>
|
||
|
||
<h6>Withdraw / Penarikan Saldo</h6>
|
||
<ul>
|
||
<li>Withdraw hanya dapat dilakukan pada hari kerja. Permintaan pada hari libur akan diproses pada hari kerja berikutnya.</li>
|
||
<li>Withdraw hanya dapat dilakukan ke rekening yang telah diverifikasi oleh sistem ManjaPro.</li>
|
||
<li>Verifikasi rekening dapat dilakukan melalui menu <strong>Profil</strong> di akun pelanggan.</li>
|
||
<li>Minimal saldo untuk melakukan withdraw adalah sesuai ketentuan yang berlaku di akun pelanggan.</li>
|
||
<li>ManjaPro berhak menunda atau menolak transaksi withdraw jika ditemukan indikasi penipuan atau kesalahan data.</li>
|
||
</ul>
|
||
|
||
<h6>Pemecahan Masalah / Komplain</h6>
|
||
<ul>
|
||
<li>Jika terjadi kesalahan pada transaksi atau masalah lainnya, pelanggan wajib menghubungi layanan pelanggan ManjaPro untuk perundingan.</li>
|
||
<li>Setiap komplain akan diproses sesuai dengan data transaksi yang tercatat di sistem.</li>
|
||
<li>Keputusan akhir akan diambil oleh ManjaPro setelah proses pengecekan dan verifikasi.</li>
|
||
</ul>
|
||
|
||
<h6>Ketentuan Tambahan</h6>
|
||
<ul>
|
||
<li>ManjaPro berhak mengubah aturan dan kebijakan ini sewaktu-waktu tanpa pemberitahuan terlebih dahulu.</li>
|
||
<li>Pelanggan dianggap menyetujui aturan ini saat melakukan transaksi melalui ManjaPro.</li>
|
||
<li>Segala tindakan yang melanggar ketentuan dapat menyebabkan akun diblokir atau transaksi dibatalkan.</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
';
|
||
}
|
||
|
||
return '<p class="text-danger">Page tidak dikenali.</p>';
|
||
}
|
||
|
||
// Terima JSON dari fetch()
|
||
$inputJSON = file_get_contents('php://input');
|
||
|
||
if (!$inputJSON) {
|
||
echo "<p class='text-danger'>Data tidak diterima.</p>";
|
||
exit;
|
||
}
|
||
|
||
// Tampilkan hasil formPage
|
||
echo formPage($inputJSON);
|