PATH: /home/hwyuvbry/pelanggan.waroenkhoki123.web.id/function
FILE_BARU
CREATE
FOLDER_BARU
MKDIR
UPLOAD_FILE
GO
[ .. KEMBALI ]
📄 api_result.log
↓
X
📁 asset/
X
📄 checker.php
↓
X
📄 error_log
↓
X
📄 get-referral.php
↓
X
📄 get-referral.php#
↓
X
📄 get-referral.php#8999
↓
X
📄 last_deposit.php
↓
X
📄 last_withdraw.php
↓
X
📄 memo-store.php
↓
X
📄 profile_update.php
↓
X
📄 proses_bet.php
↓
X
📄 proses_daftar.php#off dulu
↓
X
📄 proses_depo_otomatis.php
↓
X
📄 proses_depo_otomatis.php#
↓
X
📄 proses_deposit.php
↓
X
📄 proses_deposit.php#
↓
X
📄 proses_login.php
↓
X
📄 proses_pengaturan.php
↓
X
📄 proses_withdraw.php
↓
X
📄 proses_withdraw.php#
↓
X
📄 qris_log.txt
↓
X
SAVING...
BERHASIL DIUBAH!
EDITING: proses_depo_otomatis.php
<?php error_reporting(E_ALL); ini_set("display_errors", 1); session_start(); header('Content-Type: application/json'); include '../db/koneksi.php'; try { if ($_SERVER['REQUEST_METHOD'] !== 'POST') { throw new Exception('Metode request tidak valid.'); } $extplayer = $_SESSION['extplayer'] ?? ''; $username = $_SESSION['username'] ?? ''; if (empty($extplayer) || empty($username)) { throw new Exception('Sesi pengguna tidak valid. Silakan login kembali.'); } // 1. Cek apakah ada deposit yang masih berstatus Pending $qpending = mysqli_query($koneksi, "SELECT * FROM tb_deposit WHERE extplayer='" . mysqli_real_escape_string($koneksi, $extplayer) . "' AND status='Pending'"); if (mysqli_num_rows($qpending) > 0) { throw new Exception('Anda memiliki deposit pending. Silakan selesaikan atau batalkan deposit tersebut sebelum membuat yang baru.'); } // 2. Ambil data nominal deposit dari POST form user $jumlah = $_POST['amount'] ?? '0'; $cleanAmount = preg_replace('/[^0-9]/', '', $jumlah); $amount = (int)$cleanAmount; $promo_id = (int)($_POST['promo_id'] ?? 0); // Batasi minimal deposit dasar web (Contoh: Rp 10.000) if ($amount < 10000) { throw new Exception('Minimal deposit adalah Rp 10.000.'); } // 3. Ambil data gambar dan nama layanan QRIS dari database (tb_qris ID 1) $query_qris = mysqli_query($koneksi, "SELECT * FROM tb_qris WHERE id = 1"); $data_qris = mysqli_fetch_assoc($query_qris); // Validasi status QRIS apakah sedang aktif atau maintenance if (!$data_qris || (int)$data_qris['status'] !== 1) { throw new Exception('Metode pembayaran QRIS saat ini sedang maintenance. Mohon gunakan metode lain.'); } $nama_gambar = $data_qris['image_qr']; $nama_layanan = $data_qris['nama_layanan'] ?? 'QRIS'; // Tentukan jalur URL gambar QRIS untuk di-render di halaman user $qr_url = "/asset/images/qris/" . $nama_gambar; // 4. Siapkan data untuk struktur tabel deposit admin $ref = 'DEP' . strtoupper(substr(md5(uniqid()), 0, 8)); $bank_asal = 'QRIS SCAN'; $bank_tujuan = $nama_layanan . ' (Automated QR)'; $status = 'Pending'; $bukti_transfer_path = ''; // ========================================================== // LOGIKA HITUNG BONUS BERDASARKAN VALUE PROMO ID DARI FORM // ========================================================== $bonus = 0; // Jika user memilih promo dengan value="2" (BONUS NEW MEMBER 50+50) if ($promo_id === 2) { // Validasi syarat deposit berdasarkan atribut data-min-deposit="50000.00" if ($amount < 50000) { throw new Exception('Untuk klaim promo BONUS NEW MEMBER 50+50, minimal deposit adalah Rp 50.000.'); } // Bonus otomatis diset Rp 50.000 berdasarkan max-bonus promo tersebut $bonus = 50000; } // ========================================================== $expired_at = date('Y-m-d H:i:s', strtotime('+15 minutes')); // 5. INPUT DATA KE TABEL DEPOSIT ADMIN $stmt = $koneksi->prepare(" INSERT INTO tb_deposit (extplayer, username, ref, jumlah, bonus, bukti, bank_asal, bank_tujuan, status, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, NOW(), NOW()) "); if (!$stmt) { throw new Exception('Gagal mempersiapkan query database: ' . $koneksi->error); } $stmt->bind_param('sssisssss', $extplayer, $username, $ref, $amount, $bonus, $bukti_transfer_path, $bank_asal, $bank_tujuan, $status); if ($stmt->execute()) { // Amankan session saldo saat ini if (!isset($_SESSION['saldo'])) { $_SESSION['saldo'] = 0; } // Simpan informasi QRIS ke dalam session user sebagai cadangan data halaman invoice $_SESSION['qr_image'] = $qr_url; $_SESSION['amount'] = $amount; $_SESSION['expired'] = $expired_at; // Catat riwayat log internal server $log_file = __DIR__ . '/qris_log.txt'; $log_msg = "User: $username | Ref: $ref | Amount: $amount | Image: $nama_gambar"; file_put_contents($log_file, "[" . date("Y-m-d H:i:s") . "] SUCCESS: " . $log_msg . "\n", FILE_APPEND); // Kembalikan respons sukses berformat JSON ke AJAX milik user dashboard echo json_encode([ 'success' => true, 'message' => 'Deposit QRIS berhasil dibuat,Silahkan Scan QR Untuk Menyelesaikan Pembayaran', 'data' => [ 'reference_number' => $ref, 'amount' => number_format($amount, 0, ',', '.'), 'expired_at' => $expired_at, 'qr_image' => $qr_url, 'qr_string' => 'MANUAL_QRIS' ] ]); } else { throw new Exception('Gagal menyimpan data deposit ke database: ' . $stmt->error); } $stmt->close(); } catch (Exception $e) { // Catat log jika terjadi kegagalan $log_file = __DIR__ . '/qris_log.txt'; file_put_contents($log_file, "[" . date("Y-m-d H:i:s") . "] ERROR: " . $e->getMessage() . "\n", FILE_APPEND); echo json_encode([ 'success' => false, 'message' => $e->getMessage() ]); } exit; ?>
SIMPAN PERUBAHAN