function CI_Simponi() { // tcpdf constructor parent::__construct(); }
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(); } }
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"); }