SHARE
TWEET

api

a guest Apr 20th, 2019 126 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2. /**
  3.  * KangHL
  4.  * Domain: https://kanghl.web.id/
  5.  */
  6. require '../config.php';
  7. header('Content-Type: application/json');
  8. if ($maintenance == 1) {
  9.     $hasilnya = array('status' => false, 'data' => array('pesan' => 'Maintenance'));
  10.     exit(json_encode($hasilnya, JSON_PRETTY_PRINT));
  11. }
  12. if (isset($_POST['api_key']) AND isset($_POST['action'])) {
  13.     $apinya = $conn->real_escape_string($_POST['api_key']);
  14.     $aksinya = $_POST['action'];
  15.  
  16.     if (!$apinya || !$aksinya) {
  17.         $hasilnya = array('status' => false, 'data' => array('pesan' => 'Permintaan Tidak Sesuai'));
  18.  
  19.     } else {
  20.         $cek_usernya = $conn->query("SELECT * FROM users WHERE api_key = '$apinya'");
  21.         $datanya = $cek_usernya->fetch_assoc();
  22.         if (mysqli_num_rows($cek_usernya) == 1) {
  23.             if ($aksinya == 'pemesanan') {
  24.                 if (isset($_POST['layanan']) AND isset($_POST['target']) AND isset($_POST['no_meter'])) {
  25.                     $layanan = $conn->real_escape_string(trim(filter($_POST['layanan'])));
  26.                     $target = $conn->real_escape_string(trim(filter($_POST['target'])));
  27.                     $nomor_meteran = $conn->real_escape_string(trim(filter($_POST['no_meter'])));
  28.                     if (!$layanan || !$target || !$nomor_meteran) {
  29.                         $hasilnya = array('status' => false, 'data' => array('pesan' => 'Permintaan Tidak Sesuai'));
  30.                     } else {
  31.                         $cek_layanan = $conn->query("SELECT * FROM layanan_pulsa WHERE service_id = '$layanan' AND status = 'Normal'");
  32.                         $data_layanan = $cek_layanan->fetch_assoc();
  33.                         if (mysqli_num_rows($cek_layanan) == 0) {
  34.                             $hasilnya = array('status' => false, 'data' => array('pesan' =>'Layanan Tidak Tersedia'));
  35.                         } else {
  36.                             $order_id = acak_nomor(3).acak_nomor(4);
  37.                             $provider = $data_layanan['provider'];
  38.                              if ($datanya['saldo'] < $data_layanan['harga']) {
  39.                                 $hasilnya = array('status' => false, 'data' => array('pesan' =>'Saldo Tidak Mencukupi'));
  40.                             } else {
  41.                                 $cek_provider = $conn->query("SELECT * FROM provider WHERE code = '$provider'");
  42.                                 $data_provider = $cek_provider->fetch_assoc();
  43.  
  44.  
  45.             if ($provider == "JAVAH2H") {
  46.             $url = 'https://javah2h.com/api/connect/';
  47.             $header = array(
  48.              'h2h-userid: ',
  49.              'h2h-key: ', // lihat hasil autogenerate di member area
  50.              'h2h-secret: ', // lihat hasil autogenerate di member area
  51.             );
  52.                 if ($nomor_meteran == false) {
  53.                     $data = array(
  54.                         'inquiry' => 'I', // konstan
  55.                         'code' =>  $data_layanan['provider_id'], // kode produk
  56.                         'phone' => $target, // nohp pembeli
  57.                         'trxid_api' => $order_id, // Trxid / Reffid dari sisi client
  58.                     );
  59.                 } else if ($nomor_meteran == true) {
  60.                     $data = array(
  61.                         'inquiry' => 'PLN', // konstan
  62.                         'code' =>  $data_layanan['provider_id'], // kode produk
  63.                         'idcust' => $nomor_meteran, // nohp pembeli
  64.                         'trxid_api' => $order_id, // Trxid / Reffid dari sisi client
  65.                     );
  66.                 }
  67.             }
  68.                     $ch = curl_init();
  69.                     curl_setopt($ch, CURLOPT_URL, $url);
  70.                     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  71.                     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  72.                     curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
  73.                     curl_setopt($ch, CURLOPT_POST, 1);
  74.                     curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
  75.                     $response = curl_exec($ch);
  76.                     $result = json_decode($response, true);
  77.            
  78.             if ($provider = 'JAVAH2H' AND $result['result'] == 'failed') {
  79.                 $hasilnya = array('status' => false, 'data' => array('pesan' =>'Gangguan'));
  80.             } else {
  81.                 if ($provider == "JAVAH2H") {
  82.                     $provider_oid = $order_id;
  83.                 }
  84.                                     if ($conn->query("INSERT INTO pembelian_pulsa VALUES ('','$order_id', '$provider_oid', '".$datanya['username']."', '".$data_layanan['layanan']."', '".$data_layanan['harga']."', '".$data_layanan['profit']."', '$target', '$nomor_meteran', '-', 'Pending', '$date', '$time', 'API', '$provider', '0')") == true) {
  85.                    
  86.                                         $conn->query("UPDATE users SET saldo = saldo-".$data_layanan['harga'].", pemakaian_saldo = pemakaian_saldo+".$data_layanan['harga']." WHERE username = '".$datanya['username']."'");
  87.                                         $conn->query("INSERT INTO history_saldo VALUES ('', '".$datanya['username']."', 'Pengurangan Saldo', '".$data_layanan['harga']."', 'Pemesanan Pulsa Via API Dengan Order ID $order_id', '$date', '$time')");
  88.                                         $hasilnya = array('status' => true, 'data' => array('id' => $order_id));
  89.                                         } else {
  90.                                         $hasilnya = array('status' => false, 'data' => array('pesan' => 'System Error'));
  91.                                     }
  92.                                 }
  93.                             }
  94.                         }
  95.                     }
  96.                 } else {
  97.                     $hasilnya = array('status' => false, 'data' => array('pesan' => 'System Error'));
  98.                     }
  99.             } else if ($aksinya == 'status') {
  100.                 if (isset($_POST['id'])) {
  101.                     $order_id = $conn->real_escape_string(trim($_POST['id']));
  102.                     $cek_pesanan = $conn->query("SELECT * FROM pembelian_pulsa WHERE oid = '$order_id' AND user = '".$datanya['username']."'");
  103.                     $data_pesanan = mysqli_fetch_array($cek_pesanan);
  104.                     if (mysqli_num_rows($cek_pesanan) == 0) {
  105.                         $hasilnya = array('status' => false, 'data' => array('pesan' => 'Order ID Tidak Di Temukan'));
  106.                     } else {
  107.                         $hasilnya = array('status' => true, 'data' => array("id" => $data_pesanan['oid'], 'status' => $data_pesanan['status'], 'catatan' => $data_pesanan['keterangan']));
  108.                     }
  109.                 } else {
  110.                     $hasilnya = array('status' => false, 'data' => array('pesan' => 'Permintaan Tidak Sesuai'));
  111.                 }
  112.             } else if ($aksinya == 'layanan') {
  113.                     $cek_layanan = $conn->query("SELECT * FROM layanan_pulsa ORDER BY service_id ASC");
  114.                     while($rows = mysqli_fetch_array($cek_layanan)){
  115.                     $hasilnya = "-";
  116.                     $this_data[] = array('sid' => $rows['service_id'], 'operator' => $rows['operator'], 'layanan' => $rows['layanan'], 'harga' => $rows['harga'],'status' => $rows['status']);
  117.                 }
  118.                         $hasilnya = array('status' => true, 'data' => $this_data);
  119.             } else {
  120.                 $hasilnya = array('status' => false, 'data' => array('pesan' => 'Permintaan Salah'));
  121.             }
  122.         } else {
  123.             $hasilnya = array('status' => false, 'data' => array('pesan' => 'Api Key Salah'));
  124.         }
  125.     }
  126. } else {
  127.     $hasilnya = array('status' => false, 'data' => array('pesan' => 'Permintaan Tidak Sesuai'));
  128. }
  129.  
  130. print(json_encode($hasilnya, JSON_PRETTY_PRINT));
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top