Example #1
0
 function CI_Simponi()
 {
     // tcpdf constructor
     parent::__construct();
 }
Example #2
0
 public function testSimponi()
 {
     try {
         $this->load->library("simponi");
         //create ws client
         $wsClient = new SimponiBRIService();
         //set request params
         $requestParams = new PaymentRequest();
         $requestParams->appsId = "002";
         $requestParams->invoiceNo = "002";
         $requestParams->routeId = "003";
         //set payment header
         $paymentHeader = new PaymentHeader();
         $paymentHeader->TrxId = "";
         $paymentHeader->UserId = "";
         $paymentHeader->Password = "";
         $paymentHeader->ExpiredDate = "2015-09-28 10:10:00";
         $paymentHeader->DateSent = "";
         $paymentHeader->KodeKL = "022";
         $paymentHeader->KodeEselon1 = "05";
         $paymentHeader->KodeSatker = "288042";
         $paymentHeader->JenisPNBP = "F";
         $paymentHeader->KodeMataUang = "1";
         $paymentHeader->TotalNominalBilling = 100000;
         $paymentHeader->NamaWajibBayar = "MORAJIMMY";
         //set payment detail
         $paymentDetail = new PaymentDetail();
         $paymentDetail->NamaWajibBayar = "MORAJIMMY";
         $paymentDetail->KodeTarifSimponi = "003896";
         $paymentDetail->KodePPSimponi = "2015011";
         $paymentDetail->KodeAkun = "423214";
         $paymentDetail->TarifPNBP = 100000;
         $paymentDetail->Volume = 1;
         $paymentDetail->Satuan = "per flight approval";
         $paymentDetail->TotalTarifPerRecord = 100000;
         //set payment detail list
         $paymentDetails = new PaymentDetailList();
         //add payment detail to list
         $paymentDetails->PaymentDetail[] = $paymentDetail;
         $paymentData = new requestData($paymentHeader, $paymentDetails);
         //set request params : payment data
         $requestParams->data = $paymentData;
         //get responses
         $simponiResponse = $wsClient->PaymentRequest($requestParams);
         $response = $simponiResponse->response;
         //get simponi data
         $simponiData = $response->simponiData;
         echo $simponiData->KodeBillingSimponi;
     } catch (Exception $exc) {
         echo "gagal request billing karena :<br/>" . $exc->getMessage();
     }
 }
