Update Banyak

This commit is contained in:
WD - Dev
2025-09-21 21:40:17 +07:00
parent c6bee729c5
commit efca8f5f80
145 changed files with 195185 additions and 1378 deletions
+57
View File
@@ -0,0 +1,57 @@
<?php
include '../../config/connect.php';
include 'intruksi_pay.php';
require_once 'jwtoken/url_paymnet_encrypt.php';
// Fungsi helper untuk redirect ke error.php
function redirect_error() {
include "error.php";
exit;
}
// Ambil URL segments
$segments = explode("/", trim($_SERVER['REQUEST_URI'], "/"));
// Cek segments cukup panjang
if (count($segments) < 3) {
redirect_error();
}
// Ambil order_id dari JWT
$order_id = jwt_decrypt($segments[2]);
if (!$order_id) {
redirect_error();
}
// Query aman pakai prepared statement
$sql = "
SELECT a.id, a.id_data_server, a.keterangan, a.nominal_tagihan, a.konpensasi,
a.jumlah_konpensasi, a.jumlah_tagihan, a.ppn, a.kode_unik, a.verifikasi_tagihan,
a.limit_pembayaran, a.nama, a.alamat, a.nama_paket, a.nama_server,
b.id AS id_payment, b.order_id, b.data_get, b.status, b.input_time, b.update_time
FROM v_tagihan a
LEFT JOIN client_payment b ON a.id = b.id_tagihan
WHERE a.id = :order_id
ORDER BY b.id DESC
LIMIT 1
";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':order_id', $order_id, PDO::PARAM_STR);
$stmt->execute();
$pelanggan = $stmt->fetch(PDO::FETCH_ASSOC);
if (!$pelanggan) {
redirect_error();
}
// Buat slug aman untuk URL
$server = mb_strtolower(preg_replace('/[^a-zA-Z0-9]+/', '', $pelanggan['nama_server']));
$nama = mb_strtolower(preg_replace('/[^a-zA-Z0-9]+/', '', $pelanggan['nama']));
// Validasi segments sesuai server & nama pelanggan
if ($segments[0] !== $server || $segments[1] !== $nama) {
redirect_error();
}
// Jika semua valid, include payment
include "payment.php";