%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Payconfirm extends CI_Controller { /** * Payment Confirmation Page for this controller. */ function __construct() { parent::__construct(); $this->load->model('contact_us_model', 'contact'); $this->load->model('department_model', 'department'); $this->load->model('paymentconfirm_model', 'paymentconfirm'); } public function index() { $data = array(); $success = ''; $data = array(); $success = ''; $post=$this->input->post(); $key = base64_decode($_GET['key']); // Get Applicants Details if($key=='') { redirect(); } $getRows = $this->paymentconfirm->getDetails('applicants',$key); $data['apdetails'] = $getRows; $page_id = $getRows['lpage_id']; if($page_id=='') { redirect(); } // Get Landing Page Details $lpageDetails = $this->paymentconfirm->getLandingpDetails('landing_pages',array('id'=>$page_id)); $data['lpdetails'] = $lpageDetails; // Get State List $data['stateArray'] = $this->paymentconfirm->getCommonRecords('master_states',array('id'=>$getRows['state_id'])); // Get City List $data['cityArray'] = $this->paymentconfirm->getCommonRecords('master_cities',array('id'=>$getRows['city_id'])); $order_id = date('Y').$userDetails['lpage_id'].$this->generateRandomNumber().time(); // Generate Order ID $data['order_id'] = base64_encode($order_id); $this->load->view('paymentconfirm/payment',$data); } /* * Function : confirmpaynow */ public function confirmpaynow(){ $data = array(); $success = ''; $error_msg = ''; $post=$this->input->post(); if($post) { $order_id = base64_decode($post['oid']); $userDetails = $this->paymentconfirm->getCommonRecords('applicants',array('application_no'=>$post['view_respcode'])); // Get Landing Page Details $lpageDetails = $this->paymentconfirm->getLandingpDetails('landing_pages',array('id'=>$userDetails['lpage_id'])); // Get State List $stateArray = $this->paymentconfirm->getCommonRecords('master_states',array('id'=>$userDetails['state_id'])); // Get City List $cityArray = $this->paymentconfirm->getCommonRecords('master_cities',array('id'=>$userDetails['city_id'])); $params = array(); $params['order_id'] = $order_id; $params['amount'] = $lpageDetails['consultation_fee']; $params['currency_code'] = 'INR'; $params['patient_name'] = $userDetails['name']; $params['patient_address'] = $cityArray['title'].', '.$stateArray['title'].', India'; $params['patient_city'] = $cityArray['title']; $params['patient_state'] = $stateArray['title']; $params['patient_zip'] = ''; $params['patient_country'] = 'India'; $params['patient_mobile'] = $userDetails['mob']; $params['patient_email'] = $userDetails['email']; $params['order_date'] = date('Y-m-d H:i:s'); $params['order_tid'] = $post['tid']; $params['payment_status'] = 'Inprogress'; $params['lpage_id'] = $userDetails['lpage_id']; $params['application_no'] = $userDetails['application_no']; $params['status'] = '2'; $updateParams = array(); $updateParams = array( 'order_item_id' => $post['merchant_param3'], 'payment_status' => '2', 'updated' => date('Y-m-d H:i:s') ); // Set Order Item ID $success = $this->paymentconfirm->updatebookingdetails($updateParams,$post['view_respcode']); // Save Params Data in Transaction Table $response = $this->paymentconfirm->getCommonRecords('tbl_appointment_payments',array('order_id'=>$params['order_id'])); if(empty($response)) { $this->paymentconfirm->insertbookingdetails($params, 'tbl_appointment_payments'); } if(($success)&&($success!='')) { $data['post'] = $params; $this->load->view('icici/iciciAppRequest',$data); } else { echo '<script>alert("Unable to submit your request. Kindly try again later.");</script>'; } } } /* * Function : appointmentresponse */ public function appointmentresponse() { date_default_timezone_set('Asia/Kolkata'); $currentTime = date( 'd-m-Y h:i:s A', time()); // Save Payment Transaction details $post=$this->input->post(); if($post) { $order_status=''; $bank_ref_num=''; $tracking_num=''; $order_id=''; $order_id = $post['oid']; $response = array(); $order_status = $post['status']; $data['order_status']=$order_status; $status = '3'; if($order_status=='APPROVED') { $status = '4'; } $update_data = array(); $update_data = array( 'payment_status'=> $order_status, 'bank_ref_number' => $post['endpointTransactionId'], 'payment_tracking_number' => $post['ipgTransactionId'], 'status' => $status, 'payment_failure_msg' => $post['fail_reason'] ); $success = $this->paymentconfirm->updatebookingdetails($update_data,$order_id,'order_id', 'tbl_appointment_payments'); $insertArray = array(); // Save Payment Transaction Details $insertArray = array( 'order_id'=>$order_id, 'txndate_processed'=>$_POST['txndate_processed'], 'timezone'=>$_POST['timezone'], 'ccbin'=>$_POST['ccbin'], 'response_key'=>$_POST['response_hash'], 'transaction_id'=>$_POST['ipgTransactionId'], 'bank_ref_no'=>$_POST['endpointTransactionId'], 'order_status'=>$_POST['status'], 'failure_message'=>$_POST['fail_reason'], 'payment_method'=>$_POST['paymentMethod'], 'card_name'=>$_POST['cardnumber'], 'transaction_status'=>$_POST['status'], 'status_message'=>$_POST['status_message'], 'currency'=>$_POST['currency'], 'hash_algorithm'=>$_POST['hash_algorithm'], 'expmonth'=>$_POST['expmonth'], 'processor_response_code'=>$_POST['processor_response_code'], 'transaction_amount'=>$_POST['chargetotal'], 'txntype'=>$_POST['txntype'], 'ccbrand'=>$_POST['ccbrand'], 'bname'=>$_POST['bname'], 'installments_interest'=>$_POST['installments_interest'], 'response_code_3dsecure'=>$_POST['response_code_3dsecure'], 'approval_code'=>$_POST['approval_code'], 'terminal_id'=>$_POST['terminal_id'], 'expyear'=>$_POST['expyear'], 'transaction_date'=>$_POST['txndatetime'], 'scheme_transaction_id'=>$_POST['schemeTransactionId'], 'ip_address'=>$this->get_client_ip(), 'response_code'=>$_POST['fail_rc'], 'tdate'=>$_POST['tdate'], 'bin_country'=>$_POST['cccountry'] ); // Get Order Booking Details $appointmentResp = $this->paymentconfirm->getCommonRecords('tbl_appointment_payments',array('order_id'=>$order_id)); // Landing Page Details $applicants = $this->paymentconfirm->getCommonRecords('applicants',array('application_no'=>trim($appointmentResp['application_no']))); $data['applicants'] = $applicants; $data['response'] = $appointmentResp; // Get Landing Page Details $lpageDetails = $this->paymentconfirm->getLandingpDetails('landing_pages',array('id'=>$appointmentResp['lpage_id'])); $data['lpageDetails'] = $lpageDetails; //Validate transaction details $results = ''; $results = $this->paymentconfirm->getCommonRecords('tbl_payment_transactions',array('order_id'=>$order_id)); $data['results'] = $results; if(empty($results['order_id'])) { $success = $this->paymentconfirm->insertbookingdetails($insertArray,'tbl_payment_transactions'); if($status=='4') { $this->sendSystemIdGenMsg($data, $insertArray); } $cparams = ''; $cparams = array('payment_status'=>'4','order_item_id'=>$order_id); $this->paymentconfirm->updatebookingdetails($cparams,$appointmentResp['application_no'],'application_no','applicants'); } } //$this->sendSystemIdGenMsg($data, $insertArray); if($status=='4') { $this->load->view('paymentconfirm/payment_success',$data); } else { $this->load->view('paymentconfirm/payment_failed',$data); } } function generateRandomNumber($size = 6) { $random_number=''; $count=0; while ($count < $size ) { $random_digit = mt_rand(0, 9); $random_number .= $random_digit; $count++; } return $random_number; } /* * Get Client IP Address */ function get_client_ip() { $ipaddress = ''; if (isset($_SERVER['HTTP_CLIENT_IP'])) $ipaddress = $_SERVER['HTTP_CLIENT_IP']; else if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) $ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR']; else if(isset($_SERVER['HTTP_X_FORWARDED'])) $ipaddress = $_SERVER['HTTP_X_FORWARDED']; else if(isset($_SERVER['HTTP_FORWARDED_FOR'])) $ipaddress = $_SERVER['HTTP_FORWARDED_FOR']; else if(isset($_SERVER['HTTP_FORWARDED'])) $ipaddress = $_SERVER['HTTP_FORWARDED']; else if(isset($_SERVER['REMOTE_ADDR'])) $ipaddress = $_SERVER['REMOTE_ADDR']; else $ipaddress = 'UNKNOWN'; return $ipaddress; } /* * Function : sendSystemIdGenMsg */ public function sendSystemIdGenMsg($dtl) { $applicants = $dtl['applicants']; $lpageDetails = $dtl['lpageDetails']; $response = $dtl['response']; $emailArray = array(); $emailArray['name'] = $applicants['name']; $emailArray['email'] = $applicants['email']; $emailArray['mob'] = $applicants['mob']; $emailArray['application_no'] = $applicants['application_no']; $emailArray['trimed_title'] = $lpageDetails['trimed_title']; $emailArray['appointment_datetime'] = $applicants['appointment_datetime']; $emailArray['title'] = $lpageDetails['title']; $emailArray['order_id'] = $response['order_id']; $emailArray['status'] = $response['payment_status']; $emailArray['creation_date'] = $response['creation_date']; $emailArray['amount'] = $response['amount'].' '.$response['currency_code']; /*if($sms){ $timeStamp = strtotime($dtl['appointment_datetime']); $date = date('Y-m-d', $time); $time = date('H:i', $timeStamp); $sms = str_ireplace('%date%',$date, $sms); $sms = str_ireplace('%time%',$time, $sms); send_sms_alert($dtl['mob'], $sms); }*/ $emailMsg=$this->load->view("paymentconfirm/email_template", $emailArray, TRUE); // send_conf_email('amit.verma@shardatech.org', "Thank You your payment has been successful", $emailMsg); send_conf_email($emailArray['email'], "Thank You ".$applicants['name']." payment has been successful", $emailMsg); return true; } }