geer-builder 1.2.505 → 1.2.512

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/GCheckout.vue CHANGED
@@ -91,6 +91,11 @@
91
91
  <q-radio dense v-model="online_payment_choice" :val="onlines" :label="onlines.online_payment_label" />
92
92
  </div>
93
93
  </div>
94
+ <div class="manual-pay-method" v-if="payment_method.payment_method_id == 'dragon_pay'" >
95
+ <div v-for="(onlines, ind) in available_payment_channel" class="dragon-pay-list" :key="ind">
96
+ <q-radio dense v-model="dragon_pay_choice" :val="onlines" :label="onlines.shortName" />
97
+ </div>
98
+ </div>
94
99
  </div>
95
100
  <div class="grid-right">
96
101
  <div class="shipping-address">
@@ -171,7 +176,7 @@
171
176
  <add-new-address-form @done="updateAddress"></add-new-address-form>
172
177
  </q-dialog>
173
178
  <q-dialog persistent v-model="is_dialog_confirm_open">
174
- <process-checkout-confirm-dialog @closePopup="confirmedCheckout" :checkout_details="checkout_info" :sale_id="sale_id.data"></process-checkout-confirm-dialog>
179
+ <process-checkout-confirm-dialog @closePopup="confirmedCheckout" :checkout_details="checkout_info" :sale_id="sale_id.data" :proc_id="dragon_pay_choice"></process-checkout-confirm-dialog>
175
180
  </q-dialog>
176
181
  </div>
177
182
  </div>
@@ -311,7 +316,7 @@
311
316
  <add-new-address-form @done="updateAddress"></add-new-address-form>
312
317
  </q-dialog>
313
318
  <q-dialog persistent v-model="is_dialog_confirm_open" :maximized="true">
314
- <process-checkout-confirm-dialog @closePopup="confirmedCheckout" :checkout_details="checkout_info" :sale_id="sale_id.data"></process-checkout-confirm-dialog>
319
+ <process-checkout-confirm-dialog @closePopup="confirmedCheckout" :checkout_details="checkout_info" :sale_id="sale_id.data" :chosen_proc="true" ></process-checkout-confirm-dialog>
315
320
  </q-dialog>
316
321
  </div>
317
322
  </div>
@@ -355,7 +360,6 @@ import ProductClass from './classes/ProductClass';
355
360
  import EcommerceMaintenance from './dialogs/EcommerceMaintenance';
356
361
 
357
362
 
358
-
359
363
  export default {
360
364
 
361
365
  components: { EcommerceMaintenance,SelectShippingOptions, AddNewAddressForm ,ProcessCheckoutConfirmDialog, GLoader, axios ,ChooseCourierDialog, SelectVoucherDialog},
@@ -412,8 +416,14 @@ export default {
412
416
  online_payment_limit:999999,
413
417
  hide_voucher:false,
414
418
  disable_ecom:false,
419
+ total_amount:0,
420
+ available_payment_channel:[],
421
+ dragon_pay_choice:"",
422
+ check:{},
423
+ dragon_pay_amount:[],
415
424
  }),