Example #3
0
 public function create_invoices_process()
 {
     // set page rules
     $this->_set_page_rule("C");
     // cek input
     $this->tnotification->set_rules('izin_id', '/ pilihan Ijin Rute', 'required');
     // process
     if ($this->tnotification->run() !== FALSE) {
         $data = $this->input->post('izin_id');
         // tarif
         $tarif = $this->m_payment->get_tabel_tarif_rute();
         $search = $this->tsession->userdata('search_payment');
         $data_flight = empty($search['data_flight']) ? 'domestik' : $search['data_flight'];
         //get last invoice no transaction
         $invoice_no = $this->m_payment->get_last_rute_invoice_no($this->com_user["airlines_id"]);
         // get inv id
         $inv_id = $this->m_payment->get_invoice_id();
         //load library
         $this->load->library("simponi");
         //get kode billing
         try {
             //get preferences
             $apps_id_pref = $this->m_preferences->get_preferences_by_group_and_name(array("simponi", "rute_app_id"));
             $route_id_pref = $this->m_preferences->get_preferences_by_group_and_name(array("simponi", "default_channel"));
             $kode_kl_pref = $this->m_preferences->get_preferences_by_group_and_name(array("simponi", "kode_kl"));
             $kode_es1_pref = $this->m_preferences->get_preferences_by_group_and_name(array("simponi", "kode_eselon1"));
             $kode_satker_pref = $this->m_preferences->get_preferences_by_group_and_name(array("simponi", "kode_satker"));
             $kode_tarif_rute_baru_pref = $this->m_preferences->get_preferences_by_group_and_name(array("simponi", "kode_tarif_rute_baru"));
             $kode_tarif_rute_add_pref = $this->m_preferences->get_preferences_by_group_and_name(array("simponi", "kode_tarif_rute_add"));
             $kode_pp_pref = $this->m_preferences->get_preferences_by_group_and_name(array("simponi", "kode_pp"));
             $kode_akun_pref = $this->m_preferences->get_preferences_by_group_and_name(array("simponi", "kode_akun_rute"));
             $tarif_freq_add = $this->m_preferences->get_preferences_by_group_and_name(array("tarif_rute", "frekuensi_add"));
             $tarif_freq_baru = $this->m_preferences->get_preferences_by_group_and_name(array("tarif_rute", "baru"));
             $user_pref = $this->m_preferences->get_preferences_by_group_and_name(array("simponi", "user_id"));
             $pass_pref = $this->m_preferences->get_preferences_by_group_and_name(array("simponi", "password"));
             //get total invoice
             $total = 0;
             $kode_tarif_rute = "";
             $satuan = "";
             $nominal = 0;
             $paymentDetails = new PaymentDetailList();
             $tarif_rute = 0;
             foreach ($data as $value) {
                 // total inv
                 $detail_registrasi = $this->m_payment->get_detail_izin_by_id($value);
                 $total = $total + $detail_registrasi["total_invoice"];
                 if ($detail_registrasi["group_alias"] == "baru") {
                     $tarif_rute = $tarif_freq_baru["pref_value"];
                     $kode_tarif_rute = $kode_tarif_rute_baru_pref["pref_value"];
                     $satuan = "per penggal rute";
                 } else {
                     $tarif_rute = $tarif_freq_add["pref_value"];
                     $kode_tarif_rute = $kode_tarif_rute_add_pref["pref_value"];
                     $satuan = "per frekuensi";
                 }
                 //set payment detail
                 $paymentDetail = new PaymentDetail();
                 $paymentDetail->NamaWajibBayar = $this->com_user["airlines_nm"];
                 $paymentDetail->KodeTarifSimponi = $kode_tarif_rute;
                 $paymentDetail->KodePPSimponi = $kode_pp_pref["pref_value"];
                 $paymentDetail->KodeAkun = $kode_akun_pref["pref_value"];
                 $paymentDetail->TarifPNBP = $tarif_rute;
                 $paymentDetail->Volume = 1;
                 $paymentDetail->Satuan = $satuan;
                 $paymentDetail->TotalTarifPerRecord = $detail_registrasi["total_invoice"];
                 //add payment detail to list
                 $paymentDetails->PaymentDetail[] = $paymentDetail;
             }
             //create ws client
             $wsClient = new SimponiBRIService();
             //set request params
             $requestParams = new PaymentRequest();
             $requestParams->appsId = $apps_id_pref["pref_value"];
             $requestParams->invoiceNo = $invoice_no;
             $requestParams->routeId = $route_id_pref["pref_value"];
             //set payment header
             $date = new DateTime();
             $currdate = $date->format("Y-m-d H:i:s");
             $extdate = $date->add(new DateInterval('P2D'));
             $expdate = $extdate->format("Y-m-d H:i:s");
             $paymentHeader = new PaymentHeader();
             $paymentHeader->TrxId = $inv_id;
             $paymentHeader->UserId = $user_pref["pref_value"];
             $paymentHeader->Password = $pass_pref["pref_value"];
             $paymentHeader->ExpiredDate = $expdate;
             $paymentHeader->DateSent = $currdate;
             $paymentHeader->KodeKL = $kode_kl_pref["pref_value"];
             $paymentHeader->KodeEselon1 = $kode_es1_pref["pref_value"];
             $paymentHeader->KodeSatker = $kode_satker_pref["pref_value"];
             $paymentHeader->JenisPNBP = "F";
             $paymentHeader->KodeMataUang = "1";
             $paymentHeader->TotalNominalBilling = $total;
             $paymentHeader->NamaWajibBayar = $this->com_user["airlines_nm"];
             $paymentData = new requestData($paymentHeader, $paymentDetails);
             //set request params : payment data
             $requestParams->data = $paymentData;
             //get responses
             $simponiResponse = $wsClient->PaymentRequest($requestParams);
             $response = $simponiResponse->response;
             //get simponi data
             $simponiData = $response->simponiData;
             if ($response->code == "00") {
                 // params invoices
                 $params = array("inv_id" => $inv_id, "airlines_id" => $this->com_user['airlines_id'], "category" => "2", "virtual_account" => $simponiData->KodeBillingSimponi, "invoice_no" => $invoice_no, "inv_st" => "open", "inv_date" => $currdate, "inv_due_date" => $expdate, "generate_st" => "no", "mdb" => $this->com_user['user_id'], "mdd" => date('Y-m-d H:i:s'));
                 // insert invoices
                 $total_inv = 0;
                 if ($this->m_payment->insert_invoice($params)) {
                     foreach ($data as $value) {
                         $params = array("00", $currdate, $expdate, $simponiData->KodeBillingSimponi, $this->com_user['user_id'], $value);
                         if ($this->m_payment->is_rute_already_billed($value) == "0") {
                             $this->m_payment->update_rute_kode_billing($params);
                         } else {
                             $this->tnotification->sent_notification("error", "Permohonan sudah memiliki kode billing !");
                             redirect("member/payment_izin");
                         }
                         // total inv
                         $detail_registrasi = $this->m_payment->get_detail_izin_by_id($value);
                         $total_inv = $total_inv + $detail_registrasi["total_invoice"];
                         //set invoice detail params
                         $detail_params = array("detail_id" => $this->m_payment->get_invoice_detail_id(), "register_id" => $value, "virtual_account" => $simponiData->KodeBillingSimponi, "amount" => $detail_registrasi["total_invoice"], "mdd" => date("Y-m-d h:i:s"));
                         $this->m_payment->insert_invoice_detail($detail_params);
                     }
                     // update invoices
                     $params = array("inv_st" => "pending", "inv_total" => $total_inv);
                     $where = array("inv_id" => $inv_id, "airlines_id" => $this->com_user['airlines_id'], "inv_st" => 'open');
                     if (intval($total_inv) > 0) {
                         $this->m_payment->update_invoices($params, $where);
                     }
                     // kasih email disini!
                     $this->m_payment->send_email_tagihan_izin($inv_id, $this->com_user["user_mail"], "Tagihan Pembayaran Ijin Rute Online");
                     // success
                     $this->tnotification->delete_last_field();
                     $this->tnotification->sent_notification("success", "Data berhasil disimpan");
                     // redirect
                     redirect("member/payment_izin/cetak_penagihan/" . $inv_id);
                 } else {
                     // default error
                     $this->tnotification->sent_notification("error", "Data payment gagal disimpan");
                 }
             } else {
                 $this->tnotification->sent_notification("error", "gagal generate kode billing karena : " . $response->code . " - " . $response->message);
             }
         } catch (Exception $exc) {
             $this->tnotification->sent_notification("error", "gagal generate kode billing karena :" . $exc->getMessage());
         }
     } else {
         // default error
         $this->tnotification->sent_notification("error", "Data payment gagal disimpan");
     }
     // redirect
     redirect("member/payment_izin");
 }