dashboard :suseendhiran

This commit is contained in:
suseendhiran17 2023-06-07 11:42:29 +05:30
commit aa5d8f060d
8 changed files with 202 additions and 58 deletions

View File

@ -55,6 +55,7 @@ $routes->match(['get'],'/scheduler','Member_controller::scheduler');
$routes->get('/payment', 'PaymentController::index');
$routes->get('/payment_success/(:any)', 'PaymentController::payment_success/$1');
$routes->get('/payment_failed/(:any)', 'PaymentController::payment_failed/$1');
$routes->post('/payment/(:any)', 'PaymentController::index/$1');
$routes->get('payment_form', 'PaymentController::payment_form');
$routes->post('processPayment', 'PaymentController::processPayment');

View File

@ -568,7 +568,6 @@ class Member_controller extends BaseController
}
echo view('memberaccess',$data); //dashboard
}
// -----------------------------------------------
}

View File

@ -135,7 +135,7 @@ class PaymentController extends BaseController
$amount = $amount + $cost;
$item_count = $item_count + $single_pack_no_of_count;
$item_count = $item_count + $CartData[$i]['count'];
}
$data['amount'] = $amount;
@ -144,9 +144,8 @@ class PaymentController extends BaseController
$data['gst'] = $gst;
$data['pst'] = $pst;
$data['packageArray'] = $packageArray;
$data['userdata']=$this->dModel->getLoggedInMemberData(session()->get('logged_user'));
$data['userDefaultAddress'] = $this->MemberModel->getDefaultAddress(session()->get('logged_user'));
$data['userAddress'] = $this->MemberAddressModel->where('member_id',session()->get('logged_user'))->findAll();
$data['userdata'] = $this->MemberModel->where('id',session()->get('logged_user'))->find();
//$data['userAddress'] = $this->MemberAddressModel->where('member_id',session()->get('logged_user'))->findAll();
// echo '<pre>';
// print_r($data);
// echo '</pre>';
@ -180,7 +179,11 @@ class PaymentController extends BaseController
$idempotencyKey = $data->idempotencyKey;
$amount = $data->amount;
$order_id = $data->order_id;
$address_id = $data->address_id;
$add = $data->address;
parse_str( $add, $address);
//print_r($add);die();
$Final_amount = round( ( $amount + (($amount * ($gst + $pst) ) / 100) ) , 2 );
$square_client = new SquareClient([
@ -219,13 +222,17 @@ class PaymentController extends BaseController
$data = json_encode($response->getResult());
$result = json_decode( $data ,true);
$TrancactionId = $result['payment']['id'];
$payment_order_id = $result['payment']['order_id'];
//Trancaction Table Data
$TrancactionData['status'] = 'success';
$TrancactionData['member_id'] = session()->get('logged_user');
$TrancactionData['address_id'] = $address_id;
$TrancactionData['transaction_id'] = $TrancactionId;
$TrancactionData['payment_order_id'] = $payment_order_id;
$TrancactionData['first_name'] = $address['name'];
$TrancactionData['last_name'] = $address['last_name'];
$TrancactionData['address'] = $address['address'];
$TrancactionData['state'] = $address['state'];
$TrancactionData['city'] = $address['city'];
$TrancactionData['zip_code'] = $address['pincode'];
$TrancactionData['transaction_id'] = $result['payment']['id'];
$TrancactionData['payment_order_id'] = $result['payment']['order_id'];
$TrancactionData['order_id'] = $order_id;
$TrancactionData['transaction'] = json_encode($response->getResult());
$insert = $this->TransactionModel->save($TrancactionData);
@ -240,7 +247,27 @@ class PaymentController extends BaseController
} else {
echo json_encode(array('errors' => $response->getErrors()));
$data = json_encode($response->getErrors());
$result = json_decode( $data ,true);
//Trancaction Table Data
$TrancactionData['status'] = 'failed';
$TrancactionData['member_id'] = session()->get('logged_user');
$TrancactionData['first_name'] = $address['name'];
$TrancactionData['last_name'] = $address['last_name'];
$TrancactionData['address'] = $address['address'];
$TrancactionData['state'] = $address['state'];
$TrancactionData['city'] = $address['city'];
$TrancactionData['zip_code'] = $address['pincode'];
$TrancactionData['order_id'] = $order_id;
$TrancactionData['transaction'] = json_encode($response->getErrors());
$insert = $this->TransactionModel->save($TrancactionData);
if( $insert)
{
$this->creditsModel->where('order_id', $order_id )->delete();
}
echo json_encode(array('errors' => $response->getErrors()));
}
} catch (ApiException $e) {
echo json_encode(array('errors' => $e));
@ -276,8 +303,9 @@ class PaymentController extends BaseController
$memberCredits = $this->creditsModel->where('order_id', $local_order_id )
->where('member_id', session()->get('logged_user'))
->select('package_name')
->select('cost')
->selectSum('credit_points', 'credit_points')
->selectSum('cost', 'cost')
->selectSum('cost', 'costSum')
->selectCount('package_name', 'pack_count')
->groupBy('package_name')->findAll();
@ -291,7 +319,7 @@ class PaymentController extends BaseController
$Subtotal = 0;
foreach ($memberCredits as $key => $ele) {
$Subtotal = $Subtotal + $ele['cost'];
$Subtotal = $Subtotal + $ele['costSum'];
}
$data['memberCredits'] =$memberCredits;
@ -306,21 +334,36 @@ class PaymentController extends BaseController
// echo '<pre>';
// print_r( $data['memberCredits']);
// echo '</pre>';
// die();
echo view('payment',$data);
}else{
echo 'invalid order_id';
}
}
}
public function payment_failed( $local_order_id = null)
{
if( $local_order_id != null)
{
$data['TransactionData'] = $this->TransactionModel->where('order_id', $local_order_id )->where('member_id', session()->get('logged_user'))->find();
if($data['TransactionData']){
$data['category'] = json_decode($data['TransactionData'][0]['transaction'] , true)[0]['category'];
$data['code'] = json_decode($data['TransactionData'][0]['transaction'] , true)[0]['code'];
$data['detail'] = json_decode($data['TransactionData'][0]['transaction'] , true)[0]['detail'];
$data['order_id'] = $data['TransactionData'][0]['order_id'];
$timestamp = strtotime($data['TransactionData'][0]['created_at']);
$data['formattedDate'] = date('l, F j, Y', $timestamp);
echo view('payment_failed',$data);
}else{
echo 'invalid order_id';
}
}
}

View File

@ -7,7 +7,7 @@ class Member_model extends Model
protected $table = 'member';
protected $primaryKey = 'id';
protected $allowedFields = ['name', 'mobile','email','username', 'password', 'address' , 'city' , 'state' , 'country' , 'pincode' , 'is_email_verified' , 'verification_code' , 'is_active' , 'created_by','updated_by'];
protected $allowedFields = ['name', 'last_name' ,'gender', 'mobile','email','username', 'password', 'address' , 'city' , 'state' , 'country' , 'pincode' , 'is_email_verified' , 'verification_code' , 'is_active' , 'created_by','updated_by'];
protected $beforeInsert = ['beforeInsert'];
protected $beforeUpdate = ['beforeUpdate'];

View File

@ -7,7 +7,7 @@ class transaction_model extends Model
protected $table = 'transactions';
protected $primaryKey = 'id';
protected $allowedFields = ['member_id','address_id','transaction_id','payment_order_id','order_id','transaction','is_mail_triggered'];
protected $allowedFields = ['status','member_id','transaction_id','payment_order_id','order_id','transaction','is_mail_triggered', 'first_name','last_name','address', 'city' , 'state' , 'zip_code'];
}

View File

@ -112,7 +112,7 @@ $web_payment_sdk_url = $_ENV["ENVIRONMENT"] === Environment::PRODUCTION ? "https
<div class="row back-card">
<div class="col-lg-12">
<a href="<?=base_url()."view_cart/".md5(session()->get('logged_user')); ?>"><i class="arrow-left"></i> Back to Cart</a>
<h4>Billing Address</h4>
<!-- <h4>Billing Address</h4> -->
</div>
</div>
</div>
@ -122,33 +122,57 @@ $web_payment_sdk_url = $_ENV["ENVIRONMENT"] === Environment::PRODUCTION ? "https
<div class="container">
<div class="row">
<div class="col-lg-8">
<div id="address_list" >
<?php foreach($userAddress as $address) { ?>
<div class="row edit-address">
<div class="col-lg-3">
<?php if($address['address_type'] == 'default') { ?>
<input type="radio" id="<?php echo $address['id']."_radio"; ?>" name="member_address" value="<?php echo $address['id']; ?>" class="select-address checked" checked>
<?php } else { ?>
<input type="radio" id="<?php echo $address['id']."_radio"; ?>" name="member_address" value="<?php echo $address['id']; ?>" class="select-address" >
<?php } ?>
<span><?php echo $address['first_name']; ?></span>
</div>
<div class="col-lg-7">
<div class="billing-address">
<?php echo $address['first_name']." , ".$address['street_address']." , ".$address['country']." , ".$address['state']." , ".$address['zip_code']; ?>
<div class="address-form" >
<form id="member_address" >
<div class="row">
<div class="col-lg-12 d-flex align-items-center mb-3">
</div>
<!-- <input type="hidden" value="<?= $userdata[0]['id']; ?>" name="id" > -->
<div class="col-lg-6 mb-3">
<label for="first_name">First Name</label>
<input type="text" value="<?= $userdata[0]['name']; ?>" name="name" id="first_name">
</div>
<div class="col-lg-6 mb-3">
<label for="last_name">Last Name</label>
<input type="text" value="<?= $userdata[0]['last_name']; ?>" name="last_name" id="last_name">
</div>
<div class="col-lg-12 mb-3">
<label for="address">Street Address</label>
<input type="text" value="<?= $userdata[0]['address']; ?>" name="address" id="address">
</div>
<div class="col-lg-4 mb-3">
<label for="city">City</label>
<input type="text" value="<?= $userdata[0]['city']; ?>" name="city" id="city">
</div>
<div class="col-lg-4 mb-3">
<label for="state">State</label>
<select id="state" name="state">
<option value="<?= $userdata[0]['state']; ?>"><?= $userdata[0]['state']; ?></option>
</select>
</div>
<div class="col-lg-4 mb-3">
<label for="zipcode">Zip Code</label>
<input type="text" value="<?= $userdata[0]['pincode']; ?>" name="pincode" id="zipcode">
</div>
</div>
</div>
<div class="col-lg-2 text-end">
<a class="editAddress" id="<?php echo $address['id']; ?>" class="billing-edit">Edit</a>
</div>
<!-- <div class="row form-button">
<div class="col-lg-2 col-4">
<button>Cancel</button>
</div>
<div class="col-lg-3 col-4">
<input type="button" class="submit" value="Save">
</div>
<div class="col-lg-7 col-4"></div>
</div> -->
</form>
</div>
<?php } ?>
</div>
<div class="address-form" style="display:none" >
</div>
<!-- Loading spinner HTML markup -->
<div class="loading-spinner-overlay" id="loading-spinner-overlay">
<div class="loading-spinner"></div>
@ -173,17 +197,17 @@ $web_payment_sdk_url = $_ENV["ENVIRONMENT"] === Environment::PRODUCTION ? "https
</div>
<div class="google-pay">
<!-- <div class="google-pay">
<div class="row google-pay-content align-items-center">
<div class="col-lg-10 d-flex align-items-center">
<span>Google Pay</span>
</div>
<div id="google-pay-button" alt="google-pay" type="button"></div>
<!-- <div class="col-lg-2 text-end">
<div class="col-lg-2 text-end">
<img src="<?= base_url()."/public"; ?>/assets/member_images/g-pay.png" alt="" width="64" height="58"/>
</div> -->
</div>
</div>
</div>
</div> -->
</div>
</div>
</form>
@ -196,8 +220,8 @@ $web_payment_sdk_url = $_ENV["ENVIRONMENT"] === Environment::PRODUCTION ? "https
</div>
<?php foreach ($packageArray as $row) { ?>
<div class="row evo">
<div class="col-lg-6 col-6"><div class="product-name"><?php echo $row['package_name']." (".$row['count'].")"; ?></div></div>
<div class="col-lg-6 col-6 text-end"><div class="product-price"><span class="price-symbol">$</span><?php echo $row['cost'] * $row['count']; ?></div></div>
<div class="col-lg-8 col-8"><div class="product-name"><?php echo $row['package_name']." (".$row['cost']." x ".$row['count'].")"; ?></div></div>
<div class="col-lg-4 col-4 text-end"><div class="product-price"><span class="price-symbol">$</span><?php echo $row['cost'] * $row['count']; ?></div></div>
</div>
<?php } ?>
<div class="row item1">
@ -236,9 +260,9 @@ $web_payment_sdk_url = $_ENV["ENVIRONMENT"] === Environment::PRODUCTION ? "https
<?php include 'member_layout/footer.php' ?>
<script type="text/javascript" src="<?= base_url(); ?>public/square-js/sq-ach.js"></script>
<!-- <script type="text/javascript" src="<?= base_url(); ?>public/square-js/sq-ach.js"></script>
<script type="text/javascript" src="<?= base_url(); ?>public/square-js/sq-apple-pay.js"></script>
<script type="text/javascript" src="<?= base_url(); ?>public/square-js/sq-google-pay.js"></script>
<script type="text/javascript" src="<?= base_url(); ?>public/square-js/sq-google-pay.js"></script> -->
<script type="text/javascript" src="<?= base_url(); ?>public/square-js/sq-card-pay.js"></script>
<script type="text/javascript" src="<?= base_url(); ?>public/square-js/sq-payment-flow.js"></script>
</body>