416
- async mounted(){
425
+ async mounted()
426
+ {
417
427
  if (this.user_info)
418
428
  {
419
429
  if(this.user_info.slot_owned >0)
@@ -459,9 +469,18 @@ export default {
459
469
  {
460
470
  this.$q.loading.show();
461
471
  let pending_checkout = JSON.parse(sessionStorage.pending_checkout);
462
- let check = await this.$_fbCall('memberCheckPendingCheckout', { sale_id: pending_checkout.sale_id, amount:pending_checkout.amount });
463
- if(check.data)
472
+ if(pending_checkout.hasOwnProperty('mode') && pending_checkout.mode == "dragonpay")
473
+ {
474
+ this.check = await this.$_fbCall('memberCheckPendingCheckoutDragonpay', { sale_id: pending_checkout.sale_id, amount:pending_checkout.amount, mode:pending_checkout.mode });
475
+ }
476
+ else
464
477
  {
478
+ console.log('check online pay');
479
+ this.check = await this.$_fbCall('memberCheckPendingCheckout', { sale_id: pending_checkout.sale_id, amount:pending_checkout.amount });
480
+ }
481
+ if(this.check.data)
482
+ {
483
+ console.log(this.check.data, 'check data');
465
484
  sessionStorage.removeItem('checkout_list');
466
485
  sessionStorage.removeItem('referral_slot_code');
467
486
  sessionStorage.removeItem('pending_checkout');
@@ -470,7 +489,6 @@ export default {
470
489
  swal("Transaction Succesful!!", `Sale No. ${this.sale_id} has been successfully processed.`, "success");
471
490
 
472
491
  // this.$q.dialog({ title: "Transaction Succesful!", message: `Sale No. ${pending_checkout.sale_id} has been successfully processed.` });
473
-
474
492
  }
475
493
  else
476
494
  {
@@ -494,6 +512,7 @@ export default {
494
512
  sessionStorage.setItem('referral_slot_code', this.user_info.sponsor);
495
513
  }
496
514
  }
515
+ this.getPaymentChannel();
497
516
 
498
517
  },
499
518
  computed:
@@ -527,7 +546,24 @@ export default {
527
546
  {
528
547
  // this.getordersbymerchant();
529
548
  },
530
- methods:{
549
+ methods:
550
+ {
551
+ async getPaymentChannel()
552
+ {
553
+ if(this.public_settings.hasOwnProperty('dragonpay_details') && this.public_settings.dragonpay_details.active)
554
+ {
555
+ console.log('dragonpay:', this.public_settings.dragonpay_details.active );
556
+ try
557
+ {
558
+ let ret = await this.$_fbCall('memberGetPaymentChannel', {amount:this.dragon_pay_amount});
559
+ this.available_payment_channel = ret.data;
560
+ }
561
+ catch (error)
562
+ {
563
+ console.log(error);
564
+ }
565
+ }
566
+ },
531
567
  async removeVoucher(data)
532
568
  {
533
569
  this.all_voucher_list = [];
@@ -872,6 +908,7 @@ export default {
872
908
  merch.total_weight += Number(prod.delivery_settings.weight) * prod.quantity;
873
909
  }
874
910
  }
911
+ this.dragon_pay_amount = this.groupedProducts;
875
912
  this.checkout_info.orders = this.groupedProducts;
876
913
  this.checkout_info.sub_total = merchandise_subtotal;
877
914
  this.checkout_info.discount_total = discount_total;
@@ -1583,6 +1620,18 @@ export default {
1583
1620
  this.sale_id = await this.$_fbCall('memberProceedCheckout', this.checkout_info)
1584
1621
  this.is_dialog_confirm_open = true;
1585
1622
  }
1623
+ else if (this.checkout_info.payment_method.payment_method_id == "dragon_pay")
1624
+ {
1625
+ if(!this.dragon_pay_choice)
1626
+ {
1627
+ this.$q.dialog({ html: true, title: `Something's not quite right`, message: "Invalid Dragon payment Method" });
1628
+ }
1629
+ else
1630
+ {
1631
+ this.sale_id = await this.$_fbCall('memberProceedCheckout', this.checkout_info)
1632
+ this.is_dialog_confirm_open = true;
1633
+ }
1634
+ }
1586
1635
  else if (this.checkout_info.payment_method.payment_method_id == "cod_manual")
1587
1636
  {
1588
1637
  this.sale_id = await this.$_fbCall('memberProceedCheckout', this.checkout_info)
package/GMyPurchases.vue CHANGED
@@ -117,7 +117,7 @@ export default {
117
117
  {
118
118
  this.processing_count++;
119
119
  }
120
- else if (order_list.status == "to_pay" || order_list.status == "payment_to_be_checked")
120
+ else if (order_list.status == "to_pay" || order_list.status == "payment_to_be_checked" || order_list.status == "pre_processing")
121
121
  {
122
122
  this.to_pay_count++;
123
123
  }
@@ -120,7 +120,7 @@ export default {
120
120
  {
121
121
  this.approval_count++;
122
122
  }
123
- else if (order_list.status == "to_pay" || order_list.status == "payment_to_be_checked")
123
+ else if (order_list.status == "to_pay" || order_list.status == "payment_to_be_checked" || order_list.status == "pre_processing")
124
124
  {
125
125
  this.to_pay_count++;
126
126
  }
@@ -1,7 +1,6 @@
1
1
  <template>
2
2
  <q-card class="process-checkout-dialog refill form" style="width: 900px; max-width: 1000px;">
3
3
  <q-form @submit="submit()">
4
-
5
4
  <div v-if="sale" style="min-height: 300px;" class="product-list">
6
5
  <printable title="Order Summary"
7
6
  :orders="sale.orders"
@@ -32,6 +31,19 @@
32
31
  <input type="hidden" name="ResponseURL" :value="ipay88_response_url">
33
32
  <input type="hidden" name="BackendURL" :value="ipay88_backend_url">
34
33
  </form>
34
+ <form v-if="sale.payment_method.payment_method_id == 'dragon_pay'" method="get" id="dragon_pay_form" name="ePayment" :action="public_settings.dragonpay_details.test_payment_request_url">
35
+ <input type="hidden" name="merchantid" :value="merchant_id">
36
+ <input type="hidden" name="txnid" :value="txnid">
37
+ <input type="hidden" name="amount" :value="amount">
38
+ <input type="hidden" name="ccy" :value="ccy">
39
+ <input type="hidden" name="description" :value="description">
40
+ <input type="hidden" name="email" :value="email">
41
+ <input type="hidden" name="digest" :value="digest_string.toString('hex')">
42
+ <input v-if="!public_settings.dragonpay_details.test" type="hidden" name="procid" :value="proc_id.procId">
43
+ <!-- <input type="hidden" name="mode" :value="mode"> -->
44
+ <!-- <input type="hidden" name="ResponseURL" :value="ipay88_response_url"> -->
45
+ <input type="hidden" name="param1" :value="dragonpay_backend">
46
+ </form>
35
47
  </div>
36
48
  <div v-else style="min-height: 300px;" class="product-list text-center q-pt-lg">
37
49
  <q-spinner-ball style="margin-top: 50px" class="q-mt-lg" color="primary" size="60px"/>
@@ -55,6 +67,7 @@ import Printable from './Printable';
55
67
  import GlobalMixins from '../../mixins/global_mixins.js';
56
68
  import {encryptSha} from '../../utilities/sha1';
57
69
  import swal from 'sweetalert';
70
+ import crypto from 'crypto';
58
71
  import config from 'app/settings';
59
72
 
60
73
 
@@ -68,16 +81,28 @@ export default {
68
81
  public_settings: {},
69
82
  merchant_code : "",
70
83
  signature : "",
84
+ digest:"",
71
85
  ipay88_backend_url:'',
72
- ipay88_response_url:''
86
+ ipay88_response_url:'',
87
+ redirect:"",
88
+ merchant_id : "",
89
+ password : "",
90
+ txnid : "",
91
+ amount : "",
92
+ ccy : "PHP",
93
+ description : "",
94
+ email : "admin@test.com",
95
+ digest_cry:"",
96
+ digest_string:"",
97
+ dragonpay_backend:"",
98
+ mode:"7"
73
99
  }),
74
- props: ['sale_id', 'hide_bottom', ],
100
+ props: ['sale_id', 'hide_bottom', 'proc_id'],
75
101
  async mounted()
76
102
  {
77
103
  this.ipay88_backend_url = `https://asia-northeast1-${config.projectId}.cloudfunctions.net/memberBackendIpayResponse`;
104
+ this.dragonpay_backend = `https://asia-northeast1-${config.projectId}.cloudfunctions.net/memberDragonpayResponse`;
78
105
  this.ipay88_response_url = location.href;
79
- console.log(this.ipay88_response_url,"response");
80
- console.log(this.ipay88_backend_url,"backend");
81
106
  this.public_settings = await this.$_getData('public_settings');
82
107
  await this.$bind('sale', this.db_checkout_request.doc(this.sale_id));
83
108
  if(this.public_settings && this.public_settings.hasOwnProperty('ipay88_details'))
@@ -86,7 +111,23 @@ export default {
86
111
  let amount_for_ip88 = this.public_settings.ipay88_details.test ? '1500' : this.$_formatNumber(this.sale.grand_total, { decimal: 2}).replace(/[ ,.]/g, "");
87
112
  this.signature = encryptSha(this.public_settings.ipay88_details.merchant_key+this.public_settings.ipay88_details.merchant_code+this.sale_id+amount_for_ip88+this.public_settings.ipay88_details.currency);
88
113
  }
89
-
114
+
115
+ if(this.public_settings && this.public_settings.hasOwnProperty('dragonpay_details') && this.public_settings.dragonpay_details.active)
116
+ {
117
+ this.merchant_id = this.public_settings.dragonpay_details.test ? this.public_settings.dragonpay_details.test_merchant_id : this.public_settings.dragonpay_details.merchant_id;
118
+ this.password = this.public_settings.dragonpay_details.test ? this.public_settings.dragonpay_details.test_merchant_key : this.public_settings.dragonpay_details.merchant_key;
119
+ let floattotal = parseFloat(this.sale.grand_total).toFixed(2);
120
+ this.txnid = this.sale.sale_id.toString();
121
+ this.amount = floattotal.toString();
122
+ this.ccy = "PHP";
123
+ this.description = "test";
124
+ this.email = this.public_settings.dragonpay_details.test ? "admin@gmail.com" : this.sale.customer_email;
125
+ let digest_string = `${this.merchant_id}:${this.txnid}:${this.amount}:${this.ccy}:${this.description}:${this.email}:${this.password}`;
126
+ this.digest = encryptSha(digest_string);
127
+ this.digest_cry = crypto.createHash("sha1").update(digest_string).digest();
128
+ this.digest_string = this.digest_cry.toString('hex');
129
+ console.log(this.digest_string);
130
+ }
90
131
 
91
132
  },
92
133
  methods:
@@ -102,18 +143,27 @@ export default {
102
143
  this.$q.loading.hide();
103
144
 
104
145
  this.$emit('closePopup', this.sale.payment_method.payment_method_id);
105
- if(this.sale.payment_method.payment_method_id != "online_payment")
146
+ if(this.sale.payment_method.payment_method_id != "online_payment" && this.sale.payment_method.payment_method_id != "dragon_pay" )
106
147
  {
107
148
  swal("Transaction Succesful!!", `Sale No. ${this.sale_id} has been successfully processed.`, "success");
108
149
  // this.$q.dialog({ title: "Transaction Succesful!", message: `Sale No. ${this.sale_id} has been successfully processed.` });
109
150
  sessionStorage.removeItem('checkout_list');
110
151
  sessionStorage.removeItem('referral_slot_code');
111
152
  }
112
- else
153
+ else if(this.sale.payment_method.payment_method_id == "online_payment")
113
154
  {
114
155
  sessionStorage.setItem('pending_checkout', JSON.stringify({status:'pending',amount: "15.00", sale_id:this.sale_id}));
115
156
  document.getElementById('ip88form').submit();
116
157
  }
158
+ else if(this.sale.payment_method.payment_method_id == "dragon_pay")
159
+ {
160
+ sessionStorage.setItem('pending_checkout', JSON.stringify({status:'pending',amount: "15.00", sale_id:this.sale_id, mode:"dragonpay"}));
161
+ document.getElementById('dragon_pay_form').submit();
162
+ }
163
+ else
164
+ {
165
+ console.log('dito sa else pumasok');
166
+ }
117
167
  }
118
168
  catch (error)
119
169
  {
@@ -16,7 +16,7 @@
16
16
  <div class="header__container">
17
17
  <div class="header-slot-code">
18
18
  <div><q-icon name="fas fa-ticket-alt" class="q-mr-sm q-ml-xs"></q-icon>Slot Code: {{list.slot_code}}</div>
19
- <div class="status">Status: <div class="value" :style="list.status == 'to_pay' ? 'color:#a29e9e;' : 'color:darkviolet;'">{{list.status == "to_pay" ? "Waiting for Payment" : "Waiting for platform to Received the payment"}}</div></div>
19
+ <div class="status">Status: <div class="value" :style="list.status == 'to_pay' ? 'color:#a29e9e;' : 'color:darkviolet;'">{{list.status == "to_pay" || list.status == "pre_processing" ? "Waiting for Payment" : "Waiting for platform to Received the payment"}}</div></div>
20
20
  </div>
21
21
  </div>
22
22
  <div style="display:flex;background:white;border-top: 1px solid rgb(194, 189, 189);">
@@ -129,7 +129,7 @@
129
129
  <div class="order-info">
130
130
  <!-- <div>Order Total ({{product_list[i].quantity}} Item): {{main_currency}} {{order_total}}</div> -->
131
131
  <div>Status:</div>
132
- <div class="order-items"> {{list.status == "to_pay" ? "Waiting for Payment" : "Waiting for platform to Received the payment"}}</div>
132
+ <div class="order-items"> {{list.status == "to_pay" || list.status == "pre_processing" ? "Waiting for Payment" : "Waiting for platform to Received the payment"}}</div>
133
133
  <div>Shipping Fee:</div>
134
134
  <div class="order-items">{{main_currency}} {{$_formatNumber(list.orders.shipping_fee, { decimal: 2})}}</div>
135
135
  <div v-if="public_settings.hasOwnProperty('custom_ecommerce_fee')">{{public_settings.custom_ecommerce_fee.label}}:</div>
@@ -194,7 +194,7 @@ export default {
194
194
  this.main_currency = this.public_settings.main_currency;
195
195
  let myOrder = [];
196
196
  this.order_list.forEach(order_list => {
197
- if (order_list.status == "to_pay" || order_list.status == "payment_to_be_checked")
197
+ if (order_list.status == "to_pay" || order_list.status == "payment_to_be_checked" ||order_list.status == "pre_processing" )
198
198
  {
199
199
  myOrder.push(order_list);
200
200
  }
@@ -84,13 +84,13 @@
84
84
  <div style="padding-left:10px;margin-right:10px;border-left: 1px solid rgb(194, 189, 189);" v-if="public_settings.hasOwnProperty('custom_ecommerce_fee')">{{public_settings.custom_ecommerce_fee.label}}: {{main_currency}} {{$_formatNumber(list.orders[public_settings.custom_ecommerce_fee.id], { decimal: 2})}}</div>
85
85
  <div style="padding-left:10px;border-left: 1px solid rgb(194, 189, 189);">Order Total ({{list.orders.total_quantity}} Item): {{main_currency}} {{$_formatNumber(list.orders.order_total, { decimal: 2})}}</div> -->
86
86
  </div>
87
- <div class="order-total" style="border:none;padding-top:0px;">
88
- <!-- <div style="margin-left:auto">Tracking Number: {{list.shipping_details.tracking_number}}</div> -->
87
+ <div class="order-total" style="border:none;padding-top:0px; display:flex; justify-content:">
89
88
  <div>Courier: {{list.shipping_details.courier}}</div>
89
+ <div style="margin-left:auto">Tracking Number: {{list.shipping_details.tracking_number}}</div>
90
90
  </div>
91
91
  <div v-if="list.status =='delivered' || list.status =='shipping'" style="background:white;text-align:right;padding:0px 20px 10px 0px;">
92
92
  <q-btn dense color="primary" no-caps @click="openTrackingDialog(i)" label="Trace Order" style="margin: 0 10px"></q-btn>
93
- <q-btn dense color="primary" v-if="list.status =='delivered' && list.payment_method.payment_method_id =='online_payment' || list.status =='delivered' && list.payment_method.payment_method_id =='cod'" no-caps @click="orderReceived(i)" label="Order Received"></q-btn>
93
+ <q-btn dense color="primary" v-if="list.status =='delivered' && list.payment_method.payment_method_id =='online_payment' || list.status =='delivered' && list.payment_method.payment_method_id =='cod' || list.status =='delivered' && list.payment_method.payment_method_id =='dragon_pay'" no-caps @click="orderReceived(i)" label="Order Received"></q-btn>
94
94
  </div>
95
95
  </div>
96
96
  </div>
@@ -259,7 +259,8 @@ export default {
259
259
  });
260
260
  }
261
261
  },
262
- openTrackingDialog(index){
262
+ openTrackingDialog(index)
263
+ {
263
264
  this.pass_data = this.my_order_list[index];
264
265
  this.is_trace_dialog_open = true;
265
266
  },
@@ -10,7 +10,7 @@
10
10
  </q-bar>
11
11
  <div class="top-banner">Visit this website to track your order:</div>
12
12
  <div class="url">
13
- <a :href="link"> {{order_info.shipping_details.courier_link}}</a>
13
+ <a :href="link"> {{link}}</a>
14
14
  </div>
15
15
  <div class="tracking">
16
16
  <input type="text" name="myInput" :value="tracking_number" id="myInput" class="input">
@@ -34,9 +34,10 @@ export default
34
34
  tracking_number:'',
35
35
  link:'',
36
36
  }),
37
- async mounted() {
37
+ async mounted()
38
+ {
38
39
  this.tracking_number = this.order_info.shipping_details.tracking_number;
39
- this.link = this.order_info.shipping_details.courier_link;
40
+ this.link = this.order_info.shipping_details.courier_link ? this.order_info.shipping_details.courier_link : 'https://merchant-portal.payo.asia/widget/tracking?merchant=0011v00002qrGlhAAE';
40
41
  },
41
42
  methods: {
42
43
  copyTracking(){
@@ -166,7 +166,7 @@ export default {
166
166
 
167
167
  let myOrder = [];
168
168
  this.order_list.forEach(order_list => {
169
- if (order_list.status == "to_pay" || order_list.status == "payment_to_be_checked")
169
+ if (order_list.status == "to_pay" || order_list.status == "payment_to_be_checked" || order_list.status == "pre_processing")
170
170
  {
171
171
  myOrder.push(order_list);
172
172
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "geer-builder",
3
- "version": "1.2.505",
3
+ "version": "1.2.512",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -14,6 +14,7 @@
14
14
  "jquery": "^3.5.1",
15
15
  "moment-timezone": "^0.5.33",
16
16
  "philippine-location-json-for-geer": "^1.1.11",
17
+ "soap": "^0.43.0",
17
18
  "sweetalert": "^2.1.2",
18
19
  "validator": "^13.5.2",
19
20
  "vue-socialmedia-share": "^1.0.1",