diff --git a/app/Config/Routes.php b/app/Config/Routes.php index e52744a..bff79ee 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -36,6 +36,8 @@ $routes->match(['get'],'/members_list','Member_controller::members_list'); $routes->match(['get'],'/member_edit/(:any)','Member_controller::member_edit/$1'); $routes->match(['post'],'/member_edit','Member_controller::member_edit'); $routes->match(['get','post'],'/member_add','Member_controller::member_add'); +$routes->match(['get','post'],'/member_address_form','Member_controller::member_address_form'); +$routes->match(['get','post'],'/member_address_edit_or_add','Member_controller::member_address_edit_or_add'); $routes->match(['post'],'/buy_pack','Member_controller::buy_pack'); $routes->match(['post'],'/use_points','Member_controller::use_points'); diff --git a/app/Controllers/Member_controller.php b/app/Controllers/Member_controller.php index 6755413..7f9c4cf 100644 --- a/app/Controllers/Member_controller.php +++ b/app/Controllers/Member_controller.php @@ -12,6 +12,7 @@ use App\Models\Credits_usage_tracking_model; use Config\Services; use App\Libraries\SquareService; use App\Models\Cart_token_model; +use App\Models\Member_address_model; class Member_controller extends BaseController { @@ -29,6 +30,7 @@ class Member_controller extends BaseController $this->cartModel = new Cart_model(); $this->CreditsUsageTrackingModel = new Credits_usage_tracking_model(); $this->Cart_token_model = new Cart_token_model(); + $this->MemberAddressModel = new Member_address_model(); helper('form'); } public function index() @@ -116,6 +118,7 @@ class Member_controller extends BaseController $insert_data = $this->MemberModel->save($MemberData); if($insert_data) { + $sendmail_controller = new Sendmail_controller(); $sendmail_controller->index($this->request->getVar('email') , $MemberData['verification_code'] , 1); return redirect()->to(base_url()); @@ -135,6 +138,10 @@ class Member_controller extends BaseController public function members_list() { + + + + $id = session()->get('logged_user'); $userdata['userdata']=$this->dModel->getLoggedInUserData($id); $data['Membersdata'] = $this->MemberModel->select('member.* , country.name as country_name , state.name as state_name ,city.name as city_name') @@ -480,63 +487,31 @@ class Member_controller extends BaseController - public function processPayment() + public function member_address_form() { - try { - $amount = 100; // Amount in cents + + $id = $this->request->getVar('id'); + $data['userAddress'] = $this->MemberAddressModel->where('member_id',session()->get('logged_user'))->where('id',$id)->find(); + echo view('member_address_form',$data); - $square = new SquareService(); - $response = $square->processPayment($amount); + } + + public function member_address_edit_or_add() + { + + $array = $this->request->getVar(); + $id = $this->request->getVar('id'); + $update =$this->MemberAddressModel->where('id', $id )->where('member_id',session()->get('logged_user'))->set($array)->update(); + if($update) + { + echo true; + } + - // Handle the payment response - if ($response->isSuccess()) { - // Payment succeeded - } else { - // Payment failed - } - } catch (\Exception $e) { - // Handle exceptions - echo $e->getMessage(); - log_message('error', 'Exception: ' . $e->getMessage()); - // ... - } catch (\Error $e) { - // Handle errors - echo $e->getMessage(); - log_message('error', 'Error: ' . $e->getMessage()); - // ... - } } - public function processCardPayment() - { - try { - //echo "hai"; die(); - // Get the payment nonce and amount from the submitted form - $nonce = 'test'; - $amount = 100; -// echo $nonce;die(); - $square = new SquareService(); - $response = $square->processCardPayment($nonce, $amount); - // Handle the payment response - if ($response && $response->isSuccess()) { - // Payment succeeded - } else { - // Payment failed - } - } catch (\Exception $e) { - // Handle exceptions - echo $e->getMessage(); - log_message('error', 'Exception: ' . $e->getMessage()); - // ... - } catch (\Error $e) { - // Handle errors - echo $e->getMessage(); - log_message('error', 'Error: ' . $e->getMessage()); - // ... - } - } // ----------------------------------------------- } diff --git a/app/Controllers/PaymentController.php b/app/Controllers/PaymentController.php index ffd5df9..7ee5818 100644 --- a/app/Controllers/PaymentController.php +++ b/app/Controllers/PaymentController.php @@ -17,7 +17,7 @@ use App\Models\Cart_model; use App\Models\Credits_usage_tracking_model; use App\Models\Rule_model; use App\Models\Cart_token_model; - +use App\Models\Member_address_model; class PaymentController extends BaseController { @@ -35,6 +35,7 @@ class PaymentController extends BaseController $this->TransactionModel = new transaction_model(); $this->RuleModel = new Rule_model(); $this->Cart_token_model = new Cart_token_model(); + $this->MemberAddressModel = new Member_address_model(); } @@ -143,11 +144,13 @@ class PaymentController extends BaseController $data['gst'] = $gst; $data['pst'] = $pst; $data['packageArray'] = $packageArray; - // echo '
';
-            //      print_r($data);
-            //      echo '
'; - // die(); $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(); + // echo '
';
+                //  print_r($data);
+                //  echo '
'; + // die(); echo view('checkout',$data); //echo view('payment_form',$data); @@ -177,6 +180,7 @@ class PaymentController extends BaseController $idempotencyKey = $data->idempotencyKey; $amount = $data->amount; $order_id = $data->order_id; + $address_id = $data->address_id; $Final_amount = round( ( $amount + (($amount * ($gst + $pst) ) / 100) ) , 2 ); $square_client = new SquareClient([ @@ -219,7 +223,10 @@ class PaymentController extends BaseController $TrancactionId = $result['payment']['id']; $payment_order_id = $result['payment']['order_id']; $TrancactionData['member_id'] = session()->get('logged_user'); + $TrancactionData['address_id'] = $address_id; $TrancactionData['transaction_id'] = $TrancactionId; + $TrancactionData['payment_order_id'] = $payment_order_id; + $TrancactionData['order_id'] = $order_id; $TrancactionData['transaction'] = json_encode($response->getResult()); $insert = $this->TransactionModel->save($TrancactionData); if( $insert) @@ -260,45 +267,57 @@ class PaymentController extends BaseController - public function payment_success( $transaction_id = null) + public function payment_success( $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']){ + $memberCredits = $this->creditsModel->where('order_id', $local_order_id ) + ->where('member_id', session()->get('logged_user')) + ->select('package_name') + ->selectSum('credit_points', 'credit_points') + ->selectSum('cost', 'cost') + ->selectCount('package_name', 'pack_count') + ->groupBy('package_name')->findAll(); + + if($data['TransactionData'][0]['is_mail_triggered'] == 0){ + $sendmail_controller = new Sendmail_controller(); + $mail = $sendmail_controller->index(session()->get('logged_user_email') , null , 5); + if($mail == 'success'){ + $this->TransactionModel->where('order_id', $local_order_id )->set(array('is_mail_triggered'=>1))->update(); + } + } + + $Subtotal = 0; + foreach ($memberCredits as $key => $ele) { + $Subtotal = $Subtotal + $ele['cost']; + } + $data['memberCredits'] =$memberCredits; + + $data['order_id'] = $local_order_id; + $timestamp = strtotime($data['TransactionData'][0]['created_at']); + $data['formattedDate'] = date('l, F j, Y', $timestamp); + $data['Subtotal'] = $Subtotal; + $data['gst'] = $this->RuleModel->select('value')->where('rule_key', 3 )->get()->getRow()->value; + $data['pst'] = $this->RuleModel->select('value')->where('rule_key', 4 )->get()->getRow()->value; + $data['card_brand'] = json_decode($data['TransactionData'][0]['transaction'] , true)['payment']['card_details']['card']['card_brand']; + $data['last_4'] = json_decode($data['TransactionData'][0]['transaction'] , true)['payment']['card_details']['card']['last_4']; + // echo '
';
+                // print_r(  $data['memberCredits']);
+                // echo '
'; - - - if( $transaction_id != null) - $memberCredits = $this->creditsModel->where('transaction_id', $transaction_id ) - ->where('member_id', session()->get('logged_user')) - ->select('package_name','credit_points') - ->selectSum('cost', 'cost') - ->selectCount('package_name', 'pack_count') - ->groupBy('package_name')->findAll(); - - $sendmail_controller = new Sendmail_controller(); - $sendmail_controller->index(session()->get('logged_user_email') , null , 5); - $Subtotal = 0; - foreach ($memberCredits as $key => $ele) { - $Subtotal = $Subtotal + $ele['cost']; + + + + echo view('payment',$data); + }else{ + echo 'invalid order_id'; + } + } - $data['memberCredits'] =$memberCredits; - $data['TransactionData'] = $this->TransactionModel->where('transaction_id', $transaction_id )->where('member_id', session()->get('logged_user'))->findAll(); - $data['transaction_id'] = $transaction_id; - $timestamp = strtotime($data['TransactionData'][0]['created_at']); - $data['formattedDate'] = date('l, F j, Y', $timestamp); - $data['Subtotal'] = $Subtotal; - $data['gst'] = $this->RuleModel->select('value')->where('rule_key', 3 )->get()->getRow()->value; - $data['pst'] = $this->RuleModel->select('value')->where('rule_key', 4 )->get()->getRow()->value; - $data['card_brand'] = json_decode($data['TransactionData'][0]['transaction'] , true)['payment']['card_details']['card']['card_brand']; - $data['last_4'] = json_decode($data['TransactionData'][0]['transaction'] , true)['payment']['card_details']['card']['last_4']; - // echo '
';
-        // print_r(  $data['memberCredits']);
-        // echo '
'; - - - - - - echo view('payment',$data); + } diff --git a/app/Controllers/Sendmail_controller.php b/app/Controllers/Sendmail_controller.php index 61c0896..235f436 100644 --- a/app/Controllers/Sendmail_controller.php +++ b/app/Controllers/Sendmail_controller.php @@ -181,18 +181,21 @@ class Sendmail_controller extends BaseController if ($email->send()) { if ($return == 1) - { $this->session->setTempdata('mail_success', "Please check your mail to verify",3); - // return redirect()->to(base_url()); - } + + if ($return == 5) + echo "success"; + + + } else { $error = $email->printDebugger(); - echo 'Email sending failed: ' . $error; + //echo 'Email sending failed: ' . $error; } } catch (EmailException $e) { - echo 'Email sending failed: ' . $e->getMessage(); + // echo 'Email sending failed: ' . $e->getMessage(); } } diff --git a/app/Models/Member_address_model.php b/app/Models/Member_address_model.php new file mode 100644 index 0000000..3806d51 --- /dev/null +++ b/app/Models/Member_address_model.php @@ -0,0 +1,16 @@ +db->table('member_address') + ->where('member_id', $MemberId) + ->where('address_type', 'default') + ->get() + ->getRow(); + } + public function getAdditionalAddress($MemberId) + { + return $this->db->table('member_address') + ->where('member_id', $MemberId) + ->where('address_type', 'additional') + ->get() + ->getResult(); + } + } \ No newline at end of file diff --git a/app/Models/transaction_model.php b/app/Models/transaction_model.php index 41d5e38..4e38478 100644 --- a/app/Models/transaction_model.php +++ b/app/Models/transaction_model.php @@ -7,7 +7,7 @@ class transaction_model extends Model protected $table = 'transactions'; protected $primaryKey = 'id'; - protected $allowedFields = ['member_id','transaction_id','transaction']; + protected $allowedFields = ['member_id','address_id','transaction_id','payment_order_id','order_id','transaction','is_mail_triggered']; } \ No newline at end of file diff --git a/app/Views/checkout.php b/app/Views/checkout.php index 9f1dd95..247cee2 100644 --- a/app/Views/checkout.php +++ b/app/Views/checkout.php @@ -59,11 +59,48 @@ $web_payment_sdk_url = $_ENV["ENVIRONMENT"] === Environment::PRODUCTION ? "https + + + +
@@ -74,7 +111,7 @@ $web_payment_sdk_url = $_ENV["ENVIRONMENT"] === Environment::PRODUCTION ? "https @@ -85,69 +122,41 @@ $web_payment_sdk_url = $_ENV["ENVIRONMENT"] === Environment::PRODUCTION ? "https
+
+
- - name; ?> + + " name="member_address" value="" class="select-address checked" checked> + + " name="member_address" value="" class="select-address" > + +
-
address; ?>
+
+ +
- Edit + Edit
+ +
-
-
-
-
- Add New Address -
-
- - -
-
- - -
- -
- - -
-
- - -
-
- - -
-
- - -
-
-
-
- -
-
- -
-
-
-
+ + +
+
+
+

Payment Method

-

Payment Method

+
@@ -155,6 +164,7 @@ $web_payment_sdk_url = $_ENV["ENVIRONMENT"] === Environment::PRODUCTION ? "https +
diff --git a/app/Views/member_address_form.php b/app/Views/member_address_form.php new file mode 100644 index 0000000..0028205 --- /dev/null +++ b/app/Views/member_address_form.php @@ -0,0 +1,46 @@ + + +
+
+ +
+ +
+ + +
+
+ + +
+ +
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+ +
+
+ +
+
+
+ \ No newline at end of file diff --git a/app/Views/payment.php b/app/Views/payment.php index 899fcc0..e4d6a5f 100644 --- a/app/Views/payment.php +++ b/app/Views/payment.php @@ -39,8 +39,8 @@
-
Transactions ID
-
+
Order Id
+
Transactions Date
@@ -125,7 +125,7 @@
- + Return to Dashboard