dhiforester

Cek Kartu Peserta

Dec 22nd, 2023
197
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 11.47 KB | Cybersecurity | 0 0
  1. <?php
  2.     include "../../_Config/Connection.php";
  3.     include "../../_Config/Function.php";
  4.     include "../../vendor/autoload.php";
  5.     //Fungsi tambahan untuk proses deksripsi dan dekompresi
  6.     function stringDecrypt($key, $string){
  7.         $encrypt_method = 'AES-256-CBC';
  8.         // hash
  9.         $key_hash = hex2bin(hash('sha256', $key));
  10.         // iv - encrypt method AES-256-CBC expects 16 bytes - else you will get a warning
  11.         $iv = substr(hex2bin(hash('sha256', $key)), 0, 16);
  12.         $output = openssl_decrypt(base64_decode($string), $encrypt_method, $key_hash, OPENSSL_RAW_DATA, $iv);
  13.         return $output;
  14.     }
  15.     function decompress($string){
  16.         return \LZCompressor\LZString::decompressFromEncodedURIComponent($string);
  17.     }
  18.     //Menangkap no_bpjs
  19.     if(empty($_POST['no_bpjs'])){
  20.         echo '<div class="row">';
  21.         echo '  <div class="col-md-12 text-center text-danger">';
  22.         echo '      No Kartu BPJS Tidak Boleh Kosong!';
  23.         echo '  </div>';
  24.         echo '</div>';
  25.     }else{
  26.         $no_bpjs=$_POST['no_bpjs'];
  27.         //Membuka Pengaturan
  28.         $cons_id=getSettingVclaim($Conn,'cons_id');
  29.         $url_api=getSettingVclaim($Conn,'url_api');
  30.         $kode_ppk=getSettingVclaim($Conn,'kode_ppk');
  31.         $user_key=getSettingVclaim($Conn,'user_key');
  32.         $secret_key=getSettingVclaim($Conn,'secret_key');
  33.         if(empty($cons_id)){
  34.             echo '<div class="row">';
  35.             echo '  <div class="col-md-12 text-center text-danger">';
  36.             echo '      Tidak ada pengaturan bridging yang aktiv!';
  37.             echo '  </div>';
  38.             echo '</div>';
  39.         }else{
  40.             //Time
  41.             $timestamp = strval(time()-strtotime('1970-01-01 00:00:00'));
  42.             //Creat Signature
  43.             $signature = hash_hmac('sha256', $cons_id."&".$timestamp, $secret_key, true);
  44.             // base64 encode…
  45.             $encodedSignature = base64_encode($signature);
  46.             //Membuat header
  47.             $headers = array(
  48.                 'X-signature: '.$encodedSignature.'',
  49.                 'X-timestamp: '.$timestamp.'' ,
  50.                 'X-cons-id: '.$cons_id .'',
  51.                 'user_key: '.$user_key.'',
  52.                 'Content-Type:Application/x-www-form-urlencoded'        
  53.             );
  54.             //Membuat URL
  55.             $TanggalSekarang=date('Y-m-d');
  56.             $url="$url_api/Peserta/nokartu/$no_bpjs/tglSEP/$TanggalSekarang";
  57.             //Mulai CURL
  58.             $ch = curl_init();
  59.             curl_setopt($ch,CURLOPT_URL, "$url");
  60.             curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
  61.             curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  62.             curl_setopt($ch,CURLOPT_HEADER, 0);
  63.             curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
  64.             curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
  65.             curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  66.             $content = curl_exec($ch);
  67.             $err = curl_error($ch);
  68.             curl_close($ch);
  69.             if(empty($content)){
  70.                 echo '<div class="row">';
  71.                 echo '  <div class="col-md-12 text-center text-danger">';
  72.                 echo '      Tidak ada Response Dari Server BPJS!';
  73.                 echo '  </div>';
  74.                 echo '</div>';
  75.             }else{
  76.                 $ambil_json =json_decode($content, true);
  77.                 if(empty($ambil_json["metaData"])){
  78.                     echo '<div class="row">';
  79.                     echo '  <div class="col-md-12 text-center text-danger">';
  80.                     echo '      Tidak Ada Code '.$content.'';
  81.                     echo '  </div>';
  82.                     echo '</div>';
  83.                 }else{
  84.                     $code=$ambil_json["metaData"]["code"];
  85.                     if($code!=="200"){
  86.                         echo '<div class="row">';
  87.                         echo '  <div class="col-md-12 text-center text-danger">';
  88.                         echo '      '.$ambil_json["message"].'';
  89.                         echo '  </div>';
  90.                         echo '</div>';
  91.                     }else{
  92.                         $string=$ambil_json["response"];
  93.                         //Proses decode dan dekompresi
  94.                         $key="$cons_id$secret_key$timestamp";
  95.                         $FileDeskripsi=stringDecrypt("$key", "$string");
  96.                         $FileDekompresi=decompress("$FileDeskripsi");
  97.                         $JsonData =json_decode($FileDekompresi, true);
  98.                         $nama=$JsonData["peserta"]["nama"];
  99.                         $nik=$JsonData["peserta"]["nik"];
  100.                         $noKartu=$JsonData["peserta"]["noKartu"];
  101.                         $pisa=$JsonData["peserta"]["pisa"];
  102.                         $sex=$JsonData["peserta"]["sex"];
  103.                         $tglCetakKartu=$JsonData["peserta"]["tglCetakKartu"];
  104.                         $tglLahir=$JsonData["peserta"]["tglLahir"];
  105.                         $tglTAT=$JsonData["peserta"]["tglTAT"];
  106.                         $tglTMT=$JsonData["peserta"]["tglTMT"];
  107.                         //COB
  108.                         $nmAsuransi=$JsonData["peserta"]["cob"]["nmAsuransi"];
  109.                         $noAsuransi=$JsonData["peserta"]["cob"]["noAsuransi"];
  110.                         $tglTAT=$JsonData["peserta"]["cob"]["tglTAT"];
  111.                         $tglTMT=$JsonData["peserta"]["cob"]["tglTMT"];
  112.                         //hakKelas
  113.                         $hakKelasketerangan=$JsonData["peserta"]["hakKelas"]["keterangan"];
  114.                         $hakKelaskode=$JsonData["peserta"]["hakKelas"]["kode"];
  115.                         //informasi
  116.                         $dinsos=$JsonData["peserta"]["informasi"]["dinsos"];
  117.                         $noSKTM=$JsonData["peserta"]["informasi"]["noSKTM"];
  118.                         $prolanisPRB=$JsonData["peserta"]["informasi"]["prolanisPRB"];
  119.                         //jenisPeserta
  120.                         $jenisPesertaketerangan=$JsonData["peserta"]["jenisPeserta"]["keterangan"];
  121.                         $jenisPesertakode=$JsonData["peserta"]["jenisPeserta"]["kode"];
  122.                         //mr
  123.                         $noMR=$JsonData["peserta"]["mr"]["noMR"];
  124.                         $noTelepon=$JsonData["peserta"]["mr"]["noTelepon"];
  125.                         //provUmum
  126.                         $kdProvider=$JsonData["peserta"]["provUmum"]["kdProvider"];
  127.                         $nmProvider=$JsonData["peserta"]["provUmum"]["nmProvider"];
  128.                         //statusPeserta
  129.                         $statusPesertaketerangan=$JsonData["peserta"]["statusPeserta"]["keterangan"];
  130.                         $statusPesertakode=$JsonData["peserta"]["statusPeserta"]["kode"];
  131.                         //umur
  132.                         $umurSaatPelayanan=$JsonData["peserta"]["umur"]["umurSaatPelayanan"];
  133.                         $umurSekarang=$JsonData["peserta"]["umur"]["umurSekarang"];
  134.                         if(!empty($noKartu)){
  135.                             echo '<div class="table table-responsive pre-scrollable">';
  136.                             echo '  <table class="table table-hover">';
  137.                             echo '      <tr>';
  138.                             echo '          <td><dt>No.Kartu</dt></td>';
  139.                             echo '          <td><dt>:</dt></td>';
  140.                             echo '          <td>'.$noKartu.'</td>';
  141.                             echo '      </tr>';
  142.                             echo '      <tr>';
  143.                             echo '          <td><dt>No.NIK</dt></td>';
  144.                             echo '          <td><dt>:</dt></td>';
  145.                             echo '          <td>'.$nik.'</td>';
  146.                             echo '      </tr>';
  147.                             echo '      <tr>';
  148.                             echo '          <td><dt>No.RM & No.Telepon</dt></td>';
  149.                             echo '          <td><dt>:</dt></td>';
  150.                             echo '          <td>'.$noMR.' & '.$noTelepon.'</td>';
  151.                             echo '      </tr>';
  152.                             echo '      <tr>';
  153.                             echo '          <td><dt>Nama</dt></td>';
  154.                             echo '          <td><dt>:</dt></td>';
  155.                             echo '          <td>'.$nama.' ('.$sex.')</td>';
  156.                             echo '      </tr>';
  157.                             echo '      <tr>';
  158.                             echo '          <td><dt>Tanggal Lahir</dt></td>';
  159.                             echo '          <td><dt>:</dt></td>';
  160.                             echo '          <td>'.$tglLahir.'</td>';
  161.                             echo '      </tr>';
  162.                             echo '      <tr>';
  163.                             echo '          <td><dt>Umur Peserta</dt></td>';
  164.                             echo '          <td><dt>:</dt></td>';
  165.                             echo '          <td>'.$umurSaatPelayanan.'<br>'.$umurSekarang.'</td>';
  166.                             echo '      </tr>';
  167.                             echo '      <tr>';
  168.                             echo '          <td><dt>Hak Kelas</dt></td>';
  169.                             echo '          <td><dt>:</dt></td>';
  170.                             echo '          <td>'.$hakKelaskode.'-'.$hakKelasketerangan.'</td>';
  171.                             echo '      </tr>';
  172.                             echo '      <tr>';
  173.                             echo '          <td><dt>Jenis Peserta</dt></td>';
  174.                             echo '          <td><dt>:</dt></td>';
  175.                             echo '          <td>'.$jenisPesertakode.'-'.$jenisPesertaketerangan.'</td>';
  176.                             echo '      </tr>';
  177.                             echo '      <tr>';
  178.                             echo '          <td><dt>Provider</dt></td>';
  179.                             echo '          <td><dt>:</dt></td>';
  180.                             echo '          <td>'.$kdProvider.'-'.$nmProvider.'</td>';
  181.                             echo '      </tr>';
  182.                             echo '      <tr>';
  183.                             echo '          <td><dt>Dinsos</dt></td>';
  184.                             echo '          <td><dt>:</dt></td>';
  185.                             echo '          <td>'.$dinsos.'</td>';
  186.                             echo '      </tr>';
  187.                             echo '      <tr>';
  188.                             echo '          <td><dt>No.SKTM</dt></td>';
  189.                             echo '          <td><dt>:</dt></td>';
  190.                             echo '          <td>'.$noSKTM.'</td>';
  191.                             echo '      </tr>';
  192.                             echo '      <tr>';
  193.                             echo '          <td><dt>Prolansi PRB</dt></td>';
  194.                             echo '          <td><dt>:</dt></td>';
  195.                             echo '          <td>'.$prolanisPRB.'</td>';
  196.                             echo '      </tr>';
  197.                             echo '      <tr>';
  198.                             echo '          <td><dt>Status</dt></td>';
  199.                             echo '          <td><dt>:</dt></td>';
  200.                             echo '          <td>'.$statusPesertakode.'-'.$statusPesertaketerangan.'</td>';
  201.                             echo '      </tr>';
  202.                             echo '  </table>';
  203.                             echo '</div>';
  204.                         }else{
  205.                             echo "<span class='text-danger'>Data Tidak Ditemukan</span>";
  206.                         }
  207.                     }
  208.                 }
  209.             }
  210.         }
  211.     }
  212.  
  213. ?>
Tags: simrs
Add Comment
Please, Sign In to add comment