Files
2025-09-21 21:40:17 +07:00

79 lines
3.1 KiB
PHP

<?php
include '../config/connect.php';
$response = ["success" => false, "message" => "Terjadi kesalahan"];
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$id = intval($_POST['id'] ?? 0);
if ($id <= 0) {
echo json_encode(["success" => false, "message" => "ID tidak valid"]);
exit;
}
if (!isset($_FILES['bukti_success']) || $_FILES['bukti_success']['error'] !== UPLOAD_ERR_OK) {
echo json_encode(["success" => false, "message" => "File gambar tidak ditemukan"]);
exit;
}
$uploadDir = __DIR__ . "/../img/bukti_success/";
if (!is_dir($uploadDir)) {
mkdir($uploadDir, 0777, true);
}
$ext = pathinfo($_FILES['bukti_success']['name'], PATHINFO_EXTENSION);
$fileName = "bukti_" . $id . "_" . time() . "." . strtolower($ext);
$filePath = $uploadDir . $fileName;
if (move_uploaded_file($_FILES['bukti_success']['tmp_name'], $filePath)) {
// Update status transaksi withdraw
$sql = "UPDATE transaksi_withdraw
SET status = 'success', bukti_success = :bukti, update_time = :update_time
WHERE id = :id";
$stmt = $pdo->prepare($sql);
$stmt->execute([
":bukti" => "img/bukti_success/" . $fileName,
":update_time" => date('Y-m-d H:i:s'),
":id" => $id
]);
// Ambil data transaksi_withdraw yang baru saja diupdate
$stmt = $pdo->prepare("SELECT * FROM transaksi_withdraw WHERE id = :id");
$stmt->bindParam(':id', $id, PDO::PARAM_INT);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC); // hanya satu baris
if ($row) {
// Generate nomor unik 10 digit
$numid = date('Y_md').$id;
$keterangan = "Withdraw Pendapatan Voucher Auto Pilot reff_" . $numid;
// Cek apakah transaksi dengan keterangan tsb sudah ada
$stmt = $pdo->prepare("SELECT keterangan FROM transaksi WHERE keterangan = :keterangan");
$stmt->bindParam(':keterangan', $keterangan, PDO::PARAM_STR);
$stmt->execute();
$tagid = $stmt->fetchColumn();
if ($tagid === false) {
$sql = "INSERT INTO transaksi
(id_data_server, keterangan, pemasukan, start_time, metode_pembayaran, status)
VALUES (:idds, :keterangan, :pemasukan, :start_time, :metode, 'Pendapatan Hotspot')";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':idds', $row['id_data_server'], PDO::PARAM_INT);
$stmt->bindParam(':keterangan', $keterangan, PDO::PARAM_STR);
$stmt->bindParam(':pemasukan', $row['nominal'], PDO::PARAM_STR);
$stmt->bindValue(':start_time', date('Y-m-d H:i:s'));
$stmt->bindValue(':metode', 'API Payment');
$stmt->execute();
}
}
$response = ["success" => true, "message" => "Update berhasil"];
} else {
$response = ["success" => false, "message" => "Gagal upload file"];
}
}
echo json_encode($response);