Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * Code By : Mahiruddin a.k.a Mhrdpy.NET
- * Date Edit : 16 - 12 - 2018
- * Dont Edit Anything If You Don't Know About Script
- * SMM Panel Script - Mhrdpy.NET
- * Demo => https://scriptsmm.web.id/ ( User & Pass : admin )
- * Contact Person :
- => Whatsapp : 0895 3378 26740
- => Facebook : Mahir Depay (https://facebook.com/hirpayzzz)
- => Instagram : mahirdpy_ (https://instagram.com/mahirdpy_)
- => Email : [email protected]
- __ __ _ _ _ _ ______ _______
- | \/ | | | | | \ | | ____|__ __|
- | \ / | |__ _ __ __| |_ __ _ _ | \| | |__ | |
- | |\/| | '_ \| '__/ _` | '_ \| | | | | . ` | __| | |
- | | | | | | | | | (_| | |_) | |_| |_| |\ | |____ | |
- |_| |_|_| |_|_| \__,_| .__/ \__, (_)_| \_|______| |_|
- | | __/ |
- |_| |___/
- **/
- session_start();
- require("../mainconfig.php");
- $page_type = "Buat Pesanan";
- if (isset($_SESSION['user'])) {
- $sess_username = $_SESSION['user']['username'];
- $check_user = $db->query("SELECT * FROM users WHERE username = '$sess_username'");
- $data_user = $check_user->fetch_array(MYSQLI_ASSOC);
- if ($check_user->num_rows == 0) {
- header("Location: ".$site_config['base_url']."user/logout");
- } else if ($data_user['status'] == "Suspended") {
- header("Location: ".$site_config['base_url']."user/logout");
- }
- include("../lib/header.php");
- $msg_type = "nothing";
- if (isset($_POST['order'])) {
- $post_service = $db->real_escape_string(stripslashes(strip_tags(htmlspecialchars($_POST['service'], ENT_QUOTES))));
- $post_phone = $db->real_escape_string(stripslashes(strip_tags(htmlspecialchars($_POST['phone'], ENT_QUOTES))));
- $check_service = $db->query("SELECT * FROM services_pulsa WHERE sid = '$post_service' AND status = 'Active'");
- $data_service = $check_service->fetch_array(MYSQLI_ASSOC);
- $price = $data_service['price'];
- $service = $data_service['service'];
- $provider = $data_service['provider'];
- $pid = $data_service['pid'];
- $post_category = $data_service['category'];
- $check_orders = $db->query("SELECT * FROM orders_pulsa WHERE user = '$sess_username' AND service = '$service' AND date = '$date'");
- $data_orders = $check_orders->fetch_array(MYSQLI_ASSOC);
- $count_orders = $check_orders->num_rows;
- $check_provider = $db->query("SELECT * FROM provider WHERE code = '$provider'");
- $data_provider = $check_provider->fetch_array(MYSQLI_ASSOC);
- if (empty($post_service) || empty($post_phone)) {
- $msg_type = "error";
- $msg_content = "<b>Gagal!</b> Mohon mengisi input.";
- } else if (mysqli_num_rows($check_service) == 0) {
- $msg_type = "error";
- $msg_content = "<b>Gagal!</b> Layanan tidak ditemukan.";
- } else if ($data_user['balance'] < $price) {
- $msg_type = "error";
- $msg_content = "<b>Gagal!</b> Saldo Anda tidak mencukupi untuk melakukan pembelian ini.";
- } else {
- $api_link = $data_provider['link'];
- $api_key = $data_provider['api_key'];
- $random_trxid = random_number(1).random_number(2);
- $poid = $random_trxid;
- $oid = random_number(7);
- if ($data_service['category'] == "PLN") {
- $post_listrik = $db->real_escape_string(stripslashes(strip_tags(htmlspecialchars($_POST['no_listrik'], ENT_QUOTES))));
- $data = array(
- 'inquiry' => 'PLN', // konstan
- 'code' => $pid, // kode produk
- 'phone' => $post_phone, // nohp pembeli
- 'idcust' => $post_listrik, // nomor meter atau id pln
- 'trxid_api' => $random_trxid, // Trxid / Reffid dari sisi client
- 'no' => $count_orders+1, // untuk isi lebih dari 1x dlm sehari, isi urutan 2,3,4,dst
- );
- } else if ($data_service['category'] !== "PLN") {
- $data = array(
- 'inquiry' => 'I', // konstan
- 'code' => $pid, // kode produk
- 'phone' => $post_phone, // nohp pembeli
- 'trxid_api' => $random_trxid, // Trxid / Reffid dari sisi client
- 'no' => $count_orders+1, // untuk isi lebih dari 1x dlm sehari, isi urutan 1,2,3,4,dst
- );
- } else {
- die("System error!");
- }
- if ($provider == "MANUAL") {
- $api_postdata = "";
- $poid = $oid;
- } else if ($provider == "PORTALPULSA") {
- $url = 'https://portalpulsa.com/api/connect/';
- $header = array(
- 'portal-userid: P95132',
- 'portal-key: d4044dc3992b037d625f00d5729ac574', // lihat hasil autogenerate di member area
- 'portal-secret: 49e6dc118fc9992efb784abad34a764a4466079b7d3b2ff11b39e17b8a927123', // lihat hasil autogenerate di member area
- );
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
- curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
- curl_setopt($ch, CURLOPT_POST, 1);
- curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
- $result = curl_exec($ch);
- $order_data = json_decode($result, true);
- $message = $order_data['message'];
- } else if ($provider == "DPEDIA") {
- $order_postdata = "api_key=$api_key&service=$pid&phone=$post_phone&phone2=$post_phone2";
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, "https://serverh2h.net/order/pulsa");
- curl_setopt($ch, CURLOPT_POST, 1);
- curl_setopt($ch, CURLOPT_POSTFIELDS, $order_postdata);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
- $chresult = curl_exec($ch);
- curl_close($ch);
- $order_data = json_decode($chresult, true);
- $poid = $order_data['code_trx'];
- $error = $order_data['error'];
- $message = $order_data['error'];
- } else {
- die("System error!");
- }
- if ($provider == "PORTALPULSA" AND $order_data['result'] == "failed") {
- error_log("Pesan : ".$order_data['message']);
- $msg_type = "error";
- $msg_content = "<b>Gagal!</b> Silahkan Menghubungi Admin. (".$message.")";
- } else if ($provider == "DPEDIA" AND $order_data['error'] == TRUE) {
- error_log("Pesan : ".$order_data['error']);
- $msg_type = "error";
- $msg_content = "<b>Gagal!</b> Silahkan Menghubungi Admin. (".$message.")";
- } else {
- $update_user = $db->query("UPDATE users SET balance = balance-$price WHERE username = '$sess_username'");
- if ($update_user == TRUE) {
- $insert_order = $db->query("INSERT INTO orders_pulsa (oid, poid, user, service, link, price, status, date, provider, place_from) VALUES ('$oid', '$poid', '$sess_username', '$service', '$post_phone', '$price', 'Pending', '$date', '$provider', 'WEB')");
- $insert_order = mysqli_query($db, "INSERT INTO balance_history (username, type, category, quantity, message, date, time) VALUES ('$sess_username', 'Minus', 'Place Order', '$price', 'Membuat pesanan #$oid', '$date', '$time')");
- if ($insert_order == TRUE) {
- $msg_type = "success";
- $msg_content = "<b>Pesanan telah diterima.</b><br /><b>Layanan:</b> $service<br /><b>No. Telp:</b> $post_phone<br /><b>Biaya:</b> Rp ".number_format($price,0,',','.');
- } else {
- $msg_type = "error";
- $msg_content = "<b>Gagal:</b> Error system (2).";
- }
- } else {
- $msg_type = "error";
- $msg_content = "<b>Gagal:</b> Error system (1).";
- }
- }
- }
- }
- $check_user = $db->query("SELECT * FROM users WHERE username = '$sess_username'");
- $data_user = $check_user->fetch_array(MYSQLI_ASSOC);
- ?>
- <div class="row">
- <div class="offset-lg-3 col-lg-6">
- <div class="card-box">
- <ul class="nav nav-tabs tabs-bordered">
- <li class="nav-item">
- <a href="#order" data-toggle="tab" aria-expanded="false" class="nav-link active">
- Buat Pesanan
- </a>
- </li>
- <li class="nav-item">
- <a href="#informasi" data-toggle="tab" aria-expanded="true" class="nav-link">
- Informasi
- </a>
- </li>
- </ul>
- <div class="tab-content">
- <div class="tab-pane fade show active" id="charts-b1">
- <?php
- if ($msg_type == "success") {
- ?>
- <div class="alert alert-success alert-dismissable">
- <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
- <?php echo $msg_content; ?>
- </div>
- <?php
- } else if ($msg_type == "error") {
- ?>
- <div class="alert alert-danger alert-dismissable">
- <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
- <?php echo $msg_content; ?>
- </div>
- <?php
- }
- ?>
- <form role="form" method="POST">
- <div class="row">
- <div class="col-md-5">
- <div class="form-group">
- <label>Tipe<font color="red">*</font></label>
- <select class="form-control" id="category">
- <option value="0">-- Pilih Tipe --</option>
- <option value="PULSA">Pulsa Isi Ulang</option>
- <option value="PKIN">Paket Internet</option>
- <option value="VGAME">Voucher Game</option>
- <option value="SALGO">Saldo E-Money</option>
- <option value="PKSMS">Paket SMS & Telepon</option>
- <option value="PT">Pulsa Transfer</option>
- <option value="TOKENPLN">Token PLN</option>
- </select>
- </div>
- </div>
- <div class="col-md-7">
- <div class="form-group">
- <label>Kategori<font color="red">*</font></label>
- <select class="form-control" name="provider" id="provider">
- <option value="0">-- Pilih Kategori --</option>
- </select>
- </div>
- </div>
- </div>
- <div class="form-group">
- <label>Layanan<font color="red">*</font></label>
- <select class="form-control" name="service" id="service">
- <option value="0">-- Pilih Layanan --</option>
- </select>
- </div>
- <div class="row">
- <div class="col-md-6">
- <div class="form-group">
- <label>Target<font color="red">*</font></label>
- <div class="input-group">
- <div class="input-group-append">
- <span class="input-group-text">
- <i class="mdi mdi-phone"></i>
- </span>
- </div>
- <input type="text" name="phone" class="form-control" placeholder="No. Telp">
- </div>
- </div>
- </div>
- <div class="col-md-6">
- <div class="form-group">
- <label>Total Harga<font color="red">*</font></label>
- <div class="input-group">
- <div class="input-group-append">
- <span class="input-group-text">
- Rp.
- </span>
- </div>
- <input type="number" class="form-control" id="rate" value="0" readonly>
- </div>
- </div>
- </div>
- <div class="col-md-12">
- <div id="note"></div>
- <div class="form-group pull-right">
- <button type="submit" name="order" class="btn btn-square btn-primary"><i class="fa fa-check-circle"></i> Submit</button>
- <button type="reset" class="btn btn-square btn-secondary"><i class="fa fa-refresh"></i> Ulangi</button>
- </div>
- </div>
- </div>
- </form>
- </div>
- <div class="tab-pane fade" id="information-b1">
- Tata cara pengisian form pemesanan:
- <ul>
- <li>Pilih salah satu tipe pada <b>Tipe</b>, lalu pilih <b>Kategori</b> yang sesuai, maka akan ditampilkan daftar layanan yang tersedia pada <b>Layanan</b>, silahkan pilih salah satu layanan.</li>
- <li>Masukkan data berupa nomer handphone pada <b>Nomer Telepon</b> sesuai permintaan yang ditampilkan setelah memilih layanan.</li>
- <li>Jika semua input sudah terisi dengan benar, klik <b>Kirim</b>. Pesanan akan diproses jika hasil yang ditampilkan setelah submit sukses.</li>
- <li>Jika pesanan <i>stuck</i>/tidak berubah status dari pending, Anda dapat menghubungi Admin melalui tiket.</li>
- </ul>
- Tata cara mengisi input <b>Data</b> yang sesuai:
- <ul>
- <li>Masukkan data berupa nomer handphone sesuai yang diminta.</li>
- <li>jika terjadi kesalahan pengisian data oleh pengguna, harap segera hubungi admin.</li>
- </ul>
- </div>
- </div>
- </div>
- </div>
- <script type="text/javascript" src="https://code.jquery.com/jquery-1.10.2.js"></script>
- <script type="text/javascript">
- $(document).ready(function() {
- $("#category").change(function() {
- var category = $("#category").val();
- $.ajax({
- url: '<?php echo $site_config['base_url']; ?>inc/pulsa/check_provider.php',
- data: 'category=' + category,
- type: 'POST',
- dataType: 'html',
- success: function(msg) {
- $("#provider").html(msg);
- }
- });
- $.ajax({
- url: '<?php echo $site_config['base_url']; ?>inc/pulsa/input_nolistrik.php',
- data: 'category=' + category,
- type: 'POST',
- dataType: 'html',
- success: function(msg) {
- $("#input_nolistrik").html(msg);
- }
- });
- });
- $("#provider").change(function() {
- var provider = $("#provider").val();
- $.ajax({
- url: '<?php echo $site_config['base_url']; ?>inc/pulsa/order_service.php',
- data: 'provider=' + provider,
- type: 'POST',
- dataType: 'html',
- success: function(msg) {
- $("#service").html(msg);
- }
- });
- });
- $("#service").change(function() {
- var service = $("#service").val();
- $.ajax({
- url: '<?php echo $site_config['base_url']; ?>inc/pulsa/order_note.php',
- data: 'service=' + service,
- type: 'POST',
- dataType: 'html',
- success: function(msg) {
- $("#note").html(msg);
- }
- });
- $.ajax({
- url: '<?php echo $site_config['base_url']; ?>inc/pulsa/order_rate.php',
- data: 'service=' + service,
- type: 'POST',
- dataType: 'html',
- success: function(msg) {
- $("#rate").val(msg);
- }
- });
- });
- });
- </script>
- <?php
- include("../lib/footer.php");
- } else {
- header("Location: ".$site_config['base_url']);
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment