Advertisement
Guest User

api

a guest
Apr 20th, 2019
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.28 KB | None | 0 0
  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));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement