@ikas/storefront 3.0.0-alpha.31 → 3.0.0-alpha.33

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.
Files changed (30) hide show
  1. package/build/_virtual/index.js_commonjs-proxy2.js +1 -1
  2. package/build/_virtual/index.js_commonjs-proxy3.js +1 -1
  3. package/build/_virtual/index.js_commonjs-proxy4.js +1 -1
  4. package/build/components/checkout/components/button/index.d.ts +1 -0
  5. package/build/components/checkout/components/button/index.js +1 -1
  6. package/build/components/checkout/components/master-pass/index.js +1 -1
  7. package/build/components/checkout/components/master-pass/modal/style.module.scss.js +1 -1
  8. package/build/components/checkout/components/master-pass/modal-otp/index.d.ts +8 -0
  9. package/build/components/checkout/components/master-pass/modal-otp/index.js +1 -1
  10. package/build/components/checkout/components/master-pass/modal-otp/style.module.scss.js +1 -1
  11. package/build/components/checkout/components/master-pass/modal-response/index.d.ts +10 -0
  12. package/build/components/checkout/components/master-pass/modal-response/index.js +1 -0
  13. package/build/components/checkout/components/master-pass/modal-response/style.module.scss.js +1 -0
  14. package/build/components/checkout/components/master-pass/style.module.scss.js +1 -1
  15. package/build/components/checkout/components/select-box/index.d.ts +1 -1
  16. package/build/components/checkout/components/stripe/checkout-form.js +1 -1
  17. package/build/components/checkout/components/stripe/style.module.scss.js +1 -0
  18. package/build/components/checkout/index.d.ts +1 -1
  19. package/build/components/checkout/index.js +1 -1
  20. package/build/components/checkout/model.d.ts +2 -0
  21. package/build/components/checkout/model.js +1 -1
  22. package/build/components/checkout/modelMasterPass.d.ts +73 -19
  23. package/build/components/checkout/modelMasterPass.js +1 -1
  24. package/build/components/checkout/steps/step-payment/payment-gateways/index.js +1 -1
  25. package/build/components/checkout/steps/step-payment/payment-gateways/style.module.scss.js +1 -1
  26. package/build/ikas.cjs +1 -1
  27. package/build/models/data/checkout/index.d.ts +1 -0
  28. package/build/models/data/checkout/index.js +1 -1
  29. package/build/scripts/generators/config/content.js +1 -1
  30. package/package.json +1 -1
@@ -3,20 +3,20 @@ import { IkasPaymentGateway } from "src/models/data/payment-gateway";
3
3
  import { IkasBaseStore } from "src/store";
4
4
  import { MasterPassOperationTypeEnum } from "src/__api/types";
5
5
  import { OtpModalType } from "./components/master-pass/modal-otp";
6
+ declare type MFS_CB_HOC_TYPE_SOURCE = "checkMasterPass" | "register" | "resendOtp" | "linkCardToClient" | "validateTransaction" | "listCards" | "deleteCard";
6
7
  declare type MFS_CB_HOC_TYPE = (params: {
8
+ source: MFS_CB_HOC_TYPE_SOURCE;
7
9
  store: IkasBaseStore;
8
10
  checkout: IkasCheckout;
11
+ callback?: () => void;
9
12
  }) => MFS_CB_TYPE;
10
13
  declare type MFS_CB_TYPE = (status: any, response: {
11
- responseCode: "0000" | /* register success */ "" | /* register success */ "5001" | /* banka tarafindan otp dogrulamasi yapilir */ "5008" | /* masterpass tarafindan otp dogrulamasi yapilir*/ string;
14
+ responseCode: /* register success */ "0000" | /* register success */ "" | /* banka tarafindan otp dogrulamasi yapilir */ "5001" | /* masterpass tarafindan otp dogrulamasi yapilir*/ "5008" | /* Bu kredi kartı bu kullanıcıya daha önceden kaydedilmiştir. */ "5196" | /* Tek kullanımlık şifre doğrulanamadı. */ "1409" | /* External hesap bulunamadı. */ "1999" | string;
15
+ responseDescription?: string;
12
16
  transactionId: string;
13
17
  accountStatus: any;
14
- responseDescription: any;
15
18
  url3D: string;
16
- cards: number | Array<{
17
- Name: string;
18
- Value1: string;
19
- }>;
19
+ cards: number | Array<Card>;
20
20
  }) => void;
21
21
  declare type MFS = {
22
22
  checkMasterPass: (formData: FormData, cb: MFS_CB_TYPE) => void;
@@ -29,9 +29,19 @@ declare type MFS = {
29
29
  listCards: (phoneNumber: string, token: string, cb: MFS_CB_TYPE) => void;
30
30
  deleteCard: (formData: FormData, cb: MFS_CB_TYPE) => void;
31
31
  };
32
- declare type Card = {
33
- cardName: string;
34
- value: string;
32
+ export declare type Card = {
33
+ BankIca: string;
34
+ CardStatus: string;
35
+ EftCode: string;
36
+ IsMasterPassMember: string;
37
+ LoyaltyCode: string;
38
+ Name: string;
39
+ ProductName: string;
40
+ PromtCpin: string;
41
+ UniqueId: string;
42
+ Value1: string;
43
+ Value2: string;
44
+ paymentGatewayId: string;
35
45
  };
36
46
  export default class MasterPassModel {
37
47
  checkMasterPassData: {
@@ -43,9 +53,9 @@ export default class MasterPassModel {
43
53
  cardName: string;
44
54
  phoneNumber: string;
45
55
  };
46
- otpModalType: "" | OtpModalType;
47
- isOtpModalVisible: boolean;
48
- isLinkCardToClientModalVisible: boolean;
56
+ otpResponse?: string;
57
+ visibleModal?: "otpModalBank" | "otpModalMasterPass" | "linkCardToClientModal" | "mfsResponseModal";
58
+ mfsResponseModalText?: string;
49
59
  cards: Card[];
50
60
  selectedCard?: Card;
51
61
  constructor();
@@ -53,11 +63,12 @@ export default class MasterPassModel {
53
63
  onSaveCardToMasterPassCheckedChange: (value: boolean) => void;
54
64
  onSaveCardToMasterPassCardNameChange: (value: string) => void;
55
65
  onSaveCardToMasterPassPhoneNumberChange: (value: string) => void;
56
- onSaveCardToMasterPassSendConfirmationButtonClick: ({ creditCard, store, checkout, paymentGateway, }: RegisterParams) => void;
66
+ onSaveCardToMasterPassSendConfirmationButtonClick: ({ creditCard, store, checkout, paymentGateway, callback, }: RegisterParams) => void;
57
67
  showLinkCardToClientModal: () => void;
58
68
  hideLinkCardToClientModal: () => void;
59
69
  showOtpModal: (modalType: OtpModalType) => void;
60
70
  hideOtpModal: () => void;
71
+ onResponseModalClose: () => void;
61
72
  onLinkCardToClientButtonClick: (params: LinkCardToClientParams) => void;
62
73
  onOtpFormSubmit: (params: ValidateTransactionParams) => void;
63
74
  MFS: () => MFS | undefined;
@@ -72,18 +83,58 @@ export default class MasterPassModel {
72
83
  checkout: IkasCheckout;
73
84
  }) => string | null | undefined;
74
85
  sendSmsLanguage: (store: IkasBaseStore) => string;
86
+ /**
87
+ * Send object return value is FormData
88
+ * @returns FormData
89
+ */
75
90
  prepareFormData<T>(data: T): FormData;
91
+ /**
92
+ * MFS (MasterPass js library) response handler.
93
+ */
76
94
  mfsResponseHandler: MFS_CB_HOC_TYPE;
77
- checkMasterPass: ({ checkout, store }: CheckMasterPassParams) => Promise<void>;
78
- register: ({ creditCard, store, checkout, paymentGateway, }: RegisterParams) => Promise<void>;
79
- resendOtp: ({ store, checkout, }: {
95
+ /**
96
+ * CheckMasterPass for customer. Call it on initial. For more detail keep reading. [tr]
97
+
98
+ * Soldan ilk 6 hane 000000 ise
99
+ * Kullanıcının masterpass hesabı yok anlamına gelmektedir. Burada isterseniz kart kaydına
100
+ * yönlendirebilirsiniz. Kart kaydını sizin üzerinizden gerçekleştirdiğinde otomatik linklenecektir
101
+ * ve tekrar checkmasterpass servisine istek yaptığınızda ilk 6 hanenin değiştiğini göreceksiniz.
102
+
103
+ * Soldan ilk 6 hane 011000 ise
104
+ * Kullanıcının daha önce başka üye işyerinde kayıtlı hesabı olduğu anlamına gelmektedir.
105
+ * Bu aşamada kullanıcıyı linkleme (linkCardtoClient) akışına sokmanız gerekmektedir.
106
+ * “Masterpass’e kayıtlı kartların var, kullanmak ister misin?” sorusu sorulur
107
+ * ve evet cevabında linkCardtoClient servisi çağrılır. Sms doğrulaması yapıldıktan
108
+ * sonra linkleme başarıyla gerçekleşeceği için ListCard servisi ile kartlar listelenir.
109
+
110
+ * Soldan ilk 6 hane 011100 ise
111
+ * Kullanıcı daha önce ikas üzerinde linkli ve kartları kaydedilmiş demektir.
112
+ * Bu durumda kullanıcıdan herhangi bir aksiyon almasını beklemeden doğrudan
113
+ * kayıtlı kartlarının listelenmesi (ListCard servisi ile) gerekiyor.
114
+ */
115
+ checkMasterPass: ({ checkout, store, ...rest }: CheckMasterPassParams) => Promise<void>;
116
+ /**
117
+ * Save card to MasterPass
118
+ */
119
+ register: ({ creditCard, store, checkout, paymentGateway, callback, }: RegisterParams) => Promise<void>;
120
+ resendOtp: ({ store, checkout, callback, }: {
80
121
  store: IkasBaseStore;
81
122
  checkout: IkasCheckout;
123
+ callback: () => void;
82
124
  }) => Promise<void>;
125
+ /**
126
+ * First checkMasterPass then check respone;
127
+ * [tr] Soldan ilk 6 hane 011000 ise
128
+ * Kullanıcının daha önce başka üye işyerinde kayıtlı hesabı olduğu anlamına gelmektedir.
129
+ * Bu aşamada kullanıcıyı linkleme (linkCardtoClient) akışına sokmanız gerekmektedir.
130
+ * “Masterpass’e kayıtlı kartların var, kullanmak ister misin?” sorusu sorulur
131
+ * ve evet cevabında linkCardtoClient servisi çağrılır. Sms doğrulaması yapıldıktan
132
+ * sonra linkleme başarıyla gerçekleşeceği için ListCard servisi ile kartlar listelenir.
133
+ */
83
134
  linkCardToClient: ({ store, checkout }: LinkCardToClientParams) => Promise<void>;
84
- validateTransaction: ({ validationCode, store, cartId, paymentGateway, checkout, }: ValidateTransactionParams) => Promise<void>;
135
+ validateTransaction: ({ validationCode, store, cartId, paymentGateway, checkout, callback, }: ValidateTransactionParams) => Promise<void>;
85
136
  listCards: ({ store, checkout }: ListCardsParams) => Promise<void>;
86
- deleteCard: ({ store, checkout, cardName }: DeleteCardParams) => Promise<void>;
137
+ deleteCard: ({ store, checkout, card }: DeleteCardParams) => Promise<void>;
87
138
  }
88
139
  declare type RegisterParams = {
89
140
  creditCard: {
@@ -91,10 +142,12 @@ declare type RegisterParams = {
91
142
  expiryDate: string;
92
143
  cvc: string;
93
144
  accountAliasName: string;
145
+ phoneNumber: string;
94
146
  };
95
147
  paymentGateway: IkasPaymentGateway;
96
148
  store: IkasBaseStore;
97
149
  checkout: IkasCheckout;
150
+ callback: () => void;
98
151
  };
99
152
  declare type CheckMasterPassParams = {
100
153
  checkout: IkasCheckout;
@@ -111,6 +164,7 @@ declare type ValidateTransactionParams = {
111
164
  paymentGateway: IkasPaymentGateway;
112
165
  store: IkasBaseStore;
113
166
  checkout: IkasCheckout;
167
+ callback: () => void;
114
168
  };
115
169
  declare type ListCardsParams = {
116
170
  store: IkasBaseStore;
@@ -119,6 +173,6 @@ declare type ListCardsParams = {
119
173
  declare type DeleteCardParams = {
120
174
  store: IkasBaseStore;
121
175
  checkout: IkasCheckout;
122
- cardName: string;
176
+ card: Card;
123
177
  };
124
178
  export {};
@@ -1 +1 @@
1
- import{__awaiter as e,__generator as t}from'../../ext/tslib/tslib.es6.js';import{makeAutoObservable as n}from"mobx";import{IkasStorefrontConfig as s}from"../../storefront/index.js";import o from"../../__api/queries/getMasterpassRequestToken.js";import{MasterPassOperationTypeEnum as a}from"../../__api/types/index.js";var r="undefined"==typeof localStorage,i="/000000[0|1]{10}/g",c="/[0|1]1100[0|1]{11}/g",d="/[0|1]11100[0|1]{10}/g",u=function(){function u(){var u=this;this.checkMasterPassData={status:""},this.saveCardToMasterPass={isCheckboxChecked:!1,cardName:"",phoneNumber:"",isSendConfirmationButtonPending:!1},this.otpModalType="",this.isOtpModalVisible=!1,this.isLinkCardToClientModalVisible=!1,this.cards=[],this.onSaveCardToMasterPassCheckedChange=function(e){u.saveCardToMasterPass.isCheckboxChecked=e},this.onSaveCardToMasterPassCardNameChange=function(e){u.saveCardToMasterPass.cardName=e},this.onSaveCardToMasterPassPhoneNumberChange=function(e){u.saveCardToMasterPass.phoneNumber=e},this.onSaveCardToMasterPassSendConfirmationButtonClick=function(e){var t=e.creditCard,n=e.store,s=e.checkout,o=e.paymentGateway;u.register({creditCard:t,store:n,checkout:s,paymentGateway:o})},this.showLinkCardToClientModal=function(){u.isLinkCardToClientModalVisible=!0},this.hideLinkCardToClientModal=function(){u.isLinkCardToClientModalVisible=!1},this.showOtpModal=function(e){u.isOtpModalVisible=!0,u.otpModalType=e},this.hideOtpModal=function(){u.isOtpModalVisible=!1,u.otpModalType=""},this.onLinkCardToClientButtonClick=function(e){u.linkCardToClient(e)},this.onOtpFormSubmit=function(e){u.validateTransaction(e)},this.MFS=function(){var e;if(!r){if(window.MFS&&(null===(e=window.MFS)||void 0===e?void 0:e.setClientId))return window.MFS;console.error("MFS can not use.")}},this.getToken=function(n){var s=n.cartId,a=n.paymentGatewayId,r=n.operationType,i=n.phoneNumber;return e(u,void 0,void 0,(function(){var e;return t(this,(function(t){switch(t.label){case 0:return[4,o({cartId:s,paymentGatewayId:a,operationType:r,phoneNumber:i})];case 1:return(e=t.sent()).data&&e.isSuccess&&!e.errors.length?[2,e.data]:[2]}}))}))},this.phoneNumber=function(e){var t,n,s=e.store,o=e.checkout;return(null===(t=s.customerStore.customer)||void 0===t?void 0:t.phone)||(null===(n=o.shippingAddress)||void 0===n?void 0:n.phone)},this.sendSmsLanguage=function(e){var t,n="eng";if(e.localeOptions.length){var o=e.localeOptions.find((function(e){return e.routing.locale===s.getCurrentLocale()}));o&&o.iso3&&(n=null===(t=o.iso3)||void 0===t?void 0:t.toLowerCase())}return n},this.mfsResponseHandler=function(e){return function(t,n){var s=function(e){return n.accountStatus.match(e)};if(s(i)&&(u.checkMasterPassData.status="noMasterPassAccount"),s(c)&&(u.checkMasterPassData.status="hasMasterPassAccountButDoesNotHaveAnyOperation",u.showLinkCardToClientModal()),s(d)&&(u.checkMasterPassData.status="hasMasterPassAccountAndHasRelation",(null==e?void 0:e.checkout)&&e.store&&u.listCards({store:e.store,checkout:e.checkout}),console.log("call listcards")),"0000"!=n.responseCode&&""!=n.responseCode)if("5001"!=n.responseCode&&"5008"!=n.responseCode)"5010"!=n.responseCode||"undefined"==typeof window?console.error("MFS response.responseDescription",n.responseDescription):window.location.assign(n.url3D+"&returnUrl="+window.location.href);else{var o="5001"===n.responseCode?"bankOtp":"masterPassOtp";u.showOtpModal(o)}else console.log("Register Success")}},this.checkMasterPass=function(n){var s=n.checkout,o=n.store;return e(u,void 0,void 0,(function(){var e,n,r,i,c,d,u;return t(this,(function(t){switch(t.label){case 0:return(e=this.MFS())&&((n=this.phoneNumber({store:o,checkout:s}))&&(null===(d=s.selectedPaymentGateway)||void 0===d?void 0:d.id)&&(null===(u=s.selectedPaymentGateway)||void 0===u?void 0:u.masterPassClientId))?[4,this.getToken({cartId:s.id,paymentGatewayId:s.selectedPaymentGateway.id,operationType:a.CHECK_MASTER_PASS_USER,phoneNumber:n})]:[2];case 1:return(r=t.sent())?(e.setClientId(s.selectedPaymentGateway.masterPassClientId),i=this.sendSmsLanguage(o),c=this.prepareFormData({sendSmsLanguage:i,sendSms:"N",referenceNo:r.requestReferenceNumber,token:r.token,userId:n}),e.checkMasterPass(c,this.mfsResponseHandler({checkout:s,store:o})),[2]):[2]}}))}))},this.register=function(n){var s=n.creditCard,o=n.store,r=n.checkout,i=n.paymentGateway;return e(u,void 0,void 0,(function(){var e,n,c,d;return t(this,(function(t){switch(t.label){case 0:return(e=this.MFS())&&(n=this.phoneNumber({store:o,checkout:r}))?[4,this.getToken({cartId:r.id,paymentGatewayId:i.id,operationType:a.REGISTER_CARD,phoneNumber:n})]:[2];case 1:return(null==(c=t.sent())?void 0:c.token)?(d=this.prepareFormData({msisdn:n,token:null==c?void 0:c.token,referenceNo:c.requestReferenceNumber,sendSmsLanguage:this.sendSmsLanguage(o),rtaPan:s.rtaPan,expiryDate:s.expiryDate,cvc:s.cvc,accountAliasName:s.accountAliasName,timeZone:c.timeZone,sendSms:"Y",actionType:"A",clientIp:"",delinkReason:"",eActionType:"A",cardTypeFlag:"05",cpinFlag:"Y",defaultAccount:"Y",mmrpConfig:"110010",identityVerificationFlag:"Y",mobileAccountConfig:"MWA",uiChannelType:"6"}),e.register(d,this.mfsResponseHandler({store:o,checkout:r})),[2]):[2]}}))}))},this.resendOtp=function(n){var s=n.store,o=n.checkout;return e(u,void 0,void 0,(function(){var e,n,a;return t(this,(function(t){return(e=this.MFS())?(n=e.getLastToken(),a=this.sendSmsLanguage(s),e.resendOtp(n,a,this.mfsResponseHandler({store:s,checkout:o})),[2]):[2]}))}))},this.linkCardToClient=function(n){var s=n.store,o=n.checkout;return e(u,void 0,void 0,(function(){var e,n,r,i;return t(this,(function(t){switch(t.label){case 0:return(e=this.MFS())&&((n=this.phoneNumber({store:s,checkout:o}))&&o.selectedPaymentGateway)?[4,this.getToken({cartId:o.id,paymentGatewayId:o.selectedPaymentGateway.id,operationType:a.REGISTER_CARD,phoneNumber:n})]:[2];case 1:return(r=t.sent())?(i=this.prepareFormData({sendSms:"Y",sendSmsLanguage:this.sendSmsLanguage(s),token:r.token,referenceNo:r.requestReferenceNumber,cardAliasName:"",msisdn:n}),e.linkCardToClient(i,this.mfsResponseHandler({store:s,checkout:o})),[2]):[2]}}))}))},this.validateTransaction=function(n){var s=n.validationCode,o=n.store,r=n.cartId,i=n.paymentGateway,c=n.checkout;return e(u,void 0,void 0,(function(){var e,n,d,u;return t(this,(function(t){switch(t.label){case 0:return(e=this.MFS())&&(n=this.phoneNumber({store:o,checkout:c}))?[4,this.getToken({cartId:r,paymentGatewayId:i.id,operationType:a.REGISTER_CARD,phoneNumber:n})]:[2];case 1:return(d=t.sent())?(u=this.prepareFormData({pinType:"otp",validationCode:s,sendSms:"Y",sendSmsLanguage:this.sendSmsLanguage(o),token:d.token,referenceNo:d.requestReferenceNumber}),e.validateTransaction(u,this.mfsResponseHandler({store:o,checkout:c})),[2]):[2]}}))}))},this.listCards=function(n){var s=n.store,o=n.checkout;return e(u,void 0,void 0,(function(){var e,n,r,i,c,d=this;return t(this,(function(t){switch(t.label){case 0:return(e=this.MFS())&&((n=this.phoneNumber({store:s,checkout:o}))&&(r=o.selectedPaymentGateway))?[4,this.getToken({cartId:o.id,paymentGatewayId:r.id,operationType:a.LIST_CARDS,phoneNumber:n})]:[2];case 1:return(i=t.sent())?(c=function(e,t){if("0000"!=t.responseCode&&""!=t.responseCode)return console.error("mfs response.responseDescription",t.responseDescription),void console.log("TransactionID->",t.transactionId);var n=[];if(Array.isArray(t.cards))for(var s=0;s<t.cards.length;s++){var o=t.cards[s];n.push({cardName:o.Name,value:o.Value1})}d.cards=n,console.log("list_card response->",t),console.log("Cards",n),console.log("TransactionID->",t.transactionId)},e.listCards(n,i.token,c),[2]):[2]}}))}))},this.deleteCard=function(n){var s=n.store,o=n.checkout,r=n.cardName;return e(u,void 0,void 0,(function(){var e,n,i,c,d,u;return t(this,(function(t){switch(t.label){case 0:return(e=this.MFS())&&((n=this.phoneNumber({store:s,checkout:o}))&&(null===(d=o.selectedPaymentGateway)||void 0===d?void 0:d.id))?[4,this.getToken({cartId:o.id,paymentGatewayId:null===(u=o.selectedPaymentGateway)||void 0===u?void 0:u.id,operationType:a.DELETE_CARD,phoneNumber:n})]:[2];case 1:return(i=t.sent())?(c=this.prepareFormData({sendSms:"N",msisdn:n,token:i.token,referenceNo:i.requestReferenceNumber,sendSmsLanguage:this.sendSmsLanguage(s),accountAliasName:r}),e.deleteCard(c,this.mfsResponseHandler({store:s,checkout:o})),[2]):[2]}}))}))},n(this)}return Object.defineProperty(u.prototype,"isSendConfirmationButtonDisabled",{get:function(){return!(!this.saveCardToMasterPass.cardName||!this.saveCardToMasterPass.phoneNumber)},enumerable:!1,configurable:!0}),u.prototype.prepareFormData=function(e){var t=new FormData;return Object.entries(e).forEach((function(e){var n=e[0],s=e[1];return t.append(n,s)})),t},u}();export{u as default};
1
+ import{__awaiter as e,__generator as t,__rest as s}from'../../ext/tslib/tslib.es6.js';import{makeAutoObservable as o}from"mobx";import{IkasStorefrontConfig as n}from"../../storefront/index.js";import a from"../../__api/queries/getMasterpassRequestToken.js";import{MasterPassOperationTypeEnum as r}from"../../__api/types/index.js";var i="undefined"==typeof localStorage,c=/000000[0|1]{10}/g,d=/[0|1]1100[0|1]{11}/g,l=/[0|1]11100[0|1]{10}/g,u=function(){function u(){var u=this;this.checkMasterPassData={status:""},this.saveCardToMasterPass={isCheckboxChecked:!1,cardName:"",phoneNumber:"",isSendConfirmationButtonPending:!1},this.cards=[],this.onSaveCardToMasterPassCheckedChange=function(e){u.saveCardToMasterPass.isCheckboxChecked=e},this.onSaveCardToMasterPassCardNameChange=function(e){u.saveCardToMasterPass.cardName=e},this.onSaveCardToMasterPassPhoneNumberChange=function(e){u.saveCardToMasterPass.phoneNumber=e},this.onSaveCardToMasterPassSendConfirmationButtonClick=function(e){var t=e.creditCard,s=e.store,o=e.checkout,n=e.paymentGateway,a=e.callback;console.log("onSaveCardToMasterPassSendConfirmationButtonClick 1"),u.register({creditCard:t,store:s,checkout:o,paymentGateway:n,callback:a})},this.showLinkCardToClientModal=function(){u.visibleModal="linkCardToClientModal"},this.hideLinkCardToClientModal=function(){u.visibleModal=void 0},this.showOtpModal=function(e){u.visibleModal="masterPassOtp"===e?"otpModalMasterPass":"otpModalBank",console.log("calisti",u.visibleModal)},this.hideOtpModal=function(){u.visibleModal=void 0},this.onResponseModalClose=function(){u.visibleModal=void 0,u.mfsResponseModalText=""},this.onLinkCardToClientButtonClick=function(e){u.linkCardToClient(e)},this.onOtpFormSubmit=function(e){u.validateTransaction(e)},this.MFS=function(){var e;if(!i){if(window.MFS&&(null===(e=window.MFS)||void 0===e?void 0:e.setClientId))return window.MFS;console.error("MFS can not use.")}},this.getToken=function(s){var o=s.cartId,n=s.paymentGatewayId,r=s.operationType,i=s.phoneNumber;return e(u,void 0,void 0,(function(){var e;return t(this,(function(t){switch(t.label){case 0:return[4,a({cartId:o,paymentGatewayId:n,operationType:r,phoneNumber:i})];case 1:return(e=t.sent()).data&&e.isSuccess&&!e.errors.length?[2,e.data]:[2]}}))}))},this.phoneNumber=function(e){var t,s,o=e.store,n=e.checkout,a=(null===(t=o.customerStore.customer)||void 0===t?void 0:t.phone)||(null===(s=n.shippingAddress)||void 0===s?void 0:s.phone);return a&&a.includes("+")&&(a=a.replace("+","")),a},this.sendSmsLanguage=function(e){var t,s="eng";if(e.localeOptions.length){var o=e.localeOptions.find((function(e){return e.routing.locale===n.getCurrentLocale()}));o&&o.iso3&&(s=null===(t=o.iso3)||void 0===t?void 0:t.toLowerCase())}return s},this.mfsResponseHandler=function(e){return function(t,s){console.log({field:"mfsResponseHandler",response:s}),e.callback&&e.callback();var o=function(e){var t;return null===(t=null==s?void 0:s.accountStatus)||void 0===t?void 0:t.match(e)};if(o(c)&&(u.checkMasterPassData.status="noMasterPassAccount"),o(d)&&(u.checkMasterPassData.status="hasMasterPassAccountButDoesNotHaveAnyOperation",u.showLinkCardToClientModal()),o(l)&&(u.checkMasterPassData.status="hasMasterPassAccountAndHasRelation",(null==e?void 0:e.checkout)&&e.store&&(u.listCards({store:e.store,checkout:e.checkout}),console.log("call listcards"))),"1409"===s.responseCode&&s.responseDescription&&(u.otpResponse=s.responseDescription),"0000"!=s.responseCode&&""!=s.responseCode||(console.log("Register Success"),"deleteCard"===e.source&&u.listCards({store:e.store,checkout:e.checkout}),"validateTransaction"===e.source&&(null==e?void 0:e.checkout)&&e.store&&(u.visibleModal=void 0,u.listCards({store:e.store,checkout:e.checkout}))),"5196"===s.responseCode&&s.responseDescription&&(u.visibleModal="mfsResponseModal",u.mfsResponseModalText=s.responseDescription),"5001"!=s.responseCode&&"5008"!=s.responseCode)"5010"!=s.responseCode||"undefined"==typeof window?console.error("MFS response.responseDescription",s.responseDescription):window.location.assign(s.url3D+"&returnUrl="+window.location.href);else{var n="5001"===s.responseCode?"bankOtp":"masterPassOtp";u.showOtpModal(n)}}},this.checkMasterPass=function(o){return e(u,void 0,void 0,(function(){var e,n,a,i,c,d,l=o.checkout,u=o.store;return s(o,["checkout","store"]),t(this,(function(t){switch(t.label){case 0:return console.log("checkMasterPass 1"),(e=this.MFS())?(n=this.phoneNumber({store:u,checkout:l}),console.log("checkMasterPass 2"),a=l.masterPassPaymentGateway,n&&a&&a.masterPassClientId?(console.log("checkMasterPass 3",n),[4,this.getToken({cartId:l.id,paymentGatewayId:a.id,operationType:r.CHECK_MASTER_PASS_USER,phoneNumber:n})]):[2]):[2];case 1:return(i=t.sent())?(e.setClientId(a.masterPassClientId),c=this.sendSmsLanguage(u),d=this.prepareFormData({sendSmsLanguage:c,sendSms:"N",referenceNo:i.requestReferenceNumber,token:i.token,userId:n}),e.checkMasterPass(d,this.mfsResponseHandler({source:"checkMasterPass",checkout:l,store:u})),console.log("checkMasterPass 4"),[2]):[2]}}))}))},this.register=function(s){var o=s.creditCard,n=s.store,a=s.checkout,i=s.paymentGateway,c=s.callback;return e(u,void 0,void 0,(function(){var e,s,d,l;return t(this,(function(t){switch(t.label){case 0:return console.log("register 1"),(e=this.MFS())?(console.log("register 2"),(s=o.phoneNumber)&&i.masterPassClientId?(console.log("register 3"),[4,this.getToken({cartId:a.id,paymentGatewayId:i.id,operationType:r.REGISTER_CARD,phoneNumber:s})]):[2]):[2];case 1:return d=t.sent(),console.log("register 4"),(null==d?void 0:d.token)?(l=this.prepareFormData({msisdn:s,token:null==d?void 0:d.token,referenceNo:d.requestReferenceNumber,sendSmsLanguage:this.sendSmsLanguage(n),rtaPan:o.rtaPan,expiryDate:o.expiryDate,cvc:o.cvc,accountAliasName:o.accountAliasName,timeZone:d.timeZone,sendSms:"Y",actionType:"A",clientIp:"",delinkReason:"",eActionType:"A",cardTypeFlag:"05",cpinFlag:"Y",defaultAccount:"Y",mmrpConfig:"110010",identityVerificationFlag:"Y",mobileAccountConfig:"MWA",uiChannelType:"6"}),console.log("reigster 5"),e.setClientId(i.masterPassClientId),e.register(l,this.mfsResponseHandler({source:"register",store:n,checkout:a,callback:c})),[2]):[2]}}))}))},this.resendOtp=function(s){var o=s.store,n=s.checkout,a=s.callback;return e(u,void 0,void 0,(function(){var e,s,r;return t(this,(function(t){return(e=this.MFS())?(s=e.getLastToken(),r=this.sendSmsLanguage(o),e.resendOtp(s,r,this.mfsResponseHandler({source:"resendOtp",store:o,checkout:n,callback:a})),[2]):[2]}))}))},this.linkCardToClient=function(s){var o=s.store,n=s.checkout;return e(u,void 0,void 0,(function(){var e,s,a,i,c;return t(this,(function(t){switch(t.label){case 0:return(e=this.MFS())&&((s=this.phoneNumber({store:o,checkout:n}))&&(null==(a=n.masterPassPaymentGateway)?void 0:a.id))?[4,this.getToken({cartId:n.id,paymentGatewayId:a.id,operationType:r.REGISTER_CARD,phoneNumber:s})]:[2];case 1:return(i=t.sent())?(c=this.prepareFormData({sendSms:"Y",sendSmsLanguage:this.sendSmsLanguage(o),token:i.token,referenceNo:i.requestReferenceNumber,cardAliasName:"",msisdn:s}),e.linkCardToClient(c,this.mfsResponseHandler({source:"linkCardToClient",store:o,checkout:n})),[2]):[2]}}))}))},this.validateTransaction=function(s){var o=s.validationCode,n=s.store,a=s.cartId,i=s.paymentGateway,c=s.checkout,d=s.callback;return e(u,void 0,void 0,(function(){var e,s,l,u;return t(this,(function(t){switch(t.label){case 0:return(e=this.MFS())&&(s=this.phoneNumber({store:n,checkout:c}))?[4,this.getToken({cartId:a,paymentGatewayId:i.id,operationType:r.REGISTER_CARD,phoneNumber:s})]:[2];case 1:return(l=t.sent())?(u=this.prepareFormData({pinType:"otp",validationCode:o,sendSms:"Y",sendSmsLanguage:this.sendSmsLanguage(n),token:l.token,referenceNo:l.requestReferenceNumber}),e.validateTransaction(u,this.mfsResponseHandler({source:"validateTransaction",store:n,checkout:c,callback:d})),[2]):[2]}}))}))},this.listCards=function(s){var o=s.store,n=s.checkout;return e(u,void 0,void 0,(function(){var e,s,a,i,c,d,l=this;return t(this,(function(t){switch(t.label){case 0:return(e=this.MFS())&&(s=this.phoneNumber({store:o,checkout:n}))?(a=null===(d=n.masterPassPaymentGateway)||void 0===d?void 0:d.id,console.log("listCards paymentGatewayId",a),a?[4,this.getToken({cartId:n.id,paymentGatewayId:a,operationType:r.LIST_CARDS,phoneNumber:s})]:[2]):[2];case 1:return(i=t.sent())?(c=function(e,t){if("0000"!=t.responseCode&&""!=t.responseCode)return l.visibleModal="mfsResponseModal",l.mfsResponseModalText=t.responseDescription,console.error("mfs response.responseDescription",t.responseDescription),void console.log("TransactionID->",t.transactionId);var s=[];if(Array.isArray(t.cards))for(var o=0;o<t.cards.length;o++){var n=t.cards[o];n.paymentGatewayId=a,s.push(n)}l.cards=s,console.log("list_card response->",t),console.log("Cards",s),console.log("TransactionID->",t.transactionId)},e.listCards(s,i.token,c),[2]):[2]}}))}))},this.deleteCard=function(s){var o=s.store,n=s.checkout,a=s.card;return e(u,void 0,void 0,(function(){var e,s,i,c;return t(this,(function(t){switch(t.label){case 0:return(e=this.MFS())&&(s=this.phoneNumber({store:o,checkout:n}))?[4,this.getToken({cartId:n.id,paymentGatewayId:a.paymentGatewayId,operationType:r.DELETE_CARD,phoneNumber:s})]:[2];case 1:return(i=t.sent())?(c=this.prepareFormData({sendSms:"N",msisdn:s,token:i.token,referenceNo:i.requestReferenceNumber,sendSmsLanguage:this.sendSmsLanguage(o),accountAliasName:a.Name}),e.deleteCard(c,this.mfsResponseHandler({source:"deleteCard",store:o,checkout:n})),[2]):[2]}}))}))},o(this)}return Object.defineProperty(u.prototype,"isSendConfirmationButtonDisabled",{get:function(){return!this.saveCardToMasterPass.cardName||!this.saveCardToMasterPass.phoneNumber},enumerable:!1,configurable:!0}),u.prototype.prepareFormData=function(e){var t=new FormData;return Object.entries(e).forEach((function(e){var s=e[0],o=e[1];return t.append(s,o)})),t},u}();export{u as default};
@@ -1 +1 @@
1
- import*as e from"react";import{observer as t}from"mobx-react-lite";import"../../../../../models/data/payment-gateway/index.js";import{CreditCardForm as n}from"../../../components/credit-card-form/index.js";import{Installments as a}from"./installments/index.js";import r from"../../../components/select-box/index.js";import o from"./style.module.scss.js";import"../../../../../storefront/index.js";import'../../../../../ext/lodash/isArguments.js';import'../../../../../ext/lodash/isBuffer.js';import'../../../../../ext/lodash/isTypedArray.js';import'../../../../../ext/lodash/_baseGetTag.js';import{formatMoney as l}from"../../../../../utils/currency.js";import{useTranslation as m}from"../../../../../utils/i18n.js";import s from"../../../components/svg/external.js";import c from"../../../components/master-pass/payment-gateway/svg/master-card.js";import{StripeForm as i}from"../../../components/stripe/index.js";import{PaymentMethodEnum as d,PaymentGatewayTypeEnum as p,PaymentGatewayTransactionFeeTypeEnum as u,PaymentGatewayAdditionalPriceTypeEnum as y}from"../../../../../__api/types/index.js";var f=t((function(t){var f=t.vm,E=m().t,g=function(t){return e.createElement("div",{style:{display:"flex",justifyContent:"flex-end",alignItems:"center",flexWrap:"wrap"}},t.children)},v=function(t){return e.createElement("div",{className:o.AdditionalPrice},t.children)};return e.createElement(e.Fragment,null,f.isPaymentGatewayHasMasterPass&&f.mpVM.cards.map((function(t,n){var a;return e.createElement(r,{key:n,label:e.createElement("div",null,e.createElement("span",{className:o.MasterPassSelectBoxLabelLogo},e.createElement(c,null)),t.cardName," ",t.value),rightContent:e.createElement("button",{className:o.MasterPassSelectBoxDeleteButton,onClick:function(){return f.mpVM.deleteCard({store:f.store,checkout:f.checkout,cardName:t.cardName})}},E("checkout-page:masterPass.paymentGatewaySelectBox.delete")),isSelected:(null===(a=f.mpVM.selectedCard)||void 0===a?void 0:a.cardName)===t.cardName})})),f.paymentGateways.map((function(t,m){var c,h,x;return e.createElement(r,{key:t.id,label:t.paymentMethodType===d.CREDIT_CARD&&t.type===p.INTERNAL?E("checkout-page:creditCard"):t.name,isSelected:f.selectedPaymentGatewayIndex===m,rightContent:(null===(c=t.additionalPrices)||void 0===c?void 0:c.length)?e.createElement(v,null,(x=t.additionalPrices[0],0===x.amount?"":"".concat(x.amountType===u.AMOUNT?l(x.amount,f.checkout.currencyCode):" %"+x.amount).concat(x.type===y.DECREMENT?" "+E("checkout-page:paymentMethodDiscount"):" "+E("checkout-page:paymentMethodAdditionalPrice")))):e.createElement(g,null,!!t.logoUrl&&e.createElement("div",{className:o.PaymentLogoContainer},e.createElement("img",{src:t.logoUrl}))),bottomContent:t.paymentMethodType===d.CREDIT_CARD&&t.type===p.INTERNAL?e.createElement(e.Fragment,null,"STRIPE"===t.code&&(null===(h=t.settings)||void 0===h?void 0:h.find((function(e){return"allow_custom_flow"===e.label&&"true"===e.value})))?e.createElement(i,{vm:f,pg:t}):e.createElement("div",null,e.createElement(n,{vm:f}),f.installmentInfo&&e.createElement(a,{vm:f}))):t.description?e.createElement(e.Fragment,null,t.type===p.EXTERNAL&&e.createElement("div",{style:{height:"52px",display:"flex",justifyContent:"center",margin:"24px 0"}},e.createElement(s,null)),e.createElement("div",{dangerouslySetInnerHTML:{__html:t.description}})):void 0,onClick:function(){return f.selectedPaymentGatewayIndex!==m&&f.setPaymentGateway(m)}})})))}));export{f as PaymentGateways};
1
+ import*as e from"react";import{observer as t}from"mobx-react-lite";import"../../../../../models/data/payment-gateway/index.js";import{CreditCardForm as n}from"../../../components/credit-card-form/index.js";import{Installments as a}from"./installments/index.js";import o from"../../../components/select-box/index.js";import r from"./style.module.scss.js";import"../../../../../storefront/index.js";import'../../../../../ext/lodash/isArguments.js';import'../../../../../ext/lodash/isBuffer.js';import'../../../../../ext/lodash/isTypedArray.js';import'../../../../../ext/lodash/_baseGetTag.js';import{formatMoney as l}from"../../../../../utils/currency.js";import{useTranslation as m}from"../../../../../utils/i18n.js";import i from"../../../components/svg/external.js";import c from"../../../components/master-pass/payment-gateway/svg/master-card.js";import{StripeForm as s}from"../../../components/stripe/index.js";import d from"../../../components/credit-card-form/model.js";import{PaymentMethodEnum as p,PaymentGatewayTypeEnum as u,PaymentGatewayTransactionFeeTypeEnum as y,PaymentGatewayAdditionalPriceTypeEnum as f}from"../../../../../__api/types/index.js";var v=t((function(t){var v=t.vm,E=m().t,g=function(t){return e.createElement("div",{style:{display:"flex",justifyContent:"flex-end",alignItems:"center",flexWrap:"wrap"}},t.children)},h=function(t){return e.createElement("div",{className:r.AdditionalPrice},t.children)},I=function(e){var t;return"STRIPE"===e.code&&(null===(t=e.settings)||void 0===t?void 0:t.find((function(e){return"allow_custom_flow"===e.label&&"true"===e.value})))};return e.createElement(e.Fragment,null,!!v.mpVM.cards.length&&v.mpVM.cards.map((function(t,n){var l,m=v.paymentGateways.find((function(e){return e.id===t.paymentGatewayId})),i=e.createElement("button",{className:r.MasterPassSelectBoxDeleteButton,onClick:function(e){e.stopPropagation(),v.mpVM.deleteCard({store:v.store,checkout:v.checkout,card:t})}},E("checkout-page:masterPass.paymentGatewaySelectBox.delete")),s=e.createElement("div",{style:{display:"flex",alignItems:"center"}},e.createElement("span",{className:r.MasterPassSelectBoxLabelLogo},e.createElement(c,null)),t.Name," ",t.Value1),y=(null==m?void 0:m.id)&&m.paymentMethodType===p.CREDIT_CARD&&m.type===u.INTERNAL?v.installmentInfo&&e.createElement(a,{vm:v}):void 0;return e.createElement(o,{key:n,isSelected:(null===(l=v.mpVM.selectedCard)||void 0===l?void 0:l.UniqueId)===t.UniqueId,label:s,rightContent:i,bottomContent:y,onClick:function(){var e;(null===(e=v.mpVM.selectedCard)||void 0===e?void 0:e.UniqueId)!==t.UniqueId&&(v.checkout.selectedPaymentGateway=null,v.cardData=new d,v.installmentInfo=void 0,v.mpVM.selectedCard=t,t.Value1&&t.paymentGatewayId&&v.checkout.totalFinalPrice&&v.retrieveInstallmentInfo({input:{binNumber:t.Value1.slice(0,6),paymentGatewayId:t.paymentGatewayId,price:v.checkout.totalFinalPrice}}))}})})),v.paymentGateways.map((function(t,m){var c,d;return e.createElement(o,{key:t.id,label:t.paymentMethodType===p.CREDIT_CARD&&t.type===u.INTERNAL?I(t)?" ":E("checkout-page:creditCard"):t.name,isSelected:v.selectedPaymentGatewayIndex===m,rightContent:(null===(c=t.additionalPrices)||void 0===c?void 0:c.length)?e.createElement(h,null,(d=t.additionalPrices[0],0===d.amount?"":"".concat(d.amountType===y.AMOUNT?l(d.amount,v.checkout.currencyCode):" %"+d.amount).concat(d.type===f.DECREMENT?" "+E("checkout-page:paymentMethodDiscount"):" "+E("checkout-page:paymentMethodAdditionalPrice")))):e.createElement(g,null,!!t.logoUrl&&e.createElement("div",{className:r.PaymentLogoContainer},e.createElement("img",{src:t.logoUrl}))),bottomContent:t.paymentMethodType===p.CREDIT_CARD&&t.type===u.INTERNAL?e.createElement(e.Fragment,null,I(t)?e.createElement(s,{vm:v,pg:t}):e.createElement("div",null,e.createElement(n,{vm:v}),v.installmentInfo&&e.createElement(a,{vm:v}))):t.description?e.createElement(e.Fragment,null,t.type===u.EXTERNAL&&e.createElement("div",{style:{height:"52px",display:"flex",justifyContent:"center",margin:"24px 0"}},e.createElement(i,null)),e.createElement("div",{dangerouslySetInnerHTML:{__html:t.description}})):void 0,onClick:function(){v.selectedPaymentGatewayIndex!==m&&(v.setPaymentGateway(m),v.mpVM.selectedCard=void 0)}})})))}));export{v as PaymentGateways};
@@ -1 +1 @@
1
- import e from'../../../../../ext/style-inject/dist/style-inject.es.js';var t={PaymentLogoContainer:"style-module_PaymentLogoContainer__224HZ",AdditionalPrice:"style-module_AdditionalPrice__gW28c",MasterPassSelectBoxDeleteButton:"style-module_MasterPassSelectBoxDeleteButton__3ACqy",MasterPassSelectBoxLabelLogo:"style-module_MasterPassSelectBoxLabelLogo__2AcTF"};e(".style-module_PaymentLogoContainer__224HZ {\n margin-left: 10px;\n font-size: 0.7em;\n}\n.style-module_PaymentLogoContainer__224HZ img {\n height: 20px;\n}\n\n.style-module_AdditionalPrice__gW28c {\n color: var(--checkout-primary-text-color);\n font-weight: 600;\n}\n\n.style-module_MasterPassSelectBoxDeleteButton__3ACqy {\n font-size: 14px;\n line-height: 20px;\n color: var(--checkout-primary-text-color);\n}\n\n.style-module_MasterPassSelectBoxLabelLogo__2AcTF {\n display: inline-block;\n margin-right: 12px;\n}");export{t as default};
1
+ import e from'../../../../../ext/style-inject/dist/style-inject.es.js';var t={PaymentLogoContainer:"style-module_PaymentLogoContainer__224HZ",AdditionalPrice:"style-module_AdditionalPrice__gW28c",MasterPassSelectBoxDeleteButton:"style-module_MasterPassSelectBoxDeleteButton__3ACqy",MasterPassSelectBoxLabelLogo:"style-module_MasterPassSelectBoxLabelLogo__2AcTF"};e(".style-module_PaymentLogoContainer__224HZ {\n margin-left: 10px;\n font-size: 0.7em;\n}\n.style-module_PaymentLogoContainer__224HZ img {\n height: 20px;\n}\n\n.style-module_AdditionalPrice__gW28c {\n color: var(--checkout-primary-text-color);\n font-weight: 600;\n}\n\n.style-module_MasterPassSelectBoxDeleteButton__3ACqy {\n font-size: 14px;\n line-height: 20px;\n color: var(--checkout-primary-text-color);\n padding: 4px 8px;\n margin-right: -8px;\n}\n.style-module_MasterPassSelectBoxDeleteButton__3ACqy:hover {\n text-decoration: underline;\n}\n\n.style-module_MasterPassSelectBoxLabelLogo__2AcTF {\n display: inline-block;\n margin-right: 12px;\n}");export{t as default};