View File

@ -64,7 +64,7 @@
<img src="<?= base_url()."/public"; ?>/assets/member_images/cart-icon.png" alt="" width="70" height="70">
</div>
<div class="col-lg-5">
<div class="product-name"><?php echo $val['package_name']." (".$val['pack_count'].")"; ?></div>
<div class="product-name"><?php echo $val['package_name']." (".$val['cost']." x ".$val['pack_count'].")"; ?></div>
<div class="credits-number"><?php echo $val['credit_points']; ?> Credits</div>
<!-- <div class="credit-point">20+4 Credits Extra*</div>
<div class="credit-price">1 Credit at $22.90</div> -->
@ -74,7 +74,7 @@
</div>
<div class="col-lg-6 d-flex justify-content-end align-items-start">
<div class="order-total"><span class="price-symbol">$</span><?php echo $val['cost']; ?></div>
<div class="order-total"><span class="price-symbol">$</span><?php echo $val['costSum']; ?></div>
</div>
<?php } ?>
</div>

View File

@ -0,0 +1,77 @@
<!DOCTYPE html>
<html lang="en-US">
<head>
<title>Payment Failed - Golf Evolution</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" href="<?= base_url()."/public"; ?>/assets/member_images/favicon.png" sizes="192x192" />
<link rel="apple-touch-icon" href="<?= base_url()."/public"; ?>/assets/member_images/favicon.png" />
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="<?= base_url()."/public"; ?>/assets/member_css/front-style.css">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js"></script>
<script src="<?= base_url()."/public"; ?>/assets/member_js/ajax.js"></script>
</head>
<body class="payment">
<?php include 'member_layout/header.php' ?>
<section>
<div class="container">
<div class="row">
<div class="col-lg-2"></div>
<div class="col-lg-8">
<div class="payment-box">
<div class="row payment-head">
<div class="col-lg-12">
<div>
<img src="<?= base_url()."/public"; ?>/assets/member_images/failed_Icon.png" alt="" width="60" height="60"/>
<h1 style="color: red">Payment Failed!</h1>
<!-- <p>The order confirmation has been sent to your registered mail id</p> -->
</div>
</div>
</div>
<div class="row aside">
<div class="col-lg-12">
<div class="aside-content">
<div class="trans-id label">Order Id</div>
<div class="trans-id"><?= $order_id; ?></div>
</div>
<div class="aside-content">
<div class="trans-date label">Transactions Date</div>
<div class="trans-date"><?= $formattedDate; ?></div>
</div>
<div class="aside-content aside-content-last">
<div class="trans-method label">Payment Failed Details</div>
<div class="trans-method"><?= $detail; ?> </div>
</div>
</div>
</div>
<div class="row dashboard">
<div class="col-lg-4"></div>
<div class="col-lg-4">
<a href="<?= base_url('member_home'); ?>">Return to Dashboard</a>
</div>
<div class="col-lg-4"></div>
</div>
</div>
</div>
<div class="col-lg-2"></div>
</div>
</div>
</section>
<?php include 'member_layout/footer.php' ?>
</body>
</html>