Update Banyak
This commit is contained in:
@@ -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";
|
||||
Reference in New Issue
Block a user