{"version":3,"sources":["webpack:///./src/components/mixins/inputHelper.js","webpack:///./src/assets/images/cards/card-discover.png","webpack:///./src/views/applicant/ListCardsPage.vue","webpack:///./src/components/mixins/cardsHelper.js","webpack:///./src/components/mixins/openpayErrors.js","webpack:///./src/components/shared/cards/RegisterCard.vue","webpack:///src/components/shared/cards/RegisterCard.vue","webpack:///./src/components/shared/cards/RegisterCard.vue?c508","webpack:///./src/components/shared/cards/RegisterCard.vue?e09b","webpack:///./src/components/shared/cards/UpdateCardCvv.vue","webpack:///src/components/shared/cards/UpdateCardCvv.vue","webpack:///./src/components/shared/cards/UpdateCardCvv.vue?fd52","webpack:///./src/components/shared/cards/UpdateCardCvv.vue?2833","webpack:///src/views/applicant/ListCardsPage.vue","webpack:///./src/views/applicant/ListCardsPage.vue?f047","webpack:///./src/views/applicant/ListCardsPage.vue?d1b5","webpack:///./src/assets/images/cards/card-master.png","webpack:///./src/assets/images/cards/card-visa.png","webpack:///./src/assets/images/cards/card-generic.png","webpack:///./src/assets/images/cards/card-amex.png","webpack:///./src/assets/images/cards sync ^\\.\\/.*\\.png$","webpack:///./src/assets/images/figs/fig9.png"],"names":["methods","reg","value","caps","trim","this","upper","trimSpaces","cleanTildes","toUpperCase","s","r","toLowerCase","replace","RegExp","uppercase","module","exports","render","_vm","_c","_self","isMounted","staticClass","applicant","success","attrs","slot","_v","class","colClass","model","name","callback","$$v","$set","expression","email","ref","formattedCards","scopedSlots","_u","key","fn","data","_l","tr","indextr","cardImgSource","thumb","_s","number","bank","on","$event","onCardSelected","length","deleteCardRequest","showNewCardPopup","staticStyle","require","goToHomePage","isNewCardPopupActive","userId","onCardSaved","_e","isCardCvvPopupActive","preselectedCardId","preselectedCardDescription","onCardCvvUpdated","staticRenderFns","cardBrandName","brand","mbrand","cardTypeFormat","type","isDebitCard","isCreditCard","cardThumbail","getMessageFromErrorCode","code","_m","onError","errorMssg","wasSaved","directives","rawName","arg","requiredRules","cardNumberError","onCardChanged","card","card_number","holderNameError","holder_name","expirationError","expiration","cvvError","cvv","onSaveCard","cancel","finish","mixins","props","required","accepts","default","saveLogs","debitType","creditType","defaultCardBrand","dataCardBrand","deviceSessionId","expirationMonth","expirationYear","numericCard","computed","setOpenpay","OpenPay","cvv2","expiration_year","expiration_month","user_id","device","card_name","num_card","month","year","setExpiration","resetForm","hasError","component","cardDescription","onUpdateCard","cardId","card_id","components","RegisterCard","UpdateCardCvv","card_selected","cardIdSelected","cardRowSelected","acceptsOnlyDebit","cards","get","set","fcards","id","typeFormat","expirationStatus","selected","getCardTermination","isCardSelected","isExpired","clean","color","title","text","acceptText","cancelText","accept","force_delete","mssg","isSelectable","validateNewCard","map","webpackContext","req","webpackContextResolve","__webpack_require__","o","e","Error","keys","Object","resolve"],"mappings":"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E1qHK,EAAkB,CAAC,WAAY,IAAInD,EAAId,KAAKe,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,IAAI,CAACA,EAAG,QAAQ,CAACD,EAAIS,GAAG,2EAChG,WAAY,IAAIT,EAAId,KAAKe,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,QAAQ,CAACG,YAAY,wBAAwB,CAACJ,EAAIS,GAAG,wBAAwBR,EAAG,QAAQ,CAACD,EAAIS,GAAG,iBCuFtI,GACfI,oBACAsE,aACAC,OACAxC,QACAY,qBACA6B,aAEAC,SACA9B,WACA6B,YACAE,mBAEAC,UACAhC,eACA6B,YACAE,aAGA9D,OACA,OACAgE,kBACAC,oBACArB,yBACA1D,oEACAgF,2BACAC,wBACAC,qBACA9B,WACAC,eACAC,YACAO,MACAC,iBACAM,SACAJ,iBACAE,iBAEAiB,qBACAC,oBACAC,mBAGAC,UACA3B,kBACA,qCAEAI,kBACA,qCAEAE,kBACA,oCAEAE,WACA,8BAGA,gBACA,mBAEAjG,SACAqH,aACA,4CACA,yBACA,KACAC,iBACAA,qBACAA,2BACA,+FAEA5B,gBACA,mDACA,+EAEA,mBADA,QACA,QAGA,wBAIA1C,gBACA,4CACA,gCAEA,mBACA,gBACA,4CACA,MAEA,YADA,qCAGA,qBACA,qBACA,4BACA,qCACA,SACA4C,6BACAE,kCACAyB,mBACAC,oCACAC,uCAGAH,6DAEA,wBACA,OACAI,oBACAC,4BACAC,gCACAC,0BACA3B,kBACA4B,2BACAC,0BAEA,IACA,eACA,uCAEA,mDACA,iBACA,sCAEA,SACA,4BACA,+EAGA,2EAEA,gBAEA,sBAEA,oBACA,aACA,YACA,+DACA,iBAEA,sBAEAC,gBACA,wBACA,uBACA,wCACA,eACA,iCACA,kBACA,2BACA,4CAIA,eACA,yDACA,kBAEA,eACA,yDACA,kBAEAC,YACA,oBACA,iBACA,gBACA,aACA,yBACA,0BACA,sBACA,0CAEAC,YACA,6BCvQoX,I,YCOhXC,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,WACA,MAIa,EAAAA,E,QClBXjH,EAAS,WAAkB,IAAIC,EAAId,KAAKe,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACM,MAAM,CAAC,GAAK,yBAAyB,CAACN,EAAG,KAAK,CAACD,EAAIS,GAAG,4DAA4DT,EAAI8D,GAAG,GAAI9D,EAAI+D,QAAS9D,EAAG,WAAW,CAACG,YAAY,YAAYoC,YAAY,CAAC,OAAS,QAAQjC,MAAM,CAAC,MAAQ,WAAW,CAACP,EAAIS,GAAGT,EAAI+B,GAAG/B,EAAIgE,cAAchE,EAAI8C,KAAK7C,EAAG,MAAM,CAACG,YAAY,eAAe,CAACH,EAAG,MAAM,CAACG,YAAY,iBAAiB,CAACH,EAAG,IAAI,CAACA,EAAG,OAAO,CAACG,YAAY,QAAQ,CAACJ,EAAIS,GAAG,eAAeT,EAAIS,GAAG,IAAIT,EAAI+B,GAAG/B,EAAIiH,iBAAiB,WAAWhH,EAAG,MAAM,CAACG,YAAY,eAAe,CAACH,EAAG,MAAM,CAACG,YAAY,iBAAiB,CAACH,EAAG,QAAQ,CAACG,YAAY,wBAAwB,CAACJ,EAAIS,GAAG,yBAAyBR,EAAG,WAAW,CAACiE,WAAW,CAAC,CAACrD,KAAK,WAAWsD,QAAQ,aAAapF,MAAOiB,EAAIqE,cAAepD,WAAW,iBAAiB,CAACJ,KAAK,aAAasD,QAAQ,6BAA6BC,IAAI,kBAAkBhE,YAAY,cAAcG,MAAM,CAAC,KAAO,MAAM,cAAc,kBAAkB,OAASP,EAAI8E,SAAS,YAAY,WAAWlE,MAAM,CAAC7B,MAAOiB,EAAIwE,KAAKO,IAAKjE,SAAS,SAAUC,GAAMf,EAAIgB,KAAKhB,EAAIwE,KAAM,MAAOzD,IAAME,WAAW,eAAe,KAAKhB,EAAG,MAAM,CAACG,YAAY,gBAAgBH,EAAG,MAAM,CAACG,YAAY,UAAU,CAACH,EAAG,MAAM,CAACG,YAAY,sBAAsB,CAACH,EAAG,YAAY,CAACG,YAAY,eAAeG,MAAM,CAAC,KAAO,UAAU2B,GAAG,CAAC,MAAQlC,EAAIkH,eAAe,CAAClH,EAAIS,GAAG,aAAaR,EAAG,YAAY,CAACG,YAAY,oBAAoBG,MAAM,CAAC,KAAO,SAAS,MAAQ,QAAQ2B,GAAG,CAAC,MAAQlC,EAAIiF,SAAS,CAACjF,EAAIS,GAAG,eAAe,MAAM,IAEr+C0C,EAAkB,CAAC,WAAY,IAAInD,EAAId,KAAKe,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,IAAI,CAACA,EAAG,QAAQ,CAACD,EAAIS,GAAG,4ECyCnF,GACfI,qBACAsE,aACAC,OACAxC,QACAY,qBACA6B,aAEA8B,QACA3D,sBAEAyD,iBACAzD,gBAGA/B,OACA,OACAgE,kBACAC,oBACArB,yBACA1D,oEACAgF,2BACAC,wBACAC,qBACA9B,WACAC,eACAC,YACAO,MACAC,iBACAM,SACAJ,iBACAE,iBAEAiB,qBACAC,oBACAC,mBAGAC,UACA3B,kBACA,qCAEAI,kBACA,qCAEAE,kBACA,oCAEAE,WACA,8BAGA,kBAEAjG,SACA,qBACA,gBACA,4CACA,MAKA,qBACA,IACA,OACA0H,oBACAa,oBACArC,yBAEA,oCACA,iBACA,+CACA,cAEA,SACA,uCACA,gBAEA,0BApBA,sCAsBA,eACA,yDACA,kBAEA,eACA,yDACA,kBAEA+B,YACA,oBACA,iBACA,gBACA,cAEAC,YACA,6BC3IqX,ICOjX,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,WACA,MAIa,I,QCoGA,GACflG,qBACAsE,oBACAkC,YACAC,eACAC,iBAEAnC,sBACA3D,OACA,OACAtB,aACAQ,8BACA6G,iBACAC,oBACAC,qBACA1E,uBACAC,gCACAuB,MACAC,iBACAM,SACAJ,iBACAE,iBAEAgB,qBACAF,2BACAC,wBACA7B,WACAC,eACAC,YACA6B,qBACAC,oBACAC,iBACA5E,kBACAuG,oBACAtH,WACAuC,YACAtC,WACAO,UACAK,WACA0G,YAIA,gBACA,kBACA,2BACA,yBACA,qBACA,mBAEA3B,UACAtD,sBACAkF,MACA,+CAEAC,OACA,0DAGA/E,sBACA8E,MACA,+CAEAC,OACA,2DAIAjJ,SACA,0BACA,IACA,iFACA,sBACA,mBACA,KACA+I,cACA,aACA,yCACAG,QACAC,QACAhG,SACAqB,uCACAvB,sCACAmG,4CACAzE,iBACAvB,iBACAiG,qCACAC,gBAEA,sBAEA,SACA,qBAEA,eAGA5F,mBACA,0DAEA6F,sBACA,gCACA,qBAEA,IAEAvG,iBACA,gCAEAwG,kBACA,mCAEAC,aACA,sCAEAC,QACA,gBACA,qBAEAjG,qBACA,yBAEA,2EACA,iBACAkB,eACAgF,eACAC,yBACAC,OACAC,sBACAC,sBACAC,4BAIA,qBACA,qBACA,IACA,OACAtC,8BACAa,4BACA0B,uBAEA,uCACA,4CACA,yBACA,iCAEA,yBACA,0BAEA,SACA,4EACA,uDACAC,2BAEA,mDAEA,sBAEA,qBACA,qBACA,2BACA,yBACA,8CACA,uBACA,0BACA,yBACA,gGAOA,sBAGA,0BAEA,4FAEA,4BACA,sCAEAC,gBACA,8BACA,0BAIA5G,kBACA,0BACA,+CACA,kGACA,4BACA,0DAEA6G,kBACA,oBACA,sBACA,sCACA,yCACA,oBAEA,oDAGA,2BACA,mBAAApI,kBCtUsW,ICOlW,EAAY,eACd,EACAd,EACAoD,GACA,EACA,KACA,KACA,MAIa,e,gCClBftD,EAAOC,QAAU,IAA0B,gC,qBCA3CD,EAAOC,QAAU,IAA0B,8B,uBCA3CD,EAAOC,QAAU,IAA0B,iC,qBCA3CD,EAAOC,QAAU,IAA0B,8B,qBCA3C,IAAIoJ,EAAM,CACT,kBAAmB,OACnB,sBAAuB,OACvB,qBAAsB,OACtB,oBAAqB,OACrB,kBAAmB,QAIpB,SAASC,EAAeC,GACvB,IAAIpB,EAAKqB,EAAsBD,GAC/B,OAAOE,EAAoBtB,GAE5B,SAASqB,EAAsBD,GAC9B,IAAIE,EAAoBC,EAAEL,EAAKE,GAAM,CACpC,IAAII,EAAI,IAAIC,MAAM,uBAAyBL,EAAM,KAEjD,MADAI,EAAE3F,KAAO,mBACH2F,EAEP,OAAON,EAAIE,GAEZD,EAAeO,KAAO,WACrB,OAAOC,OAAOD,KAAKR,IAEpBC,EAAeS,QAAUP,EACzBxJ,EAAOC,QAAUqJ,EACjBA,EAAenB,GAAK,Q,qBC1BpBnI,EAAOC,QAAU,IAA0B","file":"js/chunk-b6932f6e.794e1285.js","sourcesContent":["export default {\n  methods: {\n    reg(value, caps = false, trim = false){\n      if(value == null || value == ''){\n        return \"\";\n      }\n\n      if(caps){\n        return this.upper(value, trim);\n      }\n      else if(trim) {\n        return this.trimSpaces(value);\n      }\n      else {\n        return value;\n      }\n    },\n    upper(value, trim = false) {\n      if (value == null || value == '') {\n        return \"\";\n      }\n      return this.cleanTildes(value, trim).toUpperCase();\n    },\n    cleanTildes(s, trim = false){\n      var r = s.toLowerCase();\n      r = r.replace(new RegExp(\"[àáâãäå]\", 'g'),\"a\");\n      r = r.replace(new RegExp(\"æ\", 'g'),\"ae\");\n      r = r.replace(new RegExp(\"ç\", 'g'),\"c\");\n      r = r.replace(new RegExp(\"[èéêë]\", 'g'),\"e\");\n      r = r.replace(new RegExp(\"[ìíîï]\", 'g'),\"i\");\n      //r = r.replace(new RegExp(\"ñ\", 'g'),\"n\");                            \n      r = r.replace(new RegExp(\"[òóôõö]\", 'g'),\"o\");\n      r = r.replace(new RegExp(\"œ\", 'g'),\"oe\");\n      //r = r.replace(new RegExp(\"[ùúûü]\", 'g'),\"u\");\n      r = r.replace(new RegExp(\"[ùúû]\", 'g'),\"u\");\n      r = r.replace(new RegExp(\"[ýÿ]\", 'g'),\"y\");\n      \n      if(trim){\n        r = r.replace(/\\s/g,'');\n      }\n\n      return r;\n    },\n    trimSpaces(s){\n      return s.replace(/\\s/g,'');\n    },\n    uppercase(value){\n      if (value == null || value == '') {\n        return \"\";\n      }\n      return value.toUpperCase();\n    }\n  }\n}","module.exports = __webpack_public_path__ + \"img/card-discover.3862cbfe.png\";","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.isMounted)?_c('div',{staticClass:\"vx-row no-gutter items-center justify-center\"},[(_vm.applicant.success == true)?_c('div',{staticClass:\"vx-col sm:w-5/6 md:w-2/3 lg:w-1/2 xl:w-2/5 xxl:w-1/3 m-0\"},[_c('vx-card',{staticClass:\"login-card py-3 px-3\"},[_c('div',{attrs:{\"slot\":\"no-body\"},slot:\"no-body\"},[_c('div',{staticClass:\"vx-col sm:w-full\"},[_c('div',{staticClass:\"px-8 pt-8\"},[_c('div',{staticClass:\"vx-card__title mb-4\"},[_c('h4',{staticClass:\"mb-1\"},[_vm._v(\" Tarjetas registradas \")]),_c('p',[_c('small',[_c('strong',[_vm._v(\"*Tus datos se manejan de forma segura con encriptación de 256 bits.\")])])])]),_c('div',{staticClass:\"vx-row\"},[_c('div',{class:_vm.colClass},[_c('vs-input',{staticClass:\"w-full\",attrs:{\"label\":\"Nombre o Razón Social\",\"name\":\"alias\",\"readonly\":\"true\",\"icon-pack\":\"feather\"},model:{value:(_vm.applicant.name),callback:function ($$v) {_vm.$set(_vm.applicant, \"name\", $$v)},expression:\"applicant.name\"}})],1),_c('div',{class:_vm.colClass},[_c('vs-input',{staticClass:\"w-full\",attrs:{\"label\":\"Correo electrónico\",\"name\":\"email\",\"readonly\":\"true\",\"icon-pack\":\"feather\"},model:{value:(_vm.applicant.email),callback:function ($$v) {_vm.$set(_vm.applicant, \"email\", $$v)},expression:\"applicant.email\"}})],1)]),_c('div',{staticClass:\"vx-row mb-base\"},[_c('div',{staticClass:\"vx-col w-full\"},[_c('vs-table',{ref:\"cardsTable\",staticClass:\"mt-1\",attrs:{\"stripe\":\"\",\"data\":_vm.formattedCards,\"noDataText\":\"No hay tarjetas disponibles\"},scopedSlots:_vm._u([{key:\"default\",fn:function({data}){return [_c('tbody',_vm._l((data),function(tr,indextr){return _c('vs-tr',{key:indextr,attrs:{\"data\":tr}},[_c('vs-td',[_c('div',{staticClass:\"flex items-center\"},[_c('img',{staticClass:\"card-thumbnail\",attrs:{\"src\":_vm.cardImgSource(tr.thumb),\"alt\":\"card\"}}),_c('p',{staticClass:\"font-large pl-4\"},[_vm._v(\" Terminación \"),_c('span',{staticClass:\"bold\"},[_vm._v(_vm._s(tr.number))])])])]),_c('vs-td',{staticClass:\"calif-container\"},[_c('p',{staticClass:\"font-medium\"},[_vm._v(_vm._s(tr.bank))])]),_c('vs-td',[_c('div',{staticClass:\"flex items-center\"},[_c('vs-button',{attrs:{\"icon-pack\":\"feather\",\"radius\":\"\",\"icon\":\"icon-edit\"},on:{\"click\":function($event){return _vm.onCardSelected(tr)}}}),_c('vs-button',{staticClass:\"ml-3\",attrs:{\"disabled\":_vm.formattedCards.length <= 1,\"icon-pack\":\"feather\",\"radius\":\"\",\"type\":\"border\",\"icon\":\"icon-trash\"},on:{\"click\":function($event){return _vm.deleteCardRequest(tr)}}})],1)])],1)}),1)]}}],null,false,3477229558)},[_c('div',{staticClass:\"flex flex-wrap-reverse items-center flex-grow justify-between mb-5\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('h5',[_vm._v(\"Administra tus tarjetas.\")]),_c('div',{staticClass:\"flex flex-wrap-reverse items-center data-list-btn-container\"},[_c('vs-button',{attrs:{\"icon-pack\":\"feather\",\"radius\":\"\",\"icon\":\"icon-plus\"},on:{\"click\":function($event){return _vm.showNewCardPopup(_vm.tr)}}})],1)]),_c('template',{slot:\"thead\"},[_c('vs-th',{staticClass:\"bold\"},[_vm._v(\"Tarjeta\")]),_c('vs-th',{staticClass:\"bold\"},[_vm._v(\"Banco\")]),_c('vs-th',{staticClass:\"bold\"},[_vm._v(\"Acciones\")])],1)],2)],1)])])])])])],1):_c('div',{staticClass:\"vx-col sm:w-5/6 md:w-2/3 lg:w-1/2 xl:w-2/5 xxl:w-1/3 m-0\"},[_c('vx-card',{staticClass:\"text-center w-full\",staticStyle:{\"padding\":\"5rem\"}},[_c('img',{staticClass:\"mx-auto mb-4 max-w-full\",attrs:{\"src\":require(\"@/assets/images/figs/fig9.png\"),\"alt\":\"graphic-404\"}}),_c('h2',{staticClass:\"mb-6 mt-6\"},[_vm._v(\"Verifica tus datos\")]),_c('vs-button',{on:{\"click\":function($event){return _vm.goToHomePage()}}},[_vm._v(\"Volver al inicio\")])],1)],1),_c('vs-popup',{attrs:{\"active\":_vm.isNewCardPopupActive,\"title\":\"Agregar nueva tarjeta\"},on:{\"update:active\":function($event){_vm.isNewCardPopupActive=$event}}},[(_vm.applicant.userId)?_c('register-card',{attrs:{\"user-id\":_vm.applicant.userId,\"accepts\":['debit'],\"save-logs\":false},on:{\"on-card-saved\":_vm.onCardSaved}}):_vm._e()],1),_c('vs-popup',{attrs:{\"active\":_vm.isCardCvvPopupActive,\"title\":\"Confirmar código de seguridad\"},on:{\"update:active\":function($event){_vm.isCardCvvPopupActive=$event}}},[(_vm.applicant.userId)?_c('update-card-cvv',{attrs:{\"user-id\":_vm.applicant.userId,\"card-id\":_vm.preselectedCardId,\"card-description\":_vm.preselectedCardDescription},on:{\"on-cvv-updated\":_vm.onCardCvvUpdated}}):_vm._e()],1)],1):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\n  methods: {\n    cardBrandName(brand) {\n      let mbrand = brand.toLowerCase().replace(/\\s/g, '');\n      switch (mbrand) {\n        case 'visa':\n        case 'visaretired':\n          return 'Visa';\n        case 'mastercard':\n          return 'Master Card';\n        case 'americanexpress':\n        case 'american_express':\n        case 'amex':\n          return 'American Express';\n        case 'discovercard':\n          return 'Discover Card'\n        default:\n          return  'Tarjeta';\n      }\n    },\n    cardTypeFormat(type){\n      if(type === 'debit' || type === 'Débito'){\n        return 'Débito';\n      }\n      else if(type === 'credit' || type === 'Crédito'){\n        return 'Crédito';\n      }\n    },\n    isDebitCard(type){\n      return type === 'debit';\n    },\n    isCreditCard(type){\n      return type === 'credit';\n    },\n    cardThumbail(brand){\n      let mbrand = brand.toLowerCase().replace(/\\s/g, '');\n      switch (mbrand) {\n        case 'visa':\n        case 'visaretired':\n          return 'card-visa';\n        case 'mastercard':\n          return 'card-master';\n        case 'americanexpress':\n        case 'american_express':\n        case 'amex':\n          return 'card-amex';\n        case 'discovercard':\n        case 'discover':\n          return 'card-discover'\n        default:\n          return 'card-generic';\n      }\n    }\n  }\n}","export default {\n  methods: {\n    getMessageFromErrorCode(code) {\n      switch (code) {\n        case 1000:\n          return 'Ocurrió un error interno en el servidor de Openpay';\n        case 1001:\n          return 'Los datos cargados son inválidos.';\n        case 1002:\n        case 1003:\n        case 1010:\n          return 'Ha ocurrido un error con la petición, contacte con soporte.';\n        case 1004:\n          return 'Un servicio necesario para el procesamiento de la transacción no se encuentra disponible.';\n        case 1005:\n          return 'Uno de los recursos requeridos no existe.';\n        case 1006:\n          return 'Ya existe una transacción con el mismo ID de orden.';\n        case 1007:\n          return 'La transferencia de fondos entre una cuenta de banco o tarjeta y la cuenta de Openpay no fue aceptada.';\n        case 1008:\n          return 'Una de las cuentas requeridas en la petición se encuentra desactivada.';\n        case 1009:\n          return 'El cuerpo de la petición es demasiado grande.';\n        case 2001:\n          return 'La cuenta de banco con esta CLABE ya se encuentra registrada en el cliente.';\n        case 2002:\n          return 'La tarjeta con este número ya se encuentra registrada en el cliente.';\n        case 2003:\n          return 'El cliente con este identificador ya existe.';\n        case 2004:\n          return 'El dígito verificador del número de tarjeta es inválido.';\n        case 2005:\n          return 'La fecha de expiración de la tarjeta es anterior a la fecha actual.';\n        case 2006:\n          return 'El código de seguridad de la tarjeta (CVV2) no fue proporcionado';\n        case 2007:\n          return 'El número de tarjeta no es válido, solamente puede usarse en pruebas.';\n        case 2008:\n          return 'La tarjeta consultada no es válida para puntos.';\n        case 2009:\n          return 'El código de seguridad de la tarjeta (CVV2) no es válido.';\n        case 3001:\n          return 'La tarjeta fue declinada.';\n        case 3002:\n          return 'La tarjeta ha expirado.';\n        case 3003:\n          return 'La tarjeta no tiene fondos suficientes.';\n        case 3004:\n          return 'La tarjeta ha sido identificada como una tarjeta robada.';\n        case 3005:\n          return 'La tarjeta ha sido identificada como una tarjeta fraudulenta.';\n        case 3006:\n          return 'La operación no esta permitida para este cliente o esta transacción.';\n        case 3008:\n          return 'La tarjeta no es soportada en transacciones en linea.';\n        case 3009:\n          return 'La tarjeta fue reportada como perdida.';\n        case 3010:\n          return 'El banco ha restringido la tarjeta.';\n        case 3011:\n          return 'El banco ha solicitado que la tarjeta sea retenida. Contacte al banco.';\n        case 3012:\n          return 'Se requiere solicitar al banco autorización para realizar este pago.';\n        default:\n          return 'Ha ocurrido un error desconocido, intente más tarde';\n      }\n    },\n  }\n}","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"register-card-form\"}},[_c('h6',[_vm._v(\"Ingrese los datos de la tarjeta\")]),_vm._m(0),(_vm.onError)?_c('vs-alert',{staticClass:\"mt-3 mb-3\",staticStyle:{\"height\":\"auto\"},attrs:{\"color\":\"danger\"}},[_vm._v(_vm._s(_vm.errorMssg))]):_vm._e(),(_vm.wasSaved)?_c('vs-alert',{staticClass:\"mt-3 mb-3\",staticStyle:{\"height\":\"auto\"},attrs:{\"color\":\"success\"}},[_vm._v(\"La tarjeta ha sido registrada exitosamente.\")]):_vm._e(),_c('div',{staticClass:\"vx-row mt-4\"},[_c('div',{staticClass:\"vx-col w-full mb-3\"},[_c('label',{staticClass:\"vs-input--label bold\"},[_vm._v(\"Número de tarjeta\")]),_c('vx-input-group',{staticClass:\"mt-1\"},[_c('template',{slot:\"prepend\"},[_c('div',{staticClass:\"prepend-text px-1 bg-card\",staticStyle:{\"height\":\"40px\"}},[_c('img',{staticClass:\"card-thumbnail p-1\",attrs:{\"src\":_vm.cardImgSource(),\"alt\":\"card\"}})])]),_c('vs-input',{directives:[{name:\"cardformat\",rawName:\"v-cardformat:formatCardNumber\",arg:\"formatCardNumber\"},{name:\"validate\",rawName:\"v-validate\",value:(_vm.requiredRules),expression:\"requiredRules\"}],ref:\"card\",staticClass:\"w-full\",attrs:{\"name\":\"card_number\",\"danger\":_vm.cardNumberError,\"danger-text\":\"El campo es requerido\",\"icon-pack\":\"feather\"},on:{\"input\":_vm.onCardChanged},model:{value:(_vm.card.card_number),callback:function ($$v) {_vm.$set(_vm.card, \"card_number\", $$v)},expression:\"card.card_number\"}})],2)],1)]),_c('div',{staticClass:\"vx-row mt-2\"},[_c('div',{staticClass:\"vx-col w-full mb-3\"},[_c('label',{staticClass:\"vs-input--label bold\"},[_vm._v(\"Nombre del titular\")]),_c('vs-input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:(_vm.requiredRules),expression:\"requiredRules\"}],staticClass:\"w-full mt-1\",attrs:{\"name\":\"holder_name\",\"danger-text\":\"El campo es requerido\",\"danger\":_vm.holderNameError,\"icon-pack\":\"feather\"},model:{value:(_vm.card.holder_name),callback:function ($$v) {_vm.$set(_vm.card, \"holder_name\", $$v)},expression:\"card.holder_name\"}})],1)]),_c('div',{staticClass:\"vx-row mt-2\"},[_c('div',{staticClass:\"vx-col w-full mb-3\"},[_c('div',{staticClass:\"vx-row\"},[_c('div',{staticClass:\"vx-col w-7/12\"},[_vm._m(1),_c('vs-input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:(_vm.requiredRules),expression:\"requiredRules\"},{name:\"cardformat\",rawName:\"v-cardformat:formatCardExpiry\",arg:\"formatCardExpiry\"}],staticClass:\"w-full mt-1\",attrs:{\"name\":\"expiration\",\"danger-text\":\"Campo requerido\",\"danger\":_vm.expirationError,\"icon-pack\":\"feather\"},model:{value:(_vm.card.expiration),callback:function ($$v) {_vm.$set(_vm.card, \"expiration\", $$v)},expression:\"card.expiration\"}})],1),_c('div',{staticClass:\"vx-col w-5/12\"},[_c('label',{staticClass:\"vs-input--label bold\"},[_vm._v(\"Código de seguridad\")]),_c('vs-input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:(_vm.requiredRules),expression:\"requiredRules\"},{name:\"cardformat\",rawName:\"v-cardformat:formatCardCVC\",arg:\"formatCardCVC\"}],staticClass:\"w-full mt-1\",attrs:{\"name\":\"cvv\",\"danger-text\":\"Campo requerido\",\"danger\":_vm.cvvError,\"icon-pack\":\"feather\"},model:{value:(_vm.card.cvv),callback:function ($$v) {_vm.$set(_vm.card, \"cvv\", $$v)},expression:\"card.cvv\"}})],1)])])]),_c('div',{staticClass:\"vx-row\"},[_c('div',{staticClass:\"vx-col w-full mt-3\"},[(!_vm.wasSaved)?_c('vs-button',{staticClass:\"ml-auto mt-2\",attrs:{\"type\":\"border\"},on:{\"click\":_vm.onSaveCard}},[_vm._v(\"Guardar\")]):_vm._e(),(!_vm.wasSaved)?_c('vs-button',{staticClass:\"mr-auto mt-2 ml-6\",attrs:{\"type\":\"border\",\"color\":\"dark\"},on:{\"click\":_vm.cancel}},[_vm._v(\"Cancelar\")]):_vm._e(),(_vm.wasSaved)?_c('vs-button',{staticClass:\"mr-auto mt-2\",attrs:{\"type\":\"border\",\"color\":\"success\"},on:{\"click\":_vm.finish}},[_vm._v(\"Finalizar\")]):_vm._e()],1)])],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('p',[_c('small',[_vm._v(\"Tus datos se manejan de forma segura con encriptación de 256 bits.\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('label',{staticClass:\"vs-input--label bold\"},[_vm._v(\"Fecha de expiración \"),_c('small',[_vm._v(\"MM/YYYY\")])])\n}]\n\nexport { render, staticRenderFns }","<template>\n  <div id=\"register-card-form\">\n    <h6>Ingrese los datos de la tarjeta</h6>\n    <p><small>Tus datos se manejan de forma segura con encriptación de 256 bits.</small></p>\n    <vs-alert v-if=\"onError\" color=\"danger\" class=\"mt-3 mb-3\" style=\"height: auto\">{{ errorMssg }}</vs-alert>\n    <vs-alert v-if=\"wasSaved\" color=\"success\" class=\"mt-3 mb-3\" style=\"height: auto\">La tarjeta ha sido registrada exitosamente.</vs-alert>\n    <div class=\"vx-row mt-4\">\n      <div class=\"vx-col w-full mb-3\">\n        <label class=\"vs-input--label bold\">Número de tarjeta</label>\n        <vx-input-group class=\"mt-1\">\n          <template slot=\"prepend\">\n            <div class=\"prepend-text px-1 bg-card\" style=\"height: 40px\" >\n              <img :src=\"cardImgSource()\" alt=\"card\" class=\"card-thumbnail p-1\">\n            </div>\n          </template>\n\n          <vs-input\n            class=\"w-full\"\n            name=\"card_number\"\n            v-cardformat:formatCardNumber\n            ref=\"card\"\n            v-validate=\"requiredRules\"\n            v-model.lazy=\"card.card_number\"\n            :danger=\"cardNumberError\"\n            danger-text=\"El campo es requerido\"\n            v-on:input=\"onCardChanged\"\n            icon-pack=\"feather\" />\n        </vx-input-group>\n      </div>\n    </div>\n\n    <div class=\"vx-row mt-2\">\n      <div class=\"vx-col w-full mb-3\">\n        <label class=\"vs-input--label bold\">Nombre del titular</label>\n        <vs-input\n          class=\"w-full mt-1\"\n          name=\"holder_name\"\n          v-validate=\"requiredRules\"\n          danger-text=\"El campo es requerido\"\n          :danger=\"holderNameError\"\n          v-model.lazy=\"card.holder_name\"\n          icon-pack=\"feather\" />\n      </div>\n    </div>\n\n    <div class=\"vx-row mt-2\">\n      <div class=\"vx-col w-full mb-3\">\n        <div class=\"vx-row\">\n          <div class=\"vx-col w-7/12\">\n            <label class=\"vs-input--label bold\">Fecha de expiración <small>MM/YYYY</small></label>\n            <vs-input\n              class=\"w-full mt-1\"\n              name=\"expiration\"\n              v-validate=\"requiredRules\"\n              danger-text=\"Campo requerido\"\n              :danger=\"expirationError\"\n              v-cardformat:formatCardExpiry\n              v-model.lazy=\"card.expiration\"\n              icon-pack=\"feather\" />\n          </div>\n          <div class=\"vx-col w-5/12\">\n            <label class=\"vs-input--label bold\">Código de seguridad</label>\n            <vs-input\n              class=\"w-full mt-1\"\n              name=\"cvv\"\n              v-validate=\"requiredRules\"\n              danger-text=\"Campo requerido\"\n              :danger=\"cvvError\"\n              v-cardformat:formatCardCVC\n              v-model.lazy=\"card.cvv\"\n              icon-pack=\"feather\" />\n          </div>\n        </div>\n      </div>\n    </div>\n\n    <div class=\"vx-row\">\n      <div class=\"vx-col w-full mt-3\">\n        <vs-button v-if=\"!wasSaved\" type=\"border\" class=\"ml-auto mt-2\" @click=\"onSaveCard\">Guardar</vs-button>\n        <vs-button v-if=\"!wasSaved\" type=\"border\" class=\"mr-auto mt-2 ml-6\" color=\"dark\" @click=\"cancel\">Cancelar</vs-button>\n        <vs-button v-if=\"wasSaved\" type=\"border\" class=\"mr-auto mt-2\" color=\"success\" @click=\"finish\">Finalizar</vs-button>\n      </div>\n    </div>\n\n  </div>\n</template>\n\n<script>\nimport cardsHelper from \"@mixins/cardsHelper\";\nimport openpayErrors from \"@mixins/openpayErrors\";\nexport default {\n  name: \"RegisterCard\",\n  mixins: [cardsHelper, openpayErrors],\n  props: {\n    userId: {\n      type: [String,Number],\n      required: true\n    },\n    accepts: {\n      type: Array,\n      required: true,\n      default: ['debit']\n    },\n    saveLogs: {\n      type: [Boolean],\n      required: true,\n      default: false\n    },\n  },\n  data() {\n    return {\n      debitType: 'debit',\n      creditType: 'credit',\n      requiredRules: 'required',\n      colClass: \"vx-col xxl:w-1/4 lg:w-1/3 md:w-1/2 sm:w-full w-full mb-5\",\n      defaultCardBrand: 'unknown',\n      dataCardBrand: 'unknown',\n      deviceSessionId: null,\n      onError: false,\n      errorMssg: null,\n      wasSaved: false,\n      card: {\n        card_number: null,\n        cvv: null,\n        holder_name: null,\n        expiration: null,\n      },\n      expirationMonth: null,\n      expirationYear: null,\n      numericCard: null,\n    }\n  },\n  computed: {\n    cardNumberError(){\n      return this.hasError('card_number');\n    },\n    holderNameError(){\n      return this.hasError('holder_name');\n    },\n    expirationError(){\n      return this.hasError('expiration');\n    },\n    cvvError(){\n      return this.hasError('cvv');\n    },\n  },\n  async mounted(){\n    this.setOpenpay();\n  },\n  methods: {\n    setOpenpay(){\n      let op_public = process.env.VUE_APP_OPENPAY_PUBLIC;\n      let op_data = process.env.VUE_APP_OPENPAY_ID;\n      let op_production = process.env.VUE_APP_OPENPAY_ENV !== 'local';\n      OpenPay.setId(op_data);\n      OpenPay.setApiKey(op_public);\n      OpenPay.setSandboxMode(!op_production);\n      this.deviceSessionId = OpenPay.deviceData.setup(\"register-card-form\", \"deviceIdHiddenFieldName\");\n    },\n    onCardChanged(){\n      if(this.$refs.card && this.$refs.card.$refs.vsinput){\n        let attr = this.$refs.card.$refs.vsinput.attributes.getNamedItem('data-card-brand');\n        if(attr != null){\n          this.dataCardBrand = attr.value;\n        }\n        else {\n          this.dataCardBrand = this.defaultCardBrand;\n        }\n      }\n    },\n    cardImgSource(){\n      let thumb = this.cardThumbail(this.dataCardBrand);\n      return require(`@assets/images/cards/${thumb}.png`);\n    },\n    async onSaveCard(){\n      this.onError = false;\n      const valid = await this.$validator.validateAll();\n      if(!valid){\n        this.$emit('on-fields-validated', false);\n        return;\n      }\n      this.showLoading(true)\n      this.setExpiration();\n      let ss = this.card.card_number;\n      this.numericCard = ss.replace(/\\s/g, '');\n      const openpayObject = {\n        card_number: this.numericCard,\n        holder_name: this.card.holder_name,\n        cvv2: this.card.cvv,\n        expiration_year: this.expirationYear,\n        expiration_month: this.expirationMonth,\n      }\n\n      OpenPay.token.create(openpayObject, this.cardRegistered, this.cardFailed);\n    },\n    async cardRegistered(response){\n      let payload = {\n        user_id: this.userId,\n        device: this.deviceSessionId,\n        card_name: this.card.holder_name,\n        num_card: this.numericCard,\n        cvv: this.card.cvv,\n        month: this.expirationMonth,\n        year: this.expirationYear\n      }\n      try {\n        if (this.saveLogs) {\n          this.injectAccountMetadataToPayload(payload);\n        }\n        const res = await axios.post('/api/user/cards/save', payload);\n        this.wasSaved = true;\n        this.$emit('on-card-saved', res.data.id);\n      }\n      catch (e) {\n        if(e.response && e.response.data){\n          this.errorMssg = e.response.data.message ? e.response.data.message : e.response.data;\n        }\n        else {\n          this.errorMssg = \"Ha ocurrido un error con la operación, intente más tarde.\";\n        }\n        this.onError = true;\n      }\n      this.showLoading(false)\n    },\n    async cardFailed(response){\n      this.warn(response);\n      if(response && response.data){\n        this.errorMssg = this.getMessageFromErrorCode(response.data.error_code);\n        this.onError = true;\n      }\n      this.showLoading(false)\n    },\n    setExpiration(){\n      this.expirationMonth = \"\";\n      this.expirationYear = \"\";\n      const splits = this.card.expiration.split(\"/\");\n      if(splits.length > 1){\n        this.expirationMonth = splits[0].trim();\n        let year = splits[1].trim();\n        if(year && year.length && year.length >= 2){\n          this.expirationYear = year.substr(year.length - 2);\n        }\n      }\n    },\n    async cancel(){\n      this.$store.commit(\"TOGGLE_IS_NEW_CARD_POPUP_ACTIVE\", false);\n      this.resetForm();\n    },\n    async finish(){\n      this.$store.commit(\"TOGGLE_IS_NEW_CARD_POPUP_ACTIVE\", false);\n      this.resetForm();\n    },\n    resetForm(){\n      this.errorMssg = null;\n      this.wasSaved = false;\n      this.onError = false;\n      this.card = {};\n      this.expirationYear = null;\n      this.expirationMonth = null;\n      this.numericCard = null;\n      this.dataCardBrand = this.defaultCardBrand;\n    },\n    hasError(val){\n      return this.errors.has(val);\n    },\n  }\n}\n</script>\n\n<style scoped>\n\n</style>","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RegisterCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RegisterCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RegisterCard.vue?vue&type=template&id=5805df20&scoped=true&\"\nimport script from \"./RegisterCard.vue?vue&type=script&lang=js&\"\nexport * from \"./RegisterCard.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"5805df20\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"update-cvv-card-form\"}},[_c('h6',[_vm._v(\"Ingrese por favor el código de seguridad de tu tarjeta\")]),_vm._m(0),(_vm.onError)?_c('vs-alert',{staticClass:\"mt-3 mb-3\",staticStyle:{\"height\":\"auto\"},attrs:{\"color\":\"danger\"}},[_vm._v(_vm._s(_vm.errorMssg))]):_vm._e(),_c('div',{staticClass:\"vx-row mt-4\"},[_c('div',{staticClass:\"vx-col w-full\"},[_c('p',[_c('span',{staticClass:\"bold\"},[_vm._v(\"Tarjeta: \")]),_vm._v(\" \"+_vm._s(_vm.cardDescription)+\" \")])])]),_c('div',{staticClass:\"vx-row mt-4\"},[_c('div',{staticClass:\"vx-col w-5/12\"},[_c('label',{staticClass:\"vs-input--label bold\"},[_vm._v(\"Código de seguridad\")]),_c('vs-input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:(_vm.requiredRules),expression:\"requiredRules\"},{name:\"cardformat\",rawName:\"v-cardformat:formatCardCVC\",arg:\"formatCardCVC\"}],staticClass:\"w-full mt-1\",attrs:{\"name\":\"cvv\",\"danger-text\":\"Campo requerido\",\"danger\":_vm.cvvError,\"icon-pack\":\"feather\"},model:{value:(_vm.card.cvv),callback:function ($$v) {_vm.$set(_vm.card, \"cvv\", $$v)},expression:\"card.cvv\"}})],1)]),_c('div',{staticClass:\"vx-row mt-2\"}),_c('div',{staticClass:\"vx-row\"},[_c('div',{staticClass:\"vx-col w-full mt-3\"},[_c('vs-button',{staticClass:\"ml-auto mt-2\",attrs:{\"type\":\"border\"},on:{\"click\":_vm.onUpdateCard}},[_vm._v(\"Guardar\")]),_c('vs-button',{staticClass:\"mr-auto mt-2 ml-6\",attrs:{\"type\":\"border\",\"color\":\"dark\"},on:{\"click\":_vm.cancel}},[_vm._v(\"Cancelar\")])],1)])],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('p',[_c('small',[_vm._v(\"Tus datos se manejan de forma segura con encriptación de 256 bits.\")])])\n}]\n\nexport { render, staticRenderFns }","<template>\n  <div id=\"update-cvv-card-form\">\n    <h6>Ingrese por favor el código de seguridad de tu tarjeta</h6>\n    <p><small>Tus datos se manejan de forma segura con encriptación de 256 bits.</small></p>\n    <vs-alert v-if=\"onError\" color=\"danger\" class=\"mt-3 mb-3\" style=\"height: auto\">{{ errorMssg }}</vs-alert>\n\n    <div class=\"vx-row mt-4\">\n      <div class=\"vx-col w-full\">\n        <p><span class=\"bold\">Tarjeta: </span> {{cardDescription}} </p>\n      </div>\n    </div>\n\n    <div class=\"vx-row mt-4\">\n      <div class=\"vx-col w-5/12\">\n        <label class=\"vs-input--label bold\">Código de seguridad</label>\n        <vs-input\n          class=\"w-full mt-1\"\n          name=\"cvv\"\n          v-validate=\"requiredRules\"\n          danger-text=\"Campo requerido\"\n          :danger=\"cvvError\"\n          v-cardformat:formatCardCVC\n          v-model.lazy=\"card.cvv\"\n          icon-pack=\"feather\" />\n      </div>\n    </div>\n\n    <div class=\"vx-row mt-2\">\n    </div>\n\n    <div class=\"vx-row\">\n      <div class=\"vx-col w-full mt-3\">\n        <vs-button type=\"border\" class=\"ml-auto mt-2\" @click=\"onUpdateCard\">Guardar</vs-button>\n        <vs-button type=\"border\" class=\"mr-auto mt-2 ml-6\" color=\"dark\" @click=\"cancel\">Cancelar</vs-button>\n      </div>\n    </div>\n\n  </div>\n</template>\n\n<script>\nimport cardsHelper from \"@mixins/cardsHelper\";\nimport openpayErrors from \"@mixins/openpayErrors\";\nexport default {\n  name: \"UpdateCardCvv\",\n  mixins: [cardsHelper, openpayErrors],\n  props: {\n    userId: {\n      type: [String,Number],\n      required: true\n    },\n    cardId: {\n      type: [String,Number],\n    },\n    cardDescription: {\n      type: [String],\n    },\n  },\n  data() {\n    return {\n      debitType: 'debit',\n      creditType: 'credit',\n      requiredRules: 'required',\n      colClass: \"vx-col xxl:w-1/4 lg:w-1/3 md:w-1/2 sm:w-full w-full mb-5\",\n      defaultCardBrand: 'unknown',\n      dataCardBrand: 'unknown',\n      deviceSessionId: null,\n      onError: false,\n      errorMssg: null,\n      wasSaved: false,\n      card: {\n        card_number: null,\n        cvv: null,\n        holder_name: null,\n        expiration: null,\n      },\n      expirationMonth: null,\n      expirationYear: null,\n      numericCard: null,\n    }\n  },\n  computed: {\n    cardNumberError(){\n      return this.hasError('card_number');\n    },\n    holderNameError(){\n      return this.hasError('holder_name');\n    },\n    expirationError(){\n      return this.hasError('expiration');\n    },\n    cvvError(){\n      return this.hasError('cvv');\n    },\n  },\n  async mounted(){\n  },\n  methods: {\n    async onUpdateCard(){\n      this.onError = false;\n      const valid = await this.$validator.validateAll();\n      if(!valid){\n        this.$emit('on-fields-validated', false);\n        return;\n      }\n\n      this.showLoading(true)\n      try {\n        let data = {\n          user_id: this.userId,\n          card_id: this.cardId,\n          cvv: this.card.cvv,\n        }\n        const response = await axios.post('/api/user/cards/cvv', data)\n        this.wasSaved = true;\n        this.$emit('on-cvv-updated', this.cardId);\n        await this.finish();\n      }\n      catch (e) {\n        this.errorMssg = e.response.data.message;\n        this.onError = true;\n      }\n      this.showLoading(false)\n    },\n    async cancel(){\n      this.$store.commit(\"TOGGLE_IS_CARD_CVV_POPUP_ACTIVE\", false);\n      this.resetForm();\n    },\n    async finish(){\n      this.$store.commit(\"TOGGLE_IS_CARD_CVV_POPUP_ACTIVE\", false);\n      this.resetForm();\n    },\n    resetForm(){\n      this.errorMssg = null;\n      this.wasSaved = false;\n      this.onError = false;\n      this.card = {};\n    },\n    hasError(val){\n      return this.errors.has(val);\n    },\n  }\n}\n</script>\n\n<style scoped>\n\n</style>","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdateCardCvv.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdateCardCvv.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UpdateCardCvv.vue?vue&type=template&id=403ecf25&scoped=true&\"\nimport script from \"./UpdateCardCvv.vue?vue&type=script&lang=js&\"\nexport * from \"./UpdateCardCvv.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"403ecf25\",\n  null\n  \n)\n\nexport default component.exports","<template>\n  <div>\n    <div v-if=\"isMounted\" class=\"vx-row no-gutter items-center justify-center\">\n      <div v-if=\"applicant.success == true\" class=\"vx-col sm:w-5/6 md:w-2/3 lg:w-1/2 xl:w-2/5 xxl:w-1/3 m-0\">\n        <vx-card class=\"login-card py-3 px-3\">\n          <div slot=\"no-body\" class=\"\">\n            <div class=\"vx-col sm:w-full\">\n              <div class=\"px-8 pt-8\">\n                <div class=\"vx-card__title mb-4\">\n                  <h4 class=\"mb-1\">\n                    Tarjetas registradas\n                  </h4>\n                  <p><small><strong>*Tus datos se manejan de forma segura con encriptación de 256 bits.</strong></small></p>\n                </div>\n                <div class=\"vx-row\">\n                  <div :class=\"colClass\">\n                    <vs-input\n                      class=\"w-full\"\n                      label=\"Nombre o Razón Social\"\n                      name=\"alias\"\n                      readonly=\"true\"\n                      v-model.lazy=\"applicant.name\"\n                      icon-pack=\"feather\"\n                    />\n                  </div>\n                  <div :class=\"colClass\">\n                    <vs-input\n                      class=\"w-full\"\n                      label=\"Correo electrónico\"\n                      name=\"email\"\n                      readonly=\"true\"\n                      v-model.lazy=\"applicant.email\"\n                      icon-pack=\"feather\"\n                    />\n                  </div>\n                </div>\n                <div class=\"vx-row mb-base\">\n                <div class=\"vx-col w-full\">\n                    <vs-table stripe class=\"mt-1\" ref=\"cardsTable\" :data=\"formattedCards\" noDataText=\"No hay tarjetas disponibles\">\n                        <div slot=\"header\" class=\"flex flex-wrap-reverse items-center flex-grow justify-between mb-5\">\n                            <h5>Administra tus tarjetas.</h5>\n                            <div class=\"flex flex-wrap-reverse items-center data-list-btn-container\">\n                                <vs-button icon-pack=\"feather\" radius icon=\"icon-plus\" @click=\"showNewCardPopup(tr)\"></vs-button>\n                            </div>\n                        </div>                       \n                        <template slot=\"thead\">\n                        <vs-th class=\"bold\">Tarjeta</vs-th>\n                        <vs-th class=\"bold\">Banco</vs-th>\n                        <vs-th class=\"bold\">Acciones</vs-th>\n                        </template>\n\n                        <template slot-scope=\"{data}\">\n                        <tbody>\n                        <vs-tr :data=\"tr\" :key=\"indextr\" v-for=\"(tr, indextr) in data\">\n                            <vs-td>\n                            <div class=\"flex items-center\">\n                                <img :src=\"cardImgSource(tr.thumb)\" alt=\"card\" class=\"card-thumbnail\">\n                                <p class=\"font-large pl-4\">\n                                Terminación <span class=\"bold\">{{ tr.number }}</span>\n                                </p>\n                            </div>\n                            </vs-td>\n                            <vs-td class=\"calif-container\">\n                            <p class=\"font-medium\">{{tr.bank}}</p>\n                            </vs-td>\n                            <vs-td>\n                                <div class=\"flex items-center\">\n                                    <vs-button icon-pack=\"feather\" radius icon=\"icon-edit\" @click=\"onCardSelected(tr)\"></vs-button>\n                                    <vs-button class=\"ml-3\" :disabled=\"formattedCards.length <= 1\" icon-pack=\"feather\" radius type=\"border\" icon=\"icon-trash\" @click=\"deleteCardRequest(tr)\"></vs-button>\n                                </div>\n                            </vs-td>\n                        </vs-tr>\n                        </tbody>\n                        </template>\n                    </vs-table>\n                </div>\n                </div>\n              </div>\n            </div>\n          </div>\n        </vx-card>\n      </div>\n      <div v-else class=\"vx-col sm:w-5/6 md:w-2/3 lg:w-1/2 xl:w-2/5 xxl:w-1/3 m-0\">\n        <vx-card style=\"padding: 5rem;\" class=\"text-center w-full\">\n            <img src=\"@/assets/images/figs/fig9.png\" alt=\"graphic-404\" class=\"mx-auto mb-4 max-w-full\">\n            <h2 class=\"mb-6 mt-6\">Verifica tus datos</h2>\n            <vs-button @click=\"goToHomePage()\">Volver al inicio</vs-button>\n        </vx-card>\n      </div>\n\n    <vs-popup :active.sync=\"isNewCardPopupActive\" title=\"Agregar nueva tarjeta\">\n      <register-card\n        v-if=\"applicant.userId\"\n        :user-id=\"applicant.userId\"\n        :accepts=\"['debit']\"\n        :save-logs=\"false\"\n        @on-card-saved=\"onCardSaved\"/>\n    </vs-popup>\n\n    <vs-popup :active.sync=\"isCardCvvPopupActive\" title=\"Confirmar código de seguridad\">\n      <update-card-cvv\n        v-if=\"applicant.userId\"\n        :user-id=\"applicant.userId\"\n        :card-id=\"preselectedCardId\"\n        :card-description=\"preselectedCardDescription\"\n        @on-cvv-updated=\"onCardCvvUpdated\" />\n    </vs-popup>\n\n    </div>\n  </div>\n</template>\n\n<script>\nimport inputHelper from \"@mixins/inputHelper\";\nimport cardsHelper from \"@mixins/cardsHelper\";\nimport openpayErrors from \"@mixins/openpayErrors\";\nimport RegisterCard from \"@components/shared/cards/RegisterCard\";\nimport UpdateCardCvv from \"@components/shared/cards/UpdateCardCvv\";\nexport default {\n  name: \"ListCardsPage\",\n  mixins: [inputHelper,cardsHelper,openpayErrors],\n  components: {\n    RegisterCard,\n    UpdateCardCvv\n  },\n  props: [\"external_id\"],\n  data(){\n    return {\n      isMounted: false,\n      colClass: \"vx-col w-full mb-5\",\n      card_selected: '',\n      cardIdSelected: null,\n      cardRowSelected: null,\n      preselectedCardId: null,\n      preselectedCardDescription: null,\n      card: {\n        card_number: null,\n        cvv: null,\n        holder_name: null,\n        expiration: null,\n      },\n      deviceSessionId: null,\n      defaultCardBrand: 'unknown',\n      dataCardBrand: 'unknown',\n      onError: false,\n      errorMssg: null,\n      wasSaved: false,\n      expirationMonth: null,\n      expirationYear: null,\n      numericCard: null,\n      formattedCards: [],\n      acceptsOnlyDebit: false,\n      applicant: {\n          userId: null,\n          success: false,\n          name:null,\n          email:null,\n          cards:[]\n      }\n    }\n  },\n  async mounted(){\n    this.isMounted = false;\n    this.showLoading(true);\n    await this.getApplicantCards();\n    this.showLoading(false);\n    this.isMounted = true;\n  },\n  computed:{\n    isNewCardPopupActive: {\n      get() {\n        return this.$store.state.isNewCardPopupActive;\n      },\n      set(val) {\n        this.$store.commit(\"TOGGLE_IS_NEW_CARD_POPUP_ACTIVE\", val);\n      }\n    },\n    isCardCvvPopupActive: {\n      get() {\n        return this.$store.state.isCardCvvPopupActive;\n      },\n      set(val) {\n        this.$store.commit(\"TOGGLE_IS_CARD_CVV_POPUP_ACTIVE\", val);\n      }\n    }\n  },\n  methods: {\n    async getApplicantCards(){\n      try {\n        const res = await this.publicApiGet(`api/v1/applicant/${this.external_id}/getCards`);\n        this.applicant = res.data;\n        let cards = res.data.cards;\n        let fcards = [];\n        cards.forEach(f => {\n          let card = f.card;\n          let ct = this.getCardTermination(card.card_number);\n          fcards.push({\n            id: card.id,\n            number: ct,\n            brand: this.cardBrandName(card.card_brand),\n            thumb: this.cardThumbail(card.card_brand),\n            typeFormat: this.cardTypeFormat(card.card_type),\n            type: card.card_type,\n            bank: card.bank_name,\n            expirationStatus: f.expiration_status,\n            selected: false});\n        });\n        this.formattedCards = fcards;\n      }\n      catch (e){\n        this.showLoading(false)\n        // await this.$router.replace({name: 'login'});\n        this.warn(e);\n      }\n    },\n    showNewCardPopup(){\n      this.$store.commit('TOGGLE_IS_NEW_CARD_POPUP_ACTIVE', true)\n    },\n    getCardTermination(card){\n      if(card && card.length && card.length >= 4){\n        return card.substr(card.length - 4);\n      }\n      return  \"\";\n    },\n    cardImgSource(thumb){\n      return require(`@assets/images/cards/${thumb}.png`);\n    },\n    isCardSelected(tr){\n      return tr.id === this.cardIdSelected;\n    },\n    isExpired(tr){\n      return tr.expirationStatus === 'expired'\n    },\n    clean(){\n      this.onError = false\n      this.errorMssg = null\n    },\n    deleteCardRequest(tr){\n      this.cardIdToDelete = tr.id;\n      // se quiere eliminar la tarjeta elegida\n      let mssg = `¿Realmente deseas eliminar la tarjeta con terminación ${tr.number}?`;\n      this.$vs.dialog({\n        type: 'confirm',\n        color: 'danger',\n        title: 'Eliminar tarjeta',\n        text: mssg,\n        acceptText: \"Eliminar\",\n        cancelText: 'Cancelar',\n        accept: this.doDeleteCard\n      });\n\n    },\n    async doDeleteCard(){\n      this.showLoading(true)\n      try {\n        let data = {\n          user_id: this.applicant.userId,\n          card_id: this.cardIdToDelete,\n          force_delete: true,\n        }\n        const response = await axios.post('/api/user/cards/delete', data);\n        if(this.cardIdSelected === this.cardIdToDelete){\n          this.cardIdSelected = null;\n          this.cardRowSelected = null;\n        }\n        await this.getApplicantCards();\n        this.deleteSuccessNotif();\n      }\n      catch (error){\n        let mssg = \"Ha ocurrido un error con la operacion, por favor intenta más tarde.\";\n        if(error.response && error.response.data && error.response.data.message){\n          mssg = error.response.data.message;\n        }\n        this.errorNotifDialog(\"Operación no completada\", mssg);\n      }\n      this.showLoading(false)\n    },\n    async onCardSaved(id){\n      this.createdCardId = id;\n      this.showLoading(true)\n      await this.getApplicantCards();\n      const card = this.formattedCards.find(f => f.id === id);\n      if(!this.isSelectable(card)){\n        this.cardRowSelected = null;\n        this.cardIdSelected = null;\n        this.errorNotif('Tarjeta no elegible', 'Sólo se permiten tarjetas de débito para esta acción.');\n      }\n      else {\n          //this.successNotif('Operación exitosa', 'Los datos han sido actualizados de manera exitosa.');\n        //   this.cardIdSelected = id;\n        //   this.cardRowSelected = card;\n      }\n      this.showLoading(false);\n    //   this.$store.commit('TOGGLE_IS_NEW_CARD_POPUP_ACTIVE', false);\n    },\n    async onCardCvvUpdated(id){\n    //   this.cardIdSelected = this.preselectedCardId;\n      this.successNotif('Operación exitosa', 'Los datos han sido actualizados de manera exitosa.');\n      //this.cardRowSelected = this.formattedCards.find(f => f.id === id);\n      this.preselectedCardId = null;\n      this.preselectedCardDescription = null;\n    },\n    isSelectable(tr){\n      if(this.acceptsOnlyDebit){\n        return this.isDebitCard(tr.type);\n      }\n      return true;\n    },\n    onCardSelected(tr){\n        this.cardRowSelected = null;\n        let card = this.formattedCards.find(f => f.id === tr.id);\n        this.preselectedCardDescription = `${card.brand} - ${card.typeFormat} ${card.bank}, terminación ${card.number}`;\n        this.preselectedCardId = tr.id;\n        this.$store.commit('TOGGLE_IS_CARD_CVV_POPUP_ACTIVE', true)\n    },\n    validateNewCard(){\n        this.errorMssg = null;\n        if (this.newCardComplete) {\n            this.card.device= this.deviceSessionId;\n            this.card.user_id=this.applicant.user_id;\n            this.saveNewCard();\n        }else{\n          this.errorMssg = \"Debes completar todos los campos.\";\n        }\n    },\n    async goToHomePage(){\n        await this.$router.push({name: 'login'});\n    },\n  }\n}\n</script>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListCardsPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListCardsPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ListCardsPage.vue?vue&type=template&id=729c9ecc&\"\nimport script from \"./ListCardsPage.vue?vue&type=script&lang=js&\"\nexport * from \"./ListCardsPage.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","module.exports = __webpack_public_path__ + \"img/card-master.e940b5cc.png\";","module.exports = __webpack_public_path__ + \"img/card-visa.7020f830.png\";","module.exports = __webpack_public_path__ + \"img/card-generic.4dc3fdac.png\";","module.exports = __webpack_public_path__ + \"img/card-amex.033591cc.png\";","var map = {\n\t\"./card-amex.png\": \"de96\",\n\t\"./card-discover.png\": \"1f7d\",\n\t\"./card-generic.png\": \"94d9\",\n\t\"./card-master.png\": \"48a8\",\n\t\"./card-visa.png\": \"5963\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"f8e9\";","module.exports = __webpack_public_path__ + \"img/fig9.54ba85f4.png\";"],"sourceRoot":""}