{"version":3,"sources":["webpack:///$_lazy_route_resource lazy namespace object","webpack:///src/app/app-routing.module.ts","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/app.module.ts","webpack:///src/app/bridge.ts","webpack:///src/app/components/safe-html/safe-html.component.ts","webpack:///src/app/core/component/payment-declined/payment-declined.component.ts","webpack:///src/app/core/component/payment-declined/payment-declined.component.html","webpack:///src/app/core/directives/only-amount.directive.ts","webpack:///src/app/core/directives/only-number.directive.ts","webpack:///src/app/core/directives/zip-code.directive.ts","webpack:///src/app/core/services/api-services/api.service.ts","webpack:///src/app/core/services/encrypt-with-key/encrypt-with-key.service.ts","webpack:///src/app/core/services/execute-payment/execute-payment.service.ts","webpack:///src/app/core/services/global-services/global.service.ts","webpack:///src/app/core/services/loading-screen/loading-screen.service.ts","webpack:///src/app/pages/chat/chat.component.ts","webpack:///src/app/pages/chat/chat.component.html","webpack:///src/app/pages/generated-url/generated-url.component.ts","webpack:///src/app/pages/generated-url/generated-url.component.html","webpack:///src/app/pages/generated-url/generated-url.module.ts","webpack:///src/app/pages/home/home.component.ts","webpack:///src/app/pages/home/home.component.html","webpack:///src/app/pages/home/home.module.ts","webpack:///src/app/pages/login/login.component.ts","webpack:///src/app/pages/login/login.component.html","webpack:///src/app/pages/login/login.module.ts","webpack:///src/app/pages/postpaid/additional-packages/additional-packages.component.ts","webpack:///src/app/pages/postpaid/additional-packages/additional-packages.component.html","webpack:///src/app/pages/postpaid/confirm-package/components/bill-buy-package/bill-buy-package.component.ts","webpack:///src/app/pages/postpaid/confirm-package/components/bill-buy-package/bill-buy-package.component.html","webpack:///src/app/pages/postpaid/confirm-package/confirm-package.component.ts","webpack:///src/app/pages/postpaid/confirm-package/confirm-package.component.html","webpack:///src/app/pages/postpaid/payment-amount/components/bill/bill.component.html","webpack:///src/app/pages/postpaid/payment-amount/components/bill/bill.component.ts","webpack:///src/app/pages/postpaid/payment-amount/payment-amount.component.ts","webpack:///src/app/pages/postpaid/payment-amount/payment-amount.component.html","webpack:///src/app/pages/postpaid/payment-info/payment-info.component.ts","webpack:///src/app/pages/postpaid/payment-info/payment-info.component.html","webpack:///src/app/pages/postpaid/postpaid-select-option/postpaid-select-option.component.ts","webpack:///src/app/pages/postpaid/postpaid-select-option/postpaid-select-option.component.html","webpack:///src/app/pages/postpaid/postpaid.module.ts","webpack:///src/app/pages/prepaid-buy-balance/components/confirm-prepaid-balance/confirm-prepaid-balance.component.ts","webpack:///src/app/pages/prepaid-buy-balance/components/confirm-prepaid-balance/confirm-prepaid-balance.component.html","webpack:///src/app/pages/prepaid-buy-balance/prepaid-buy-balance.component.ts","webpack:///src/app/pages/prepaid-buy-balance/prepaid-buy-balance.component.html","webpack:///src/app/pages/prepaid-buy-balance/prepaid-buy-balance.module.ts","webpack:///src/app/pages/tax/confirm-installment-tax/confirm-installment-tax.component.html","webpack:///src/app/pages/tax/confirm-installment-tax/confirm-installment-tax.component.ts","webpack:///src/app/pages/tax/confirm-telemarketing-tax/confirm-telemarketing-tax.component.html","webpack:///src/app/pages/tax/confirm-telemarketing-tax/confirm-telemarketing-tax.component.ts","webpack:///src/app/pages/tax/tax.module.ts","webpack:///src/app/pages/update-email/update-email.component.ts","webpack:///src/app/pages/update-email/update-email.component.html","webpack:///src/app/pages/update-email/update-email.module.ts","webpack:///src/app/shared/components/alertas/alertas.component.ts","webpack:///src/app/shared/components/alertas/alertas.component.html","webpack:///src/app/shared/components/iframe-payment/iframe-payment.component.ts","webpack:///src/app/shared/components/iframe-payment/iframe-payment.component.html","webpack:///src/app/shared/components/iframe-payment/payment-iframe.services.ts","webpack:///src/app/shared/components/loading-screen/loading-screen.component.ts","webpack:///src/app/shared/components/loading-screen/loading-screen.component.html","webpack:///src/app/shared/components/payment-modal/payment-modal.component.ts","webpack:///src/app/shared/components/payment-modal/payment-modal.component.html","webpack:///src/app/shared/components/splash/splash.component.ts","webpack:///src/app/shared/components/splash/splash.component.html","webpack:///src/app/shared/layout/footer/footer.component.ts","webpack:///src/app/shared/layout/footer/footer.component.html","webpack:///src/app/shared/layout/header/header.component.ts","webpack:///src/app/shared/layout/header/header.component.html","webpack:///src/app/shared/layout/step/step.component.ts","webpack:///src/app/shared/layout/step/step.component.html","webpack:///src/app/shared/not-used-in-the-project/collapse/collapse.component.ts","webpack:///src/app/shared/not-used-in-the-project/collapse/collapse.component.html","webpack:///src/app/shared/not-used-in-the-project/loading-screen-min/loading-screen-min.component.ts","webpack:///src/app/shared/not-used-in-the-project/loading-screen-min/loading-screen-min.component.html","webpack:///src/app/shared/not-used-in-the-project/menu/menu.component.ts","webpack:///src/app/shared/not-used-in-the-project/options/options.component.ts","webpack:///src/app/shared/not-used-in-the-project/options/options.component.html","webpack:///src/app/shared/safe-html-pipe/safe-html-pipe.module.ts","webpack:///src/app/shared/shared.module.ts","webpack:///src/assets/chat.js","webpack:///src/environments/environment.ts","webpack:///src/main.ts","webpack:///crypto (ignored)"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","module","exports","id","routerOptions","scrollPositionRestoration","anchorScrolling","scrollOffset","routes","path","component","AppRoutingModule","forRoot","imports","AppComponent","router","global","services","getSetting","subscribe","resp","showSplash","siteKey","prodCaptchaKey","selector","templateUrl","styleUrls","AppModule","declarations","providers","bootstrap","entryComponents","Bridge","auth","next","state","providedIn","SafeHtmlPipe","sanitizer","html","bypassSecurityTrustHtml","name","PaymentDeclinedComponent","currentScreen","textMessageError","paymentDescription","setStep","OnlyAmountDirective","el","regex","event","input","nativeElement","value","lastChar","slice","count","match","length","isValidInput","test","OnlyNumberDirective","ev","isNumeric","charCode","keyCode","preventDefault","ZipCodeDirective","ApiService","http","encrypt","otpUrl","deployAssetsPath","urlService","Username","Password","form","FormData","append","post","get","token","subscriber","account","accountType","lastName","accountNumber","ssn","channel","email","channell","transactionType","statusCode","confirmationNumber","autorizationNumber","statusDescription","serviceResponse","transactionStatus","urlId","amount","type","paymentStatus","accountSubtype","totalAmount","language","transactionId","confirmation","authorization","paymentToken","parentPaymentToken","paymentAmount","productId","offerId","paymentMode","paymentOptionId","customerEmail","subscriberNumber","subscriberAccountNumber","subscriberFullName","subscriberAddress1","subscriberAddress2","subscriberCity","subscriberState","subscriberZipCode","transactionDescription","banSend","subscribeSend","locationId","invoiceNumber","extendedData","btoa","dto","payload","secureData","JSON","stringify","BAN","PhoneNumber","PhoneNumber2","Email","localApi","getLocalData","url","headers","getHelpHeaders","param","header","data","EncryptWithKeyService","key","iv","ENCRYPTION_KEY","ENCRYPTION_IV","CYPHEROPTION","Utf8","parse","toString","tokenEncrypted","decrypt","ExecutePaymentService","loadingScreenService","applyPaymentValidation","cardNumber","cardNumberString","ccv","isTheCardNumberEmpty","isTheCcvEmpty","isTheCcvError","months","today","Date","jstoday","isValidCard","cardIsExpired","isValidAddress","addressFieldsNeedToBeFilled","isFirstStep","address","address1Error","address2Error","cityError","stateError","zipCodeError","zipCodeErrorFormat","address1","address2","city","zipCode","states","message","isValidZip","isEmptyZipCode","screenActual","isOpenPaymentModal","initData","expirationYear","substring","expirationMonth","subscriberReceiver","ssnReceiver","option","paymentOption","userData","atob","sessionStorage","getItem","subscriberInfo","servSubscriber","undefined","notif","h2hMethod","serviceCompleteData","productID","valueAmount","webCheckoutMethod","typeMessage","subscriberName","subscriberLastName","subscriberEmail","banSelected","isPrepaid","newPayment","tokenMiClaro","newPaymentNoLimit","startLoading","stopLoading","index","paymentOptions","map","x","paymentOptionType","toLocaleLowerCase","indexOf","paymentMethodActive","result","errorDisplay","accountInfo","zip","fillingApplyPaymentRequest","serviceData","serviceAddressData","initAddressData","prepareAddressInfo","error","getTransactionId","recieverAcctNumber","receiverSubsNumber","merchantCodeId","firstName","isFlashPayment","executApplyPayment","applyPayment","prepareAndDisplayModal","applyPaymentResponse","cardName","year","Number","years","i","push","initializeAddressErrors","isNumericValidCharacter","canContinue","customerInfo","filler1","creditCardNumber","paymentMethod","cardExpMonth","cardExpYear","cardSecurityCode","customerName","getKey","getKeys","toPromise","respKey","setKeys","sharedKey","ivKey","authorizePayment","errorNum","processEndState","hasError","errorCode","setItem","authorizationNumber","navigate","VisaCardnumber","cardType","MasterCardnumber","AmexCardnumber","DiscoverCardnumber","DinerClubCardnumber","JCBCardnumber","getpaymentMethod","inputtxt","cardno","forEach","element","methodDescription","methodCode","text","numbers","hasSpecial","charAt","createTransaction","transaction","object","verifyPaymentStatus","updateTransaction","provisioningStatus","getTransactionStatus","GlobalService","dialog","amountToPay2","amountToPay3","cancel","loadObserver","loadObserver2","verificarPago","paymentReceived","chatStatus","uptypeAccount","isStep1","onPrepaidStep2","prepaidCode","stepCheck","sessionCounter","minutes","timeout","checker","loadFooter","referenceNumber","paymentStartTime","widthIframePay","heightIframePay","frameborderIframePay","scrollingIframePay","tokenIframePay","emailIP","emailIframePay","configLoaded","hasProvision","processDone","getConfig","errorHandling","screenUp","bindWithCollectionPath","success","provisioning","description","setTimeout","amountToPay","errorDesc","getTransactionStatusReview","window","scroll","top","left","behavior","trim","last4PinCode","authenticatePin","SSOAccessToke","SSOAccessToken","callGetSubscriber","getSubcriberInfo","getBanInfo","respString","dataToken","replace","getSubscriberData","completeSSN","SSN","initIndex","completeLoginProcess","errorHandlingData","generalDataManipulation","installmentManipulation","communicateData","telemarketingPayTax","getPaymentInfo","removeItem","msg","dialogConfig","disableClose","autoFocus","open","session","activeSession","sw","close","notifSignOff","signOff","expr","currentBan","urlPayment","minWidth","colorSi","colorNo","btmConfirm","labelSi","labelNo","dialogRef","afterClosed","windS","value1","focus","data2","redirectURL","menssageError","inverse","messageHtml","labelTitleHtml","irChat","tipo","SubTipo","typeAccount","cont","loadingPayment","loadingStatus","unsubscribe","remove","time","clearTimeout","getTime","paymentAgedDate","paymentMethod_active","LoadingScreenService","_loading","_loadingMin","_loadingMin2","loadingMinStatus","loadingMin2Status","statusText","loadingMin","loadingMin2","btm","loading","ChatComponent","renderer","objChat","script","createElement","src","onload","title","region","category","origin","appType","onerror","console","log","appendChild","document","body","getChat","GeneratedUrlComponent","route","getToken","loadToken","params","_value","verifyCode","showDialogError","pastDueAmount","paymentsLink","btmOk","labelOk","GeneratedUrlModule","HomeComponent","appComponent","tabActive","postpago","prepago","telefoniaFijo","viewPaper","giftMessage","cr","dataLoading","selectBan","refreshDataTo","parseInt","target","ban","currentList","initializeData","billBalanceField","search","parseFloat","HomeModule","LoginComponent","formBuilder","executePaymentService","getCapchaKey","createForm","saveData","evaluateDataFromRedirect","verifyAddress","ckeckAccountType","typeAccountMobile","checkTypeAccount","planPrice","loginForm","valid","number","login","accountInfo1","verifyEmail","basicVisualReset","getValidationCode","validateCode","backToPrepaidStep1","group","required","remember","athData","parseUrl","queryParams","sessionToken","typeResult","cancelled","utm_source","utm_medium","utm_campaign","utm_term","paymenToken","routerState","snapshot","urlBase","split","athList","paymentId","dtoString","athRoute","LoginModule","AdditionalPackagesComponent","info","selTab","getId","subscriberList","setPaymentMethod","offerList","additionalpackages","localPackages","roamingList","roamingPackages","namePackage","pricePackage","firstChild","BillBuyPackageComponent","emailCorr","insNumTel","start","validarEmail","ConfirmPackageComponent","subscriberActual","join","paymentProcess","updateScreen","BillComponent","sendSms","sendEmail","messageValidation","confirmNumber2","refundInfo","voidedInformation","requestId","systemTrace","voidedDate","rCode","rMsg","splitPaymentList","isVoided","enviarNumtel","verificarEmail","PaymentAmountComponent","activateLine","allowChangeValue","firstNameIP","lastNameIP","amountIP","selectBanIP","currentSuscriberIP","locationIdIP","invoiceNumberIP","installmentCountIP","displayConfirmation","loadIframe","updatePayment","endOfPayment","endOfProcesses","showPaymentAmounts","showOtherAmount","canChangeAmount","canUseAccountAmounts","showMinum","dataSent","getTooltips","athProcess","banStatus","BANStatus","isfromAdmin","toLowerCase","billBalance","includes","resulPayment","objSubscriber","lastPayment","lastPaymentAmount","billDate","billDueDate","newAmount","toFixed","optionSelected","optionTitle1","title1","optionTitle2","title2","optionTitle3","title3","dataAth","decryptTokenByCrypto","dataResult","iframePaymentResult","paymentResult","resultPaymentIframe","PaymentInfoComponent","balance","PostpaidSelectOptionComponent","PostpaidModule","ConfirmPrepaidBalanceComponent","goScreen","selectBanIPOut","currentSuscriberIPOut","checkIsOpenPaymentModal","totalToPay","dataPrice","ivuState","emit","PrepaidBuyBalanceComponent","freeAmountValue","otherValue","planPriceString","balancedPrepaid","prepaidBalance","ivuAmount","check","getElementById","checked","PrepaidBuyBalanceModule","ConfirmInstallmentTaxComponent","splitPayment","paySplit1","paySplit2","paySplit1Completed","paySplit2Completed","numAuthorization","currentPaymentToken","enableRefresButton","paymentValue","processPayment","processOnInit","instllmentUnits","installmentUnits","paymentQuota","valuePayment","valuePaymentSplit1","valuePaymentSplit2","calculateValuePaymentSplit2","numConfirmationPaySplit1","paymentConfirmationNumber","numAuthorizationPaySplit1","dateProvisioningPaySplit1","paymentDate","paymentMethodDisplayPaySplit1","imageUrl","findByAuth","paymentMethodImage","numConfirmationPaySplit2","numAuthorizationPaySplit2","dateProvisioningPaySplit2","paymentMethodDisplayPaySplit2","refresPayment","validateAmount","addChildPayment","childPaymentToken","showValidations","processGoToSplitPaymentFinished","ConfirmTelemarketingTaxComponent","createdDate","TaxModule","UpdateEmailComponent","submitted","email1","email2","newEmail","getVerifyEmail","hasErrorField","updatePersonalData","HasError","ErrorDesc","errorDescField","UpdateEmailModule","AlertasComponent","matDialogRef","btmSession","labelTitle","labelHtml","encapsulation","None","scrolling","width","height","IframePaymentComponent","service","tokenSSO","startTime","frameborder","provision","emailNotification","showInstrument","stroeInstrument","useBanZipCode","outLoadIframe","initPayment","cancelPayment","hasDimensions","errorMessage","errorTime","date","operationId","operationType","showAccordion","messageArrived","urlSafe","bypassSecurityTrustResourceUrl","athPinpadURL","athURL","paymentID","stringData","storedInstrument","paymentCard","init","getIframe","currentSuscriber","errorInfo","newURL","PaymentIframeService","httpOptions","Authorization","basePath","observer","complete","ssoToken","installmentCount","paymentItems","setToken","LoadingScreenComponent","statusTextVisible","status","loadingSubscription","PaymentModalComponent","validateCreditCardForm","requestBodyCreationforAuthorizePayment","isValid","validateResult","paymentOk","validateZip","continueWithPaymentMethod","SplashComponent","androidUrl","iosUrl","deviceInfo","navigator","userAgent","selectedUrl","goThen","goStore","FooterComponent","HeaderComponent","goHome","StepComponent","second","third","four","changes","setClass","step","checkStep","CollapseComponent","content","expand","LoadingScreenMinComponent","loadingSubscription2","MenuComponent","OptionsComponent","statusOn","statusRadio","validateSession","changeType","SafeHtmlPipeModule","materialModules","SharedModule","chat","serverUrl","URLSearchParams","location","datos","Region","Category","Id","Origin","CustomerName","AccountNumber","AppType","fetch","method","response","json","loadChat","alert","wind","href","environment","production","newServiceUrl","version","bootstrapModule","err"],"mappings":"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","file":"main-es5.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule, ExtraOptions } from '@angular/router';\r\nimport { GeneratedUrlComponent } from './pages/generated-url/generated-url.component';\r\nimport { HomeComponent } from './pages/home/home.component';\r\nimport { LoginComponent } from './pages/login/login.component';\r\nimport { AdditionalPackagesComponent } from './pages/postpaid/additional-packages/additional-packages.component';\r\nimport { ConfirmPackageComponent } from './pages/postpaid/confirm-package/confirm-package.component';\r\nimport { PaymentAmountComponent } from './pages/postpaid/payment-amount/payment-amount.component';\r\nimport { PaymentInfoComponent } from './pages/postpaid/payment-info/payment-info.component';\r\nimport { PostpaidSelectOptionComponent } from './pages/postpaid/postpaid-select-option/postpaid-select-option.component';\r\nimport { PrepaidBuyBalanceComponent } from './pages/prepaid-buy-balance/prepaid-buy-balance.component';\r\nimport { ConfirmInstallmentTaxComponent } from './pages/tax/confirm-installment-tax/confirm-installment-tax.component';\r\nimport { ConfirmTelemarketingTaxComponent } from './pages/tax/confirm-telemarketing-tax/confirm-telemarketing-tax.component';\r\nimport { UpdateEmailComponent } from './pages/update-email/update-email.component';\r\n\r\nconst routerOptions: ExtraOptions = {\r\n scrollPositionRestoration: 'enabled',\r\n anchorScrolling: 'enabled',\r\n scrollOffset: [0, 64],\r\n};\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: LoginComponent\r\n },\r\n {\r\n path: 'login',\r\n component: LoginComponent\r\n },\r\n {\r\n path: 'home',\r\n component: HomeComponent\r\n },\r\n {\r\n path: 'postpaid_select_option',\r\n component: PostpaidSelectOptionComponent\r\n },\r\n {\r\n path: 'payment_amount',\r\n component: PaymentAmountComponent\r\n },\r\n {\r\n path: 'additional_packages',\r\n component: AdditionalPackagesComponent\r\n },\r\n {\r\n path: 'payment_info',\r\n component: PaymentInfoComponent\r\n },\r\n {\r\n path: 'confirm_package',\r\n component: ConfirmPackageComponent\r\n },\r\n {\r\n path: 'update_email',\r\n component: UpdateEmailComponent\r\n },\r\n {\r\n path: 'confirm_telemarketing_tax',\r\n component: ConfirmTelemarketingTaxComponent\r\n },\r\n {\r\n path: 'confirm_installment_tax',\r\n component: ConfirmInstallmentTaxComponent\r\n },\r\n {\r\n path: 'prepaid_buy_balance',\r\n component: PrepaidBuyBalanceComponent\r\n },\r\n {\r\n path: 'generated_url/:code',\r\n component: GeneratedUrlComponent\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, routerOptions)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component } from '@angular/core';\r\nimport 'hammerjs';\r\nimport { Router } from '@angular/router';\r\nimport { GlobalService } from './core/services/global-services/global.service';\r\nimport { ApiService } from './core/services/api-services/api.service';\r\nimport { environment } from '../environments/environment';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.sass']\r\n})\r\nexport class AppComponent {\r\n constructor(private router: Router, public global: GlobalService, private services: ApiService) {\r\n\r\n }\r\n // tslint:disable-next-line:use-lifecycle-interface\r\n ngOnInit() {\r\n \r\n \r\n this.services.getSetting().subscribe(\r\n (resp: any) => {\r\n this.global.showSplash = resp.showSplash;\r\n this.global.siteKey = resp.prodCaptchaKey;\r\n }\r\n );\r\n }\r\n\r\n}\r\n","\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { AppComponent } from './app.component';\r\n\r\nimport { AlertasComponent } from './shared/components/alertas/alertas.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\n\r\nimport { MatSlideToggleModule, MatProgressSpinnerModule} from '@angular/material';\r\nimport { HttpClientModule} from '@angular/common/http';\r\nimport { ApiService } from './core/services/api-services/api.service';\r\nimport { Bridge } from './bridge';\r\nimport { LoadingScreenComponent } from './shared/components/loading-screen/loading-screen.component';\r\n\r\nimport { CarouselModule } from 'ngx-bootstrap/carousel';\r\nimport { SharedModule } from './shared/shared.module';\r\nimport { PostpaidModule } from './pages/postpaid/postpaid.module';\r\nimport { LoginModule } from './pages/login/login.module';\r\nimport { PrepaidBuyBalanceModule } from './pages/prepaid-buy-balance/prepaid-buy-balance.module';\r\nimport { HomeModule } from './pages/home/home.module';\r\nimport { UpdateEmailModule } from './pages/update-email/update-email.module';\r\nimport { TaxModule } from './pages/tax/tax.module';\r\nimport { GeneratedUrlModule } from './pages/generated-url/generated-url.module';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { NgxCaptchaModule } from 'ngx-captcha';\r\nimport { SafeHtmlPipeModule } from './shared/safe-html-pipe/safe-html-pipe.module';\r\n@NgModule({\r\n declarations: [\r\n AppComponent\r\n ],\r\n imports: [\r\n AppRoutingModule,\r\n BrowserModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n HttpClientModule,\r\n BrowserAnimationsModule,\r\n GeneratedUrlModule,\r\n HomeModule,\r\n LoginModule,\r\n PostpaidModule,\r\n PrepaidBuyBalanceModule,\r\n SharedModule,\r\n TaxModule,\r\n UpdateEmailModule,\r\n CarouselModule.forRoot(),\r\n MatSlideToggleModule,\r\n MatProgressSpinnerModule,\r\n SafeHtmlPipeModule\r\n\r\n ],\r\n providers: [ApiService, Bridge, LoadingScreenComponent],\r\n bootstrap: [AppComponent],\r\n entryComponents: [AlertasComponent]\r\n})\r\nexport class AppModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { ApiService } from './core/services/api-services/api.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class Bridge implements CanActivate {\r\n constructor(private auth: ApiService){\r\n\r\n }\r\n canActivate(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean {\r\n return true;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport {DomSanitizer} from \"@angular/platform-browser\";\r\n\r\n/**\r\n * Generated class for the SafeHtmlPipe pipe.\r\n *\r\n * See https://angular.io/api/core/Pipe for more info on Angular Pipes.\r\n */\r\n@Pipe({\r\n name: 'safeHtml',\r\n})\r\nexport class SafeHtmlPipe implements PipeTransform {\r\n\r\n constructor(private sanitizer:DomSanitizer){}\r\n\r\n transform(html:any) {\r\n return this.sanitizer.bypassSecurityTrustHtml(html);\r\n }\r\n\r\n}","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { GlobalService } from '../../services/global-services/global.service';\r\n@Component({\r\n selector: 'app-payment-declined',\r\n templateUrl: './payment-declined.component.html',\r\n styleUrls: ['./payment-declined.component.sass']\r\n})\r\nexport class PaymentDeclinedComponent implements OnInit {\r\n @Output() currentScreen = new EventEmitter();\r\n public textMessageError='
En este momento estamos presentando inconvenientes en nuestro sistema.
Por favor, íntentelo nuevamente.
';\r\n constructor(public global: GlobalService) { }\r\n\r\n ngOnInit(): void {\r\n if(this.global.paymentDescription!=\"\"){\r\n this.textMessageError=this.global.paymentDescription;\r\n }\r\n }\r\n retry(){\r\n this.global.setStep(1);\r\n this.currentScreen.next(1);\r\n }\r\n}","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
","import { Directive, ElementRef, HostListener, Input} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appOnlyAmount]'\r\n})\r\nexport class OnlyAmountDirective {\r\n @Input('appOnlyAmount') date: string;\r\n //private regex: RegExp = new RegExp(/^\\d*\\.?\\d{0,2}$/g);\r\n\r\n private regex: RegExp = /^\\d*(\\.\\d{0,2})?$/;\r\n\r\n constructor(private el: ElementRef) {}\r\n \r\n @HostListener('input', ['$event'])\r\n onInputChange(event: InputEvent) {\r\n const input = this.el.nativeElement.value;\r\n const lastChar = input.slice(-1);\r\n const count = (input.match(/\\./g) || []).length;\r\n if (lastChar === '.' && count > 1) {\r\n this.el.nativeElement.value = input.slice(0, -1);\r\n return;\r\n }\r\n if (!this.isValidInput(input)) {\r\n this.el.nativeElement.value = input.slice(0, -1);\r\n return;\r\n }\r\n }\r\n private isValidInput(input: string): boolean {\r\n return this.regex.test(input);\r\n }\r\n }","import { Directive, HostListener, Input} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appOnlyNumber]'\r\n})\r\nexport class OnlyNumberDirective {\r\n\r\n constructor() { }\r\n @Input('appOnlyNumber') date: string;\r\n @HostListener('keypress', ['$event'])\r\n\r\n public onkeypress(ev: any): void {\r\n const isNumeric = (ev.charCode >= 48 && ev.keyCode <= 57);\r\n if (!isNumeric) {\r\n ev.preventDefault();\r\n }\r\n }\r\n}\r\n","import { Directive, HostListener, Input} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appZipCode]'\r\n})\r\nexport class ZipCodeDirective {\r\n\r\n constructor() { }\r\n @Input('appZipCode') date: string;\r\n @HostListener('keypress', ['$event'])\r\n\r\n public onkeypress(ev: any): void {\r\n const isNumeric = (ev.charCode >= 48 && ev.keyCode <= 57) || ev.keyCode === 45;\r\n if (!isNumeric) {\r\n ev.preventDefault();\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n AccountDetails,\r\n Subscriber,\r\n AddChildPayment,\r\n ApplyPayment,\r\n GetPaymentInfo,\r\n GetToken,\r\n GetVerifyEmail,\r\n Login,\r\n NewPayment,\r\n Permissions,\r\n UpdatePersonalData,\r\n VerifyCode,\r\n VerifyEmail,\r\n VerifyPaymentStatus,\r\n Keys,\r\n AuthorizePaymentRequest, LoginData\r\n} from '../../interfaces/interfaces';\r\nimport { EncryptWithKeyService } from '../encrypt-with-key/encrypt-with-key.service';\r\nimport { environment } from '../../../../environments/environment';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiService {\r\n private otpUrl = `${environment.deployAssetsPath}/assets/data/`;\r\n private urlService = '/api';\r\n constructor(private http: HttpClient, private router: Router, private encrypt: EncryptWithKeyService) { }\r\n login(Username, Password) {\r\n const form = new FormData();\r\n form.append('Username', Username);\r\n form.append('Password', Password);\r\n return this.http.post(this.urlService + '/Authenticate/Login', form);\r\n }\r\n getConfig() {\r\n return this.http.get(\"./assets/config.json\");\r\n }\r\n // tslint:disable-next-line:no-shadowed-variable\r\n accountDetails(token, subscriber, account) {\r\n const form = new FormData();\r\n form.append('token', token);\r\n form.append('subscriber', subscriber);\r\n form.append('account', account);\r\n return this.http.post(this.urlService + '/Authenticate/AccountDetails', form);\r\n }\r\n permissions(token, accountType, name, lastName) {\r\n const form = new FormData();\r\n form.append('token', token);\r\n form.append('accountType', accountType);\r\n form.append('name', name);\r\n form.append('lastName', lastName);\r\n return this.http.post(this.urlService + '/Authenticate/permissions', form);\r\n }\r\n // tslint:disable-next-line:no-shadowed-variable\r\n subscriber(token, accountNumber, ssn, subscriber) {\r\n const form = new FormData();\r\n form.append('token', token);\r\n form.append('accountNumber', accountNumber);\r\n form.append('ssn', ssn);\r\n form.append('subscriber', subscriber);\r\n return this.http.post(this.urlService + '/Authenticate/subscriber', form);\r\n }\r\n verifyEmail(accountNumber, channel, email) {\r\n const form = new FormData();\r\n form.append('accountNumber', accountNumber);\r\n form.append('channel', channel);\r\n form.append('email', email);\r\n return this.http.post(this.urlService + '/Authenticate/verifyEmail', form);\r\n }\r\n verifyCode(code) {\r\n const form = new FormData();\r\n form.append('code', code);\r\n return this.http.post(this.urlService + '/Authenticate/verifyCode', form);\r\n }\r\n createTransaction(channell, transactionType, code, token) {\r\n const form = new FormData();\r\n form.append('token', token);\r\n form.append('channell', channell);\r\n form.append('transactionType', transactionType);\r\n form.append('code', code); // token\r\n return this.http.post(this.urlService + '/Authenticate/createTransaction', form);\r\n }\r\n // tslint:disable-next-line:max-line-length\r\n updateTransaction(id, statusCode, confirmationNumber, autorizationNumber, statusDescription, serviceResponse, transactionStatus, token, urlId, amount, type, paymentStatus,\r\n // tslint:disable-next-line:no-shadowed-variable\r\n accountType, accountSubtype, accountNumber, subscriber, totalAmount, name) {\r\n const form = new FormData();\r\n form.append('token', token);\r\n form.append('id', id);\r\n form.append('statusCode', statusCode);\r\n form.append('confirmationNumber', confirmationNumber);\r\n form.append('autorizationNumber', autorizationNumber);\r\n form.append('statusDescription', statusDescription);\r\n form.append('serviceResponse', serviceResponse);\r\n form.append('transactionStatus', transactionStatus);\r\n form.append('urlId', urlId);\r\n form.append('amount', amount);\r\n form.append('type', type);\r\n form.append('paymentStatus', paymentStatus);\r\n\r\n form.append('accountType', accountType);\r\n form.append('accountSubtype', accountSubtype);\r\n form.append('accountNumber', accountNumber);\r\n form.append('subscriber', subscriber);\r\n form.append('totalAmount', totalAmount);\r\n form.append('name', name);\r\n return this.http.post(this.urlService + '/Authenticate/updateTransaction', form);\r\n }\r\n // tslint:disable-next-line:no-shadowed-variable\r\n sendSms(subscriber, language, transactionId, token) {\r\n const form = new FormData();\r\n form.append('token', token);\r\n form.append('subscriber', subscriber);\r\n form.append('language', language);\r\n form.append('transactionId', transactionId);\r\n return this.http.post(this.urlService + '/Authenticate/sendSms', form);\r\n }\r\n\r\n sendEmail(email, language, transactionId, token) {\r\n const form = new FormData();\r\n form.append('token', token);\r\n form.append('email', email);\r\n form.append('language', language);\r\n form.append('transactionId', transactionId);\r\n return this.http.post(this.urlService + '/Authenticate/sendEmail', form);\r\n }\r\n\r\n findByAuth(confirmation, authorization, token) {\r\n const form = new FormData();\r\n form.append('token', token);\r\n form.append('confirmation', confirmation);\r\n form.append('authorization', authorization);\r\n return this.http.post(this.urlService + '/Authenticate/findByAuth', form);\r\n }\r\n\r\n getPaymentInfo(paymentToken) {\r\n const form = new FormData();\r\n form.append('paymentToken', paymentToken);\r\n return this.http.post(this.urlService + '/Authenticate/getPaymentInfo', form);\r\n }\r\n\r\n addChildPayment(parentPaymentToken, paymentAmount) {\r\n const form = new FormData();\r\n form.append('parentPaymentToken', parentPaymentToken);\r\n form.append('paymentAmount', paymentAmount);\r\n return this.http.post(this.urlService + '/Authenticate/addChildPayment', form);\r\n }\r\n\r\n getToken() {\r\n const form = new FormData();\r\n return this.http.post(this.urlService + '/Authenticate/getToken', form);\r\n }\r\n\r\n newPayment(productId, offerId, paymentMode = null) {\r\n const form = new FormData();\r\n form.append('productId', productId);\r\n form.append('merchantCodeId', offerId);\r\n form.append('paymentMode', paymentMode);\r\n return this.http.post(this.urlService + '/Authenticate/newPayment', form);\r\n }\r\n\r\n applyPayment(offerId, productId, paymentOptionId, paymentAmount,\r\n customerEmail, subscriberNumber, subscriberAccountNumber,\r\n subscriberFullName, subscriberAddress1, subscriberAddress2,\r\n subscriberCity, subscriberState, subscriberZipCode,\r\n transactionDescription, banSend, subscribeSend,\r\n locationId, invoiceNumber, extendedData = '') {\r\n const form = new FormData();\r\n form.append('productId', btoa(productId));\r\n form.append('paymentOptionId', btoa(paymentOptionId));\r\n form.append('paymentAmount', btoa(paymentAmount));\r\n form.append('customerEmail', btoa(customerEmail));\r\n form.append('subscriberNumber', btoa(subscriberNumber));\r\n form.append('subscriberAccountNumber', btoa(subscriberAccountNumber));\r\n form.append('subscriberFullName', btoa(subscriberFullName));\r\n form.append('subscriberAddress1', btoa(subscriberAddress1));\r\n form.append('subscriberAddress2', btoa(subscriberAddress2));\r\n form.append('subscriberCity', btoa(subscriberCity));\r\n form.append('subscriberState', btoa(subscriberState));\r\n form.append('subscriberZipCode', btoa(subscriberZipCode));\r\n form.append('transactionDescription', btoa(transactionDescription));\r\n form.append('offerId', offerId);\r\n form.append('subscriberAccountNumberSend', banSend);\r\n form.append('receiverSubsNumber', subscribeSend);\r\n form.append('locationId', locationId);\r\n form.append('invoiceNumber', invoiceNumber);\r\n form.append('extendedData', extendedData);\r\n return this.http.post(this.urlService + '/Authenticate/applyPayment', form);\r\n }\r\n\r\n // tslint:disable-next-line:max-line-length\r\n authorizePayment(dto: AuthorizePaymentRequest) {\r\n const form = new FormData();\r\n const payload = this.encrypt.secureData(JSON.stringify(dto));\r\n form.append('data', payload);\r\n return this.http.post(this.urlService + '/Authenticate/AuthorizePaymentEnc', form);\r\n // return this.http.post(this.urlService + '/Authenticate/AuthorizePayment', form);\r\n }\r\n\r\n verifyPaymentStatus(paymentToken) {\r\n const form = new FormData();\r\n form.append('paymentToken', paymentToken);\r\n return this.http.post(this.urlService + '/Authenticate/verifyPaymentStatus', form);\r\n }\r\n\r\n getVerifyEmail(email) {\r\n const form = new FormData();\r\n form.append('email', email);\r\n return this.http.post(this.urlService + '/Authenticate/GetVerifyEmail', form);\r\n }\r\n\r\n updatePersonalData(token, BAN, PhoneNumber, PhoneNumber2, Email) {\r\n const form = new FormData();\r\n form.append('token', token);\r\n form.append('BAN', BAN);\r\n form.append('PhoneNumber', PhoneNumber);\r\n form.append('PhoneNumber2', PhoneNumber2);\r\n form.append('Email', Email);\r\n return this.http.post(this.urlService + '/Authenticate/UpdatePersonalData', form);\r\n }\r\n\r\n getValidationCode(subscriber) {\r\n // const payload = {subscriber};\r\n const form = new FormData();\r\n form.append('subscriber', subscriber);\r\n if (environment.localApi) {\r\n return this.getLocalData('getValidationCode.json');\r\n } else {\r\n return this.http.post(this.urlService + '/Authenticate/GetValidationCode', form);\r\n }\r\n }\r\n\r\n validateCode(subscriber, code) {\r\n // const payload = {subscriber,code};\r\n const form = new FormData();\r\n form.append('subscriber', subscriber);\r\n form.append('code', code);\r\n if (environment.localApi) {\r\n return this.getLocalData('validateCode.json');\r\n } else {\r\n return this.http.post(this.urlService + '/Authenticate/validateCode', form);\r\n }\r\n }\r\n\r\n getKeys() {\r\n const url = environment.localApi ? this.otpUrl + 'getKeys.json' : this.urlService + '/Authenticate/GetKeys';\r\n return this.http.get(url , {headers: this.getHelpHeaders()});\r\n }\r\n\r\n getSetting() {\r\n return this.getLocalData('data.json');\r\n }\r\n\r\n getLocalData(param) {\r\n return this.http.get(this.otpUrl + param);\r\n }\r\n\r\n getHelpHeaders(): HttpHeaders {\r\n let header = new HttpHeaders();\r\n header = header.append('authToken', 'QADcsgShNdpN6M2y');\r\n header = header.append('appKey', 'COLLECTIONPATH');\r\n header = header.append('content-type', 'application/json; charset=utf-8');\r\n return header;\r\n }\r\n\r\n authenticatePin(dto: LoginData) {\r\n const form = new FormData();\r\n form.append('dataToken', btoa(JSON.stringify(dto)));\r\n return this.http.post(this.urlService + '/Authenticate/authenticatePin', form);\r\n }\r\n\r\n decryptTokenByCrypto(data:any) {\r\n var form = new FormData();\r\n form.append(\"data\", data);\r\n return this.http.post(this.urlService + '/Authenticate/DecryptTokenByCrypto', form);\r\n }\r\n\r\n getTransactionStatus(data:any) {\r\n var form = new FormData();\r\n form.append(\"data\", data);\r\n return this.http.post(this.urlService + '/Authenticate/GetTransactionStatus', form);\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport * as CryptoJS from 'crypto-js';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class EncryptWithKeyService {\r\n private ENCRYPTION_KEY: string;\r\n private ENCRYPTION_IV: string;\r\n private CYPHEROPTION: any;\r\n setKeys(key, iv) {\r\n this.ENCRYPTION_KEY = key;\r\n this.ENCRYPTION_IV = iv;\r\n this.CYPHEROPTION = {\r\n iv: CryptoJS.enc.Utf8.parse(this.ENCRYPTION_IV)\r\n };\r\n }\r\n\r\n secureData(data) {\r\n // tslint:disable-next-line:max-line-length\r\n return CryptoJS.AES.encrypt(data, CryptoJS.enc.Utf8.parse(this.ENCRYPTION_KEY), this.CYPHEROPTION).toString();\r\n }\r\n\r\n decrypt(tokenEncrypted) {\r\n // tslint:disable-next-line:max-line-length\r\n return CryptoJS.AES.decrypt(tokenEncrypted, CryptoJS.enc.Utf8.parse(this.ENCRYPTION_KEY), this.CYPHEROPTION).toString(CryptoJS.enc.Utf8);\r\n }\r\n\r\n}\r\n","import { EventEmitter, Injectable } from '@angular/core';\r\nimport { formatDate } from '@angular/common';\r\nimport { LoadingScreenService } from '../loading-screen/loading-screen.service';\r\nimport { GlobalService } from 'src/app/core/services/global-services/global.service';\r\nimport { Router } from '@angular/router';\r\n// tslint:disable-next-line:max-line-length\r\nimport {\r\n AddressData,\r\n ApplyPaymentRequest,\r\n ApplyPaymentResponse,\r\n NewPaymentResponse\r\n} from '../../interfaces/interfaces';\r\nimport { ApiService } from '../api-services/api.service';\r\nimport { EncryptWithKeyService } from '../encrypt-with-key/encrypt-with-key.service';\r\nimport { Subject } from 'rxjs';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExecutePaymentService {\r\n\r\n public applyPaymentValidation = false;\r\n public paymentMethod: string;\r\n public cardName: string;\r\n public cardNumber = '';\r\n public cardNumberString = '';\r\n public ccv = '';\r\n public isTheCardNumberEmpty = false;\r\n public isTheCcvEmpty = false;\r\n public isTheCcvError = false;\r\n public expirationYear: string;\r\n public years: any [];\r\n public expirationMonth: string;\r\n public months: string [] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];\r\n public today = new Date();\r\n public jstoday = '';\r\n public cardType: string;\r\n public isValidCard = true;\r\n public cardIsExpired = false;\r\n public applyPaymentResponse: ApplyPaymentResponse;\r\n public subscriberEmail;\r\n public subscriberName;\r\n public subscriberLastName;\r\n public banSelected;\r\n public isValidAddress = false;\r\n public addressFieldsNeedToBeFilled = false;\r\n public isFirstStep = false;\r\n public paymentOption;\r\n public serviceCompleteData: any;\r\n public address: AddressData = {\r\n address1Error: false,\r\n address2Error: false,\r\n cityError: false,\r\n stateError: false,\r\n zipCodeError: false,\r\n zipCodeErrorFormat: false,\r\n address1: '',\r\n address2: '',\r\n city: '',\r\n zipCode: '',\r\n state: 'PR'\r\n };\r\n public states = [\r\n 'AL', 'AK', 'AZ', 'AR', 'CA', 'CO', 'CT',\r\n 'DE', 'DC', 'FL', 'GA', 'HI', 'ID', 'IL', 'IN',\r\n 'IA', 'KS', 'KY', 'LA', 'ME', 'MD', 'MA', 'MI',\r\n 'MN', 'MS', 'MO', 'MT', 'NE', 'NV', 'NH', 'NJ',\r\n 'NM', 'NY', 'NC', 'ND', 'OH', 'OK', 'OR', 'PA',\r\n 'RI', 'SC', 'SD', 'TN', 'TX', 'UT', 'VT',\r\n 'VI', 'VA', 'WA', 'WV', 'WI', 'WY',\r\n ];\r\n public serviceAddressData: any;\r\n message = 'Se ha agregado el Paquete Adicional de Data';\r\n isValidZip = true;\r\n isEmptyZipCode = false;\r\n userData;\r\n subscriberInfo;\r\n screenActual = new EventEmitter();\r\n public isOpenPaymentModal = new Subject();\r\n isPrepaid: boolean;\r\n\r\n constructor(private loadingScreenService: LoadingScreenService, private services: ApiService,\r\n public global: GlobalService, private router: Router, private encrypt: EncryptWithKeyService) {\r\n this.initData();\r\n }\r\n\r\n initData() {\r\n this.jstoday = formatDate(this.today, 'dd-MM-yyyy hh:mm:ss a', 'en-US', '+0530');\r\n this.expirationYear = this.jstoday.substring(6, 10);\r\n this.expirationMonth = this.jstoday.substring(3, 5);\r\n this.cardNumber = '';\r\n this.cardNumberString = '';\r\n this.ccv = '';\r\n this.global.subscriberReceiver = '';\r\n this.global.ssnReceiver = '';\r\n this.isOpenPaymentModal.next(false);\r\n this.global.setStep(2);\r\n }\r\n\r\n openPaymentModal() {\r\n this.isOpenPaymentModal.next(true);\r\n }\r\n\r\n\r\n optionSelected(option) {\r\n this.paymentOption = option;\r\n }\r\n\r\n doPayment() {\r\n this.global.setStep(3);\r\n this.userData = JSON.parse(atob(sessionStorage.getItem('getSubscriber')));\r\n // tslint:disable-next-line:max-line-length\r\n this.subscriberInfo = this.userData.subscriberInfo.servSubscriber ? this.userData.subscriberInfo.servSubscriber[0] : this.userData.subscriberInfo[0];\r\n if (this.paymentOption === null || this.paymentOption === undefined) {\r\n this.global.notif('Por favor seleccione una opción de pago');\r\n } else if (this.paymentOption === 0) {\r\n this.h2hMethod(this.serviceCompleteData.productID, this.serviceCompleteData.offerId, this.serviceCompleteData.valueAmount);\r\n } else {\r\n // this.isFirstStep = false;\r\n // tslint:disable-next-line:max-line-length\r\n // let payload ={\r\n // typeMessage: this.serviceCompleteData.typeMessage,\r\n // productID: this.serviceCompleteData.productID,\r\n // valueAmount: this.serviceCompleteData.valueAmount,\r\n // offerId: this.serviceCompleteData.offerId,\r\n // token: this.serviceCompleteData.token,\r\n // }\r\n this.webCheckoutMethod(this.serviceCompleteData.typeMessage, this.serviceCompleteData.productID, this.serviceCompleteData.valueAmount, this.serviceCompleteData.offerId, this.serviceCompleteData.token);\r\n }\r\n }\r\n\r\n paymentProcess(subscriberName, subscriberLastName, subscriberEmail,\r\n banSelected, typeMessage, productID, offerId, valueAmount, token) {\r\n typeMessage === 'prepaid' ? this.isPrepaid = true : this.isPrepaid = false;\r\n this.subscriberEmail = subscriberEmail;\r\n this.subscriberName = subscriberName;\r\n this.subscriberLastName = subscriberLastName;\r\n this.banSelected = banSelected;\r\n const serviceCompleteData = {\r\n subscriberName,\r\n subscriberLastName,\r\n subscriberEmail,\r\n banSelected,\r\n typeMessage,\r\n productID,\r\n offerId,\r\n valueAmount,\r\n token\r\n };\r\n this.serviceCompleteData = serviceCompleteData;\r\n this.isFirstStep = true;\r\n }\r\n\r\n webCheckoutMethod(typeMessage, productID, valueAmount, offerId, token) {\r\n if (productID === 1) {\r\n this.global.newPayment(1, typeMessage, this.banSelected, atob(sessionStorage.getItem('subscriber')),\r\n valueAmount, this.subscriberEmail, this.subscriberName + ' ' + this.subscriberLastName, '',\r\n this.global.tokenMiClaro, \"\", null, this.paymentOption === 1 ? 'ATH' : null);\r\n } else {\r\n // tslint:disable-next-line:max-line-length\r\n this.global.newPaymentNoLimit(\r\n productID, typeMessage, this.banSelected,\r\n atob(sessionStorage.getItem('subscriber')),\r\n valueAmount, this.subscriberEmail,\r\n sessionStorage.getItem('name'), offerId, token);\r\n }\r\n }\r\n\r\n h2hMethod(productID, offerId, valueAmount) {\r\n this.loadingScreenService.startLoading();\r\n this.services.newPayment(productID, offerId).subscribe(\r\n (resp: NewPaymentResponse) => {\r\n this.loadingScreenService.stopLoading();\r\n // tslint:disable-next-line:max-line-length\r\n const index = resp.paymentOptions.map(x => x.paymentOptionType.toLocaleLowerCase()).indexOf(this.global.paymentMethodActive.toLocaleLowerCase());\r\n if (index === -1) {\r\n const result = {errorDisplay: 'Error: el metodo de pago configurado no coincide con la respuesta del servicio'};\r\n this.errorDisplay(result);\r\n } else {\r\n if (this.userData.accountInfo.address &&\r\n this.userData.accountInfo.city &&\r\n this.userData.accountInfo.zip) {\r\n this.isValidAddress = true;\r\n this.address.address1 = this.userData.accountInfo.address;\r\n this.address.city = this.userData.accountInfo.city;\r\n this.address.zipCode = this.userData.accountInfo.zip;\r\n this.fillingApplyPaymentRequest(resp.paymentOptions[index].paymentOptionId, productID, offerId, valueAmount);\r\n } else {\r\n const serviceData = {\r\n paymentOptionId: resp.paymentOptions[index].paymentOptionId,\r\n productID,\r\n offerId,\r\n valueAmount,\r\n };\r\n this.serviceAddressData = serviceData;\r\n this.initAddressData();\r\n this.prepareAddressInfo();\r\n }\r\n }\r\n },\r\n (error) => {\r\n this.loadingScreenService.stopLoading();\r\n this.errorDisplay(error);\r\n }\r\n );\r\n }\r\n\r\n cancelFirstStep() {\r\n this.isFirstStep = false;\r\n this.isOpenPaymentModal.next(false);\r\n this.global.setStep(2);\r\n }\r\n\r\n fillingApplyPaymentRequest(paymentOptionId, productId, offerId, valueAmount) {\r\n this.getTransactionId().then();\r\n const data: ApplyPaymentRequest = {\r\n recieverAcctNumber: '',\r\n receiverSubsNumber: '',\r\n merchantCodeId: '',\r\n productId: productId.toString(),\r\n paymentOptionId,\r\n paymentAmount: valueAmount.toString(),\r\n customerEmail: this.userData.accountInfo.email,\r\n subscriberNumber: this.subscriberInfo.subscriberNumber,\r\n subscriberAccountNumber: this.userData.accountInfo.BAN,\r\n subscriberFullName: this.userData.accountInfo.firstName + ' ' + this.userData.accountInfo.lastName,\r\n subscriberAddress1: this.address.address1,\r\n subscriberAddress2: this.address.address2 ? this.address.address2 : '',\r\n subscriberCity: this.address.city,\r\n subscriberState: this.userData.accountInfo.state,\r\n subscriberZipCode: this.address.zipCode,\r\n transactionDescription: 'MICLARO STORE',\r\n extendedData: this.global.isFlashPayment ? 'FLASH' : ''\r\n };\r\n // this.initAddressData();\r\n this.executApplyPayment(data, offerId);\r\n }\r\n\r\n executApplyPayment(data, offerId) {\r\n this.loadingScreenService.startLoading();\r\n this.services.applyPayment(offerId, data.productId, data.paymentOptionId,\r\n data.paymentAmount, data.customerEmail, data.subscriberNumber,\r\n data.subscriberAccountNumber, data.subscriberFullName,\r\n data.subscriberAddress1, data.subscriberAddress2, data.subscriberCity,\r\n data.subscriberState, data.subscriberZipCode, data.transactionDescription,\r\n '', '', '', '', data.extendedData\r\n ).subscribe(\r\n (resp: ApplyPaymentResponse) => {\r\n this.loadingScreenService.stopLoading();\r\n this.prepareAndDisplayModal(resp);\r\n },\r\n error => {\r\n this.loadingScreenService.stopLoading();\r\n this.applyPaymentValidation = false;\r\n this.global.notif('A ocurrido un error intente nuevamente mas tarde');\r\n // Error\r\n }\r\n );\r\n\r\n }\r\n\r\n prepareAndDisplayModal(resp) {\r\n this.applyPaymentResponse = resp;\r\n this.cardName = this.subscriberName + ' ' + this.subscriberLastName;\r\n let year = Number(this.jstoday.substring(6, 10));\r\n this.years = [];\r\n for (let i = 0; i < 10; i++) {\r\n this.years.push(year.toString());\r\n year++;\r\n }\r\n this.isFirstStep = false;\r\n this.applyPaymentValidation = true;\r\n }\r\n\r\n prepareAddressInfo() {\r\n this.addressFieldsNeedToBeFilled = true;\r\n this.initializeAddressErrors();\r\n }\r\n\r\n initializeAddressErrors() {\r\n this.address.address1Error = false;\r\n this.address.cityError = false;\r\n this.address.stateError = false;\r\n this.address.zipCodeError = false;\r\n this.address.zipCodeErrorFormat = false;\r\n }\r\n\r\n initAddressData() {\r\n this.address.address1 = '';\r\n this.address.address2 = '';\r\n this.address.city = '';\r\n this.address.zipCode = '';\r\n this.address.state = 'PR';\r\n }\r\n\r\n ccvChanged() {\r\n this.isTheCcvError = false;\r\n if (this.isNumericValidCharacter(this.ccv)) {\r\n this.ccv = '';\r\n this.isTheCcvError = true;\r\n return;\r\n }\r\n\r\n if (this.ccv !== '') {\r\n this.isTheCcvEmpty = false;\r\n }\r\n }\r\n\r\n zipCodeChanged() {\r\n this.isValidZip = true;\r\n this.isEmptyZipCode = false;\r\n if (this.isNumericValidCharacter(this.address.zipCode)) {\r\n this.address.zipCode = '';\r\n this.isValidZip = false;\r\n return;\r\n }\r\n if (this.address.zipCode !== '') {\r\n if (this.address.zipCode.length !== 5) {\r\n this.isValidZip = false;\r\n }\r\n } else {\r\n this.isEmptyZipCode = true;\r\n }\r\n }\r\n\r\n validateCreditCardForm() {\r\n let canContinue = true;\r\n if (this.cardNumberString === '') {\r\n this.isTheCardNumberEmpty = true;\r\n canContinue = !canContinue;\r\n return canContinue;\r\n }\r\n\r\n if (this.ccv === '') {\r\n this.isTheCcvEmpty = true;\r\n canContinue = !canContinue;\r\n return canContinue;\r\n\r\n }\r\n\r\n if (this.cardIsExpired) {\r\n canContinue = !canContinue;\r\n return canContinue;\r\n }\r\n\r\n if (this.isEmptyZipCode || !this.isValidZip) {\r\n canContinue = !canContinue;\r\n return canContinue;\r\n }\r\n\r\n return canContinue;\r\n }\r\n\r\n changeExpirationMonth() {\r\n if (this.expirationYear === this.jstoday.substring(6, 10) &&\r\n Number(this.jstoday.substring(3, 5)) > Number(this.expirationMonth)) {\r\n this.cardIsExpired = true;\r\n } else {\r\n this.cardIsExpired = false;\r\n }\r\n }\r\n\r\n async requestBodyCreationforAuthorizePayment() {\r\n let index = 0;\r\n if (this.isPrepaid) {\r\n index = this.applyPaymentResponse.customerInfo.map(x => x.accountNumber).indexOf(this.subscriberInfo.subscriberNumber);\r\n } else {\r\n index = this.applyPaymentResponse.customerInfo.map(x => x.accountNumber).indexOf(this.userData.accountInfo.BAN);\r\n }\r\n if (index === -1) {\r\n this.loadingScreenService.stopLoading();\r\n this.global.notif(`La cuenta: ${this.banSelected}, no ha llegado en la respuesta del servidor`);\r\n return;\r\n } else {\r\n // execut authorize payment\r\n const data = {\r\n data: '',\r\n filler1: this.isPrepaid ? 'PREPAGO' : '',\r\n paymentToken: this.applyPaymentResponse.paymentToken,\r\n creditCardNumber: this.cardNumber,\r\n paymentMethod: this.paymentMethod,\r\n cardExpMonth: this.expirationMonth,\r\n cardExpYear: this.expirationYear,\r\n cardSecurityCode: this.ccv,\r\n accountNumber: this.userData.accountInfo.BAN,\r\n customerName: this.cardName,\r\n customerEmail: this.userData.accountInfo.email ? this.userData.accountInfo.email : 'noEmail@claropr.com',\r\n address1: this.applyPaymentResponse.customerInfo[0].address1,\r\n address2: this.applyPaymentResponse.customerInfo[0].address2,\r\n city: this.applyPaymentResponse.customerInfo[0].city,\r\n state: this.applyPaymentResponse.customerInfo[0].state,\r\n zipCode: this.address.zipCode,\r\n };\r\n return this.getKey(data);\r\n }\r\n }\r\n\r\n async getKey(data) {\r\n try {\r\n const respKey = await this.services.getKeys().toPromise();\r\n this.encrypt.setKeys(atob(respKey.sharedKey), atob(respKey.ivKey));\r\n return this.services.authorizePayment(data).toPromise();\r\n } catch (error) {\r\n this.loadingScreenService.stopLoading();\r\n const result = {errorDisplay: 'En estos momentos estamos presentando inconvenientes intente nuevamente más tarde'};\r\n this.errorDisplay(result);\r\n }\r\n }\r\n\r\n validateResult(result) {\r\n if (result) {\r\n if (result.errorNum === 0) {\r\n if (result.processEndState === true) {\r\n if (result.hasError === false) {\r\n if (result.errorCode === '0000') {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n paymentOk(result) {\r\n this.initData();\r\n this.loadingScreenService.stopLoading();\r\n sessionStorage.setItem('numConfirmation', result.confirmationNumber);\r\n sessionStorage.setItem('numAuthorization', result.authorizationNumber);\r\n this.loadingScreenService.stopLoading();\r\n this.global.notif('Se ha efectuado el pago de la factura.');\r\n const screenActual = 2;\r\n return screenActual;\r\n }\r\n\r\n errorDisplay(result) {\r\n this.initData();\r\n this.loadingScreenService.stopLoading();\r\n this.router.navigate(['login']);\r\n result ? this.global.notif(result.errorDisplay) : this.global.notif('a ocurrido un error');\r\n }\r\n\r\n\r\n isValidCreditCardNumber(cardNumber) {\r\n this.isValidCard = true;\r\n this.isTheCardNumberEmpty = false;\r\n if (this.VisaCardnumber(cardNumber)) {\r\n this.cardType = 'VISA';\r\n } else if (this.MasterCardnumber(cardNumber)) {\r\n this.cardType = 'MASTER CARD';\r\n } else if (this.AmexCardnumber(cardNumber)) {\r\n this.cardType = 'AMERICAN EXPRESS';\r\n } else if (this.DiscoverCardnumber(cardNumber)) {\r\n this.cardType = 'DISCOVER';\r\n } else if (this.DinerClubCardnumber(cardNumber)) {\r\n this.cardType = 'DINERCLUB';\r\n } else if (this.JCBCardnumber(cardNumber)) {\r\n this.cardType = 'JCB';\r\n } else {\r\n this.cardType = 'invalid card type';\r\n }\r\n\r\n if (this.cardType === 'invalid card type') {\r\n this.isValidCard = !this.isValidCard;\r\n this.cardNumberString = '';\r\n } else {\r\n this.cardNumber = this.cardNumberString;\r\n this.cardNumberString = '************' + this.cardNumber.substring(13, this.cardNumber.length);\r\n this.getpaymentMethod(this.cardType);\r\n }\r\n }\r\n\r\n AmexCardnumber(inputtxt) {\r\n const cardno = /^(?:3[47][0-9]{13})$/;\r\n return cardno.test(inputtxt);\r\n }\r\n\r\n VisaCardnumber(inputtxt) {\r\n const cardno = /^(?:4[0-9]{12}(?:[0-9]{3})?)$/;\r\n return cardno.test(inputtxt);\r\n }\r\n\r\n MasterCardnumber(inputtxt) {\r\n const cardno = /^(?:5[1-5][0-9]{14})$/;\r\n return cardno.test(inputtxt);\r\n }\r\n\r\n DiscoverCardnumber(inputtxt) {\r\n const cardno = /^(:?6011|5[0-9][0-9])[0-9]{12}$/;\r\n return cardno.test(inputtxt);\r\n }\r\n\r\n DinerClubCardnumber(inputtxt) {\r\n const cardno = /^(?:3(?:0[0-5]|[68][0-9])[0-9]{11})$/;\r\n return cardno.test(inputtxt);\r\n }\r\n\r\n JCBCardnumber(inputtxt) {\r\n const cardno = /^(?:(?:2131|1800|35\\d{3})\\d{11})$/;\r\n return cardno.test(inputtxt);\r\n }\r\n\r\n getpaymentMethod(cardType) {\r\n this.applyPaymentResponse.paymentMethod.forEach(element => {\r\n if (element.methodDescription === cardType) {\r\n this.paymentMethod = element.methodCode;\r\n }\r\n });\r\n }\r\n\r\n applyPaymentValidationOff() {\r\n this.applyPaymentValidation = false;\r\n this.cardNumber = '';\r\n this.cardNumberString = '';\r\n this.ccv = '';\r\n this.cardType = '';\r\n this.isOpenPaymentModal.next(false);\r\n this.global.setStep(2);\r\n }\r\n\r\n isNumericValidCharacter(text: string): boolean {\r\n const numbers = '1234567890';\r\n let hasSpecial = false;\r\n\r\n for (let i = 0; i < text.length; i++) {\r\n if (numbers.indexOf(text.charAt(i), 0) === -1) {\r\n hasSpecial = true;\r\n }\r\n }\r\n return hasSpecial;\r\n }\r\n\r\n async getTransactionId() {\r\n // tslint:disable-next-line:max-line-length\r\n const transaction = await this.services.createTransaction(\r\n 'MEPMMTCRDT',\r\n this.isPrepaid ? 'PREPAID_BUY_BALANCE' : 'POSTPAID_PAY_INVOICE',\r\n '',\r\n sessionStorage.getItem('token')).toPromise();\r\n sessionStorage.setItem('transactionIdSplit1', transaction.object.id);\r\n sessionStorage.setItem('transactionId', transaction.object.id);\r\n }\r\n\r\n updateTransaction(verifyPaymentStatus, value) {\r\n this.loadingScreenService.startLoading();\r\n this.services.updateTransaction(\r\n sessionStorage.getItem('transactionIdSplit1'),\r\n verifyPaymentStatus.errorCode === null ? '' : verifyPaymentStatus.errorCode,\r\n verifyPaymentStatus.confirmationNumber === null ? '' : verifyPaymentStatus.confirmationNumber,\r\n verifyPaymentStatus.authorizationNumber === null ? '' : verifyPaymentStatus.authorizationNumber,\r\n verifyPaymentStatus.paymentStatus + '###' + verifyPaymentStatus.provisioningStatus,\r\n verifyPaymentStatus.message === null ? '' : verifyPaymentStatus.message,\r\n this.getTransactionStatus(verifyPaymentStatus.paymentStatus, verifyPaymentStatus.provisioningStatus),\r\n sessionStorage.getItem('token'),\r\n sessionStorage.getItem('urlId'),\r\n this.serviceCompleteData.valueAmount,\r\n this.isPrepaid ? 'PREPAID_BUY_BALANCE' : 'POSTPAID_PAY_INVOICE', 'completed',\r\n JSON.parse(atob(sessionStorage.getItem('getSubscriber'))).accountInfo.accountType,\r\n JSON.parse(atob(sessionStorage.getItem('getSubscriber'))).accountInfo.accountSubtype,\r\n this.userData.accountInfo.BAN,\r\n this.userData.accountInfo.BAN,\r\n this.serviceCompleteData.valueAmount,\r\n this.subscriberName + ' ' + this.subscriberLastName\r\n ).subscribe(data => {\r\n this.loadingScreenService.stopLoading();\r\n\r\n if (!value) {\r\n this.global.notif('Disculpe, hemos tendido problemas procesando su pago, por favor llamar al 787-793-1253');\r\n }\r\n\r\n });\r\n }\r\n\r\n private getTransactionStatus(paymentStatus: string, provisioningStatus: string) {\r\n if (paymentStatus === 'BANK SUCCESS NOT PROVISIONABLE' && provisioningStatus === 'SPLIT TRANSACTION NOT PROVISIONABLE') {\r\n return 'approved';\r\n }\r\n if (paymentStatus === 'BANK PAYMENT SUCCESS' && provisioningStatus === 'PROVISIONED') {\r\n return 'provisioning';\r\n }\r\n if (paymentStatus === 'BANK PAYMENT SUCCESS' && provisioningStatus === 'EXTERNALLY PROVISIONED') {\r\n return 'provisioning';\r\n }\r\n if (paymentStatus === 'BANK PAYMENT SUCCESS' && provisioningStatus === 'PROVISIONING FAILED') {\r\n return 'noprovisioning';\r\n }\r\n if (Number(paymentStatus) === 10 && Number(provisioningStatus) === 60) {\r\n return 'provisioning';\r\n }\r\n return 'rejected';\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { ApiService } from \"../api-services/api.service\";\r\nimport { MatDialog, MatDialogConfig } from \"@angular/material\";\r\nimport { AlertasComponent } from \"../../../shared/components/alertas/alertas.component\";\r\nimport { LoadingScreenService } from \"../loading-screen/loading-screen.service\";\r\nimport { Router } from \"@angular/router\";\r\nimport { Subject, Subscription } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class GlobalService {\r\n public referredSubscriber;\r\n public referredAccount;\r\n public ssnReceiver = \"\";\r\n public subscriberReceiver = \"\";\r\n public tokenMiClaro;\r\n public amountToPay2 = 0;\r\n public amountToPay3 = \"\";\r\n public siteKey: string = \"\";\r\n public urlPayment;\r\n public cancel = false;\r\n public loadObserver = new Subject();\r\n public loadObserver2 = new Subject();\r\n public verificarPago = new Subject();\r\n public continue = new Subject();\r\n public paymentReceived = new Subject();\r\n public chatStatus = new Subject(); // suscripcion para abrir el chat\r\n public uptypeAccount = new Subject(); // suscripcion al tipo de cuenta\r\n public loadingPayment: Subscription;\r\n public paymentMethodActive = \"\";\r\n public isPrepaid = false;\r\n public isStep1 = true;\r\n public onPrepaidStep2 = false;\r\n public prepaidCode = \"\";\r\n public stepCheck = new Subject();\r\n private sessionCounter = 1;\r\n private minutes = 20;\r\n private timeout = 60000;\r\n private checker = false;\r\n isFlashPayment = true;\r\n showSplash = false;\r\n\r\n public loadFooter = false;\r\n public paymentDescription: string = \"\";\r\n public currentScreen: any = 1;\r\n public authorizationNumber: string = \"\";\r\n public referenceNumber: string = \"\";\r\n public paymentStartTime: number = 0;\r\n public widthIframePay = \"100%\";\r\n public heightIframePay = \"460px\";\r\n public frameborderIframePay = 0;\r\n public scrollingIframePay = \"\";\r\n public tokenIframePay = \"\";\r\n public emailIP = \"\";\r\n public emailIframePay: string = \"\";\r\n public configLoaded: boolean = false;\r\n public hasProvision: boolean = false;\r\n processDone = false;\r\n constructor(\r\n private router: Router,\r\n public dialog: MatDialog,\r\n public services: ApiService,\r\n private loadingScreenService: LoadingScreenService\r\n ) {\r\n this.services.getConfig().subscribe(\r\n (data: any) => {\r\n this.paymentStartTime = data.paymentStartTime;\r\n this.widthIframePay = data.widthIframePay;\r\n this.heightIframePay = data.heightIframePay;\r\n this.frameborderIframePay = data.frameborderIframePay;\r\n this.scrollingIframePay = data.scrollingIframePay;\r\n this.emailIframePay = data.emailIframePay;\r\n this.configLoaded = true;\r\n },\r\n (error) => this.errorHandling(error)\r\n );\r\n }\r\n hasDimensions(e: any) {\r\n if (this.loadFooter == false) {\r\n this.loadingScreenService.stopLoading();\r\n }\r\n this.loadFooter = true;\r\n }\r\n initPayment() {\r\n this.loadingScreenService.startLoading();\r\n }\r\n resultPaymentIframe(e: any) {\r\n try {\r\n this.loadingScreenService.stopLoading();\r\n this.loadFooter = false;\r\n this.screenUp();\r\n this.bindWithCollectionPath(e);\r\n if (e.success == true) {\r\n this.setStep(4);\r\n this.authorizationNumber = e.authorizationNumber;\r\n this.referenceNumber = e.provisioning.referenceNumber;\r\n this.paymentDescription = e.description;\r\n sessionStorage.setItem(\"transactionId\", this.authorizationNumber);\r\n if (e.provisioning) {\r\n if (e.provisioning.success == true) {\r\n this.hasProvision = true;\r\n }\r\n }\r\n this.currentScreen = 3;\r\n } else if (e.success == false && e.code == 6) {\r\n this.setStep(3);\r\n this.paymentDescription = e.description;\r\n this.currentScreen = 4;\r\n } else {\r\n this.paymentDescription = e.description;\r\n this.setStep(3);\r\n this.currentScreen = 4;\r\n }\r\n } catch (error) {}\r\n }\r\n\r\n bindWithCollectionPath(e: any) {\r\n this.getTransactionId(e);\r\n }\r\n\r\n getTransactionId(e: any) {\r\n if (!this.processDone) {\r\n this.processDone = true;\r\n this.services\r\n .createTransaction(\r\n \"MEPMMTCRDT\",\r\n \"POSTPAID_PAY_INVOICE\",\r\n \"\",\r\n sessionStorage.getItem(\"token\")\r\n )\r\n .subscribe(\r\n (resp: any) => {\r\n const transaction = resp;\r\n sessionStorage.setItem(\r\n \"transactionIdSplit1\",\r\n transaction.object.id\r\n );\r\n sessionStorage.setItem(\"transactionId\", transaction.object.id);\r\n setTimeout(() => {\r\n let banSelected = JSON.parse(\r\n atob(sessionStorage.getItem(\"getSubscriber\"))\r\n ).accountInfo.BAN;\r\n let subscriberName = JSON.parse(\r\n atob(sessionStorage.getItem(\"getSubscriber\"))\r\n ).accountInfo.firstName;\r\n let subscriberLastName = JSON.parse(\r\n atob(sessionStorage.getItem(\"getSubscriber\"))\r\n ).accountInfo.lastName;\r\n let amountToPay = sessionStorage.getItem(\"amountToPay\");\r\n this.updateTransaction(\r\n e,\r\n amountToPay,\r\n banSelected,\r\n subscriberName,\r\n subscriberLastName\r\n );\r\n }, 1000);\r\n },\r\n (error) => {\r\n this.notif(error.errorDesc);\r\n }\r\n );\r\n }\r\n }\r\n\r\n updateTransaction(\r\n verifyPaymentStatus,\r\n amountToPay,\r\n banSelected,\r\n subscriberName,\r\n subscriberLastName\r\n ) {\r\n let id = sessionStorage.getItem(\"transactionIdSplit1\") ?? \"\";\r\n // this.loadingScreenService.startLoading();\r\n this.services\r\n .updateTransaction(\r\n id,\r\n verifyPaymentStatus.code == 0 ? \"0000\" : verifyPaymentStatus.code,\r\n verifyPaymentStatus.provisioning.referenceNumber,\r\n verifyPaymentStatus.authorizationNumber,\r\n verifyPaymentStatus.success +\r\n \"###\" +\r\n verifyPaymentStatus.provisioning.success,\r\n verifyPaymentStatus.description,\r\n this.getTransactionStatusReview(\r\n verifyPaymentStatus.success,\r\n verifyPaymentStatus.provisioning.success\r\n ),\r\n sessionStorage.getItem(\"token\"),\r\n Number(sessionStorage.getItem(\"urlId\") ?? \"0\"),\r\n amountToPay,\r\n \"POSTPAID_PAY_INVOICE\",\r\n \"completed\",\r\n JSON.parse(atob(sessionStorage.getItem(\"getSubscriber\"))).accountInfo\r\n .accountType,\r\n JSON.parse(atob(sessionStorage.getItem(\"getSubscriber\"))).accountInfo\r\n .accountSubtype,\r\n banSelected,\r\n banSelected,\r\n amountToPay,\r\n subscriberName + \" \" + subscriberLastName\r\n )\r\n .subscribe((data) => {\r\n this.loadingScreenService.stopLoading();\r\n setTimeout(()=>{\r\n this.processDone = false\r\n }, 8000)\r\n });\r\n }\r\n\r\n private getTransactionStatusReview(paymentStatus, provisioningStatus) {\r\n if (paymentStatus === true && provisioningStatus === true) {\r\n return \"provisioning\";\r\n }\r\n\r\n if (paymentStatus === true && provisioningStatus === false) {\r\n return \"approved\";\r\n }\r\n\r\n if (paymentStatus === false && provisioningStatus === false) {\r\n return \"rejected\";\r\n }\r\n }\r\n\r\n errorHandling(e: any) {\r\n this.notif(\r\n \"Estimado cliente, ha ocurrido un error por favor intentelo mas tarde.\"\r\n );\r\n this.loadingScreenService.stopLoading();\r\n }\r\n irChat() {\r\n this.chatStatus.next(true);\r\n }\r\n\r\n updateTypeAccount(value) {\r\n this.uptypeAccount.next(value);\r\n }\r\n\r\n refreshDataTo(token) {}\r\n screenUp() {\r\n window.scroll({\r\n top: 60,\r\n left: 0,\r\n behavior: \"smooth\",\r\n });\r\n }\r\n login(token) {\r\n if (this.subscriberReceiver === null || this.subscriberReceiver === \"\") {\r\n this.notif(\"Número de teléfono obligatorio\");\r\n } else if (\r\n this.subscriberReceiver.length < 9 ||\r\n this.subscriberReceiver.length > 10\r\n ) {\r\n this.notif(\"Número de teléfono o cuenta incompleto o inválido\");\r\n } else if (\r\n this.subscriberReceiver.length == 10 &&\r\n (this.ssnReceiver === null || this.ssnReceiver === \"\")\r\n ) {\r\n this.notif(\"Número del SSN obligatorio\");\r\n } else if (\r\n this.subscriberReceiver.length == 9 &&\r\n (this.ssnReceiver === null || this.ssnReceiver === \"\")\r\n ) {\r\n this.notif(\"Número del SSN obligatorio\");\r\n } else if (\r\n this.subscriberReceiver.length == 10 &&\r\n this.ssnReceiver.length < 4\r\n ) {\r\n this.notif(\"SSN incompleto\");\r\n } else if (\r\n this.subscriberReceiver.length == 9 &&\r\n this.ssnReceiver.length < 4\r\n ) {\r\n this.notif(\"SSN incompleto\");\r\n } else {\r\n this.subscriberReceiver = this.subscriberReceiver.trim();\r\n const payload = {\r\n subscriber:\r\n this.subscriberReceiver.length === 10 ? this.subscriberReceiver : \"\",\r\n account:\r\n this.subscriberReceiver.length === 9 ? this.subscriberReceiver : \"\",\r\n last4PinCode: this.ssnReceiver,\r\n };\r\n this.loadingScreenService.startLoading();\r\n this.services.authenticatePin(payload).subscribe(\r\n (data: any) => {\r\n this.loadingScreenService.stopLoading();\r\n if (data.SSOAccessToke != \"\") {\r\n sessionStorage.setItem(\"SSOAccessToken\", data.SSOAccessToken);\r\n }\r\n\r\n if (!data.hasError) {\r\n this.callGetSubscriber(token);\r\n } else {\r\n this.loadingScreenService.stopLoading();\r\n this.notif(data.errorDesc);\r\n }\r\n },\r\n (error) => {\r\n this.loadingScreenService.stopLoading();\r\n this.notif(\r\n \"Ha ocurrido un error por favor, intente nuevamente más tarde\"\r\n );\r\n }\r\n );\r\n }\r\n }\r\n\r\n callGetSubscriber(token) {\r\n if (this.subscriberReceiver.length == 10) {\r\n this.getSubcriberInfo(\r\n token,\r\n \"\",\r\n this.ssnReceiver,\r\n this.subscriberReceiver\r\n );\r\n } else if (this.subscriberReceiver.length == 9) {\r\n this.getBanInfo(token, this.subscriberReceiver, this.ssnReceiver, \"\");\r\n }\r\n }\r\n\r\n getSubcriberInfo(token, account, ssn, subscriber, isPrepaid = false) {\r\n this.loadingScreenService.startLoading();\r\n this.services\r\n .subscriber(token, account, ssn, subscriber)\r\n .subscribe((resp: any) => {\r\n const respString: string = resp.dataToken.replace(\r\n \"pIvhi9.qodmyxcyhqow.\",\r\n \"\"\r\n );\r\n const data = JSON.parse(atob(atob(atob(respString))));\r\n this.getSubscriberData(data, isPrepaid, ssn);\r\n });\r\n }\r\n\r\n getSubscriberData(data, isPrepaid, ssn) {\r\n if (data.hasError == false) {\r\n let completeSSN: string = data.object.accountInfo.SSN;\r\n let initIndex = completeSSN.length - 4;\r\n if (!isPrepaid) {\r\n if (completeSSN.substring(initIndex, completeSSN.length) === ssn) {\r\n this.completeLoginProcess(data);\r\n } else {\r\n const message = \"La información suministrada es incorrecta\";\r\n this.loadingScreenService.stopLoading();\r\n this.notif(message);\r\n }\r\n } else {\r\n this.completeLoginProcess(data);\r\n }\r\n } else {\r\n const message =\r\n \"Número de teléfono inválido o perteneciente a otra operadora telefónica\";\r\n this.errorHandlingData(data, message);\r\n }\r\n }\r\n\r\n completeLoginProcess(data) {\r\n this.generalDataManipulation(data);\r\n // INSTALLMENT\r\n if (data.object.token !== null && data.object.token !== undefined) {\r\n this.installmentManipulation(data);\r\n } else {\r\n this.communicateData(data);\r\n }\r\n }\r\n\r\n getBanInfo(token, account, ssn, subscriber, isPrepaid = false) {\r\n this.loadingScreenService.startLoading();\r\n this.services\r\n .subscriber(token, account, ssn, subscriber)\r\n .subscribe((resp: any) => {\r\n const respString: string = resp.dataToken.replace(\r\n \"pIvhi9.qodmyxcyhqow.\",\r\n \"\"\r\n );\r\n const data = JSON.parse(atob(atob(atob(respString))));\r\n this.getSubscriberData(data, isPrepaid, ssn);\r\n });\r\n }\r\n\r\n generalDataManipulation(data) {\r\n if (\r\n data.object.telemarketingPayTax !== null &&\r\n data.object.telemarketingPayTax !== undefined\r\n ) {\r\n sessionStorage.setItem(\r\n \"telemarketing_pay_tax\",\r\n btoa(JSON.stringify(data.object.telemarketingPayTax))\r\n );\r\n }\r\n if (\r\n data.object.subscriberInfo !== null &&\r\n data.object.subscriberInfo !== undefined\r\n ) {\r\n sessionStorage.setItem(\r\n \"subscriberInfo\",\r\n btoa(JSON.stringify(data.object.subscriberInfo))\r\n );\r\n }\r\n }\r\n\r\n installmentManipulation(data) {\r\n // INSTALLMENT\r\n sessionStorage.setItem(\"getSubscriber\", btoa(JSON.stringify(data.object)));\r\n // tslint:disable-next-line:max-line-length\r\n sessionStorage.setItem(\r\n \"subscriber\",\r\n btoa(\r\n data.object.accountInfo.subscriberNumber !== \"\"\r\n ? data.object.accountInfo.subscriberNumber\r\n : data.object.subscriberInfo[0].subscriberNumber\r\n )\r\n );\r\n sessionStorage.setItem(\r\n \"subscriberInfo\",\r\n btoa(JSON.stringify(data.object.subscriberInfo))\r\n );\r\n sessionStorage.setItem(\"paymentToken\", data.object.token);\r\n sessionStorage.setItem(\"urlId\", data.object.urlId);\r\n this.services.getPaymentInfo(data.object.token).subscribe((value) => {\r\n if (value.hasError) {\r\n sessionStorage.removeItem(\"paymentToken\");\r\n }\r\n this.continue.next(data);\r\n this.loadingScreenService.stopLoading();\r\n });\r\n }\r\n\r\n communicateData(data) {\r\n this.continue.next(data);\r\n this.loadingScreenService.stopLoading();\r\n }\r\n\r\n errorHandlingData(data, message) {\r\n if (data.code == \"001\") {\r\n this.notif(\"Disculpe, la sesión de la aplicación ha expirado\");\r\n } else if (data.code == \"002\") {\r\n this.notif(message);\r\n }\r\n this.loadingScreenService.stopLoading();\r\n }\r\n\r\n notif(msg) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.data = { message: msg };\r\n this.dialog.open(AlertasComponent, dialogConfig);\r\n }\r\n\r\n notifSignOff(msg) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.data = { message: msg, session: true };\r\n this.dialog.open(AlertasComponent, dialogConfig);\r\n }\r\n\r\n session() {\r\n sessionStorage.setItem(\"session\", \"true\");\r\n this.sessionCounter = 1;\r\n setTimeout(() => {\r\n if (this.checker == false) {\r\n this.checker = true;\r\n this.activeSession(0, false);\r\n }\r\n }, this.timeout);\r\n }\r\n\r\n activeSession(sw, close) {\r\n if (close == false) {\r\n if (sw == 0) {\r\n if (this.sessionCounter == this.minutes) {\r\n if (sessionStorage.getItem(\"session\") == \"true\") {\r\n this.notifSignOff(\"Su sesión se ha vencido.\");\r\n this.signOff();\r\n }\r\n } else {\r\n if (sessionStorage.getItem(\"session\") == \"true\") {\r\n this.sessionCounter++;\r\n setTimeout(() => {\r\n this.activeSession(0, false);\r\n }, this.timeout);\r\n }\r\n }\r\n } else {\r\n this.sessionCounter = 1;\r\n this.notifSignOff(\"Su sesión se ha vencido.\");\r\n this.signOff();\r\n }\r\n } else {\r\n this.sessionCounter = 1;\r\n sessionStorage.setItem(\"session\", \"false\");\r\n }\r\n }\r\n\r\n validateSession() {\r\n if (\r\n sessionStorage.getItem(\"session\") == \"false\" ||\r\n sessionStorage.getItem(\"session\") == null\r\n ) {\r\n this.router.navigate([\"login\"]);\r\n return false;\r\n } else {\r\n this.session();\r\n return true;\r\n }\r\n }\r\n\r\n sessionReview() {\r\n // tslint:disable-next-line:max-line-length\r\n if (\r\n sessionStorage.getItem(\"session\") == \"false\" ||\r\n sessionStorage.getItem(\"session\") == null ||\r\n sessionStorage.getItem(\"session\") == undefined\r\n ) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n public signOff() {\r\n this.sessionCounter = 1;\r\n sessionStorage.setItem(\"session\", \"false\");\r\n sessionStorage.setItem(\"objLogin\", null);\r\n sessionStorage.setItem(\"menu\", null);\r\n sessionStorage.setItem(\"session\", null);\r\n\r\n sessionStorage.removeItem(\"session\");\r\n sessionStorage.removeItem(\"objLogin\");\r\n sessionStorage.removeItem(\"menu\");\r\n }\r\n\r\n validarEmail(email) {\r\n const expr =\r\n /^(?=[A-Z])[A-Z0-9_\\-\\.]+@(?=(([A-Z0-9_\\-]+\\.)+))\\1[A-Z]{2,4}$/i;\r\n return expr.test(email);\r\n }\r\n\r\n newPayment(\r\n productId,\r\n typeMessage,\r\n currentBan,\r\n subscriber,\r\n amount,\r\n email,\r\n name,\r\n offerId,\r\n token,\r\n session = \"\",\r\n urlPayment = null,\r\n paymentMode = null\r\n ) {\r\n if (amount >= 5 && amount <= 2000) {\r\n this.loadingScreenService.startLoading();\r\n\r\n // installment\r\n if (urlPayment !== null) {\r\n this.urlPayment = urlPayment;\r\n this.loadingScreenService.stopLoading();\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.minWidth = \"300px\";\r\n dialogConfig.data = {\r\n message:\r\n \"Será redirigido al portal de pago para completar el mismo por la cantidad de $\" +\r\n amount +\r\n \".\",\r\n colorSi: \"colorRed\",\r\n colorNo: \"colorGray\",\r\n btmConfirm: true,\r\n labelSi: \"Aceptar\",\r\n labelNo: \"Cancelar\",\r\n };\r\n const dialogRef = this.dialog.open(AlertasComponent, dialogConfig);\r\n dialogRef.afterClosed().subscribe((value) => {\r\n if (value == \"continue\") {\r\n // var windS= window.open(this.urlPayment, '_blank');\r\n const windS = window.open(\r\n this.urlPayment,\r\n \"Pago en línea\",\r\n \"width=1000,height=800,scrollbars=NO\"\r\n );\r\n\r\n const data = {\r\n paymentToken: token,\r\n };\r\n\r\n if (windS == null || typeof windS == \"undefined\") {\r\n // tslint:disable-next-line:no-shadowed-variable\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n // tslint:disable-next-line:max-line-length\r\n dialogConfig.data = {\r\n message:\r\n \"Estimado cliente, la ventana ha sido bloqueada por el navegador, para poder realizar el pago habilite la opcion de la ventana emergente en el navegador.\",\r\n };\r\n // tslint:disable-next-line:no-shadowed-variable\r\n const dialogRef = this.dialog.open(\r\n AlertasComponent,\r\n dialogConfig\r\n );\r\n dialogRef.afterClosed().subscribe((value1) => {\r\n if (value1 === \"continue\") {\r\n // tslint:disable-next-line:max-line-length\r\n this.loadingScreenService.startLoading(\r\n true,\r\n \"Estimado Cliente, estamos esperando que habilite los permisos de la ventana emergente, si ya realizó el pago por favor espere que lo validemos.\",\r\n true,\r\n session\r\n );\r\n this.cancel = false;\r\n this.verifyPaymentStatus(typeMessage, data, 0, session);\r\n }\r\n });\r\n } else {\r\n windS.focus();\r\n // tslint:disable-next-line:max-line-length\r\n this.loadingScreenService.startLoading(\r\n true,\r\n \"Está siendo redirigido a la página del Banco Popular para realizar el pago.\",\r\n true,\r\n session\r\n );\r\n this.cancel = false;\r\n this.verifyPaymentStatus(typeMessage, data, 0, session);\r\n }\r\n }\r\n });\r\n } else {\r\n this.services\r\n .newPayment(productId, offerId, paymentMode)\r\n .subscribe((data) => {\r\n if (data.errorNum == 0) {\r\n if (data.paymentOptions.length > 0) {\r\n // tslint:disable-next-line:max-line-length\r\n const index = data.paymentOptions\r\n .map((x) => x.paymentOptionType)\r\n .indexOf(\"CHECKOUT\");\r\n this.services\r\n .applyPayment(\r\n \"\",\r\n productId,\r\n data.paymentOptions[index].paymentOptionId,\r\n amount,\r\n email,\r\n subscriber,\r\n currentBan,\r\n name,\r\n \"dir1\",\r\n \"dir2\",\r\n \"san juan\",\r\n \"PR\",\r\n \"00956\",\r\n \"MICLAROWEB INVOICE PAYMENT\",\r\n \"\",\r\n \"\",\r\n \"\",\r\n \"\",\r\n this.isFlashPayment ? \"FLASH\" : \"\"\r\n )\r\n .subscribe((data2) => {\r\n if (data2.errorNum == 0 && data2.hasError == false) {\r\n this.urlPayment = data2.redirectURL;\r\n this.loadingScreenService.stopLoading();\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.minWidth = \"300px\";\r\n dialogConfig.data = {\r\n message:\r\n \"Será redirigido al portal de pago para completar el mismo por la cantidad de $\" +\r\n amount +\r\n \".\",\r\n colorSi: \"colorRed\",\r\n colorNo: \"colorGray\",\r\n btmConfirm: true,\r\n labelSi: \"Aceptar\",\r\n labelNo: \"Cancelar\",\r\n };\r\n const dialogRef = this.dialog.open(\r\n AlertasComponent,\r\n dialogConfig\r\n );\r\n dialogRef.afterClosed().subscribe((value) => {\r\n if (value == \"continue\") {\r\n // var windS= window.open(this.urlPayment, '_blank');\r\n const windS = window.open(\r\n this.urlPayment,\r\n \"Pago en línea\",\r\n \"width=1000,height=800,scrollbars=NO\"\r\n );\r\n if (windS == null || typeof windS == \"undefined\") {\r\n // tslint:disable-next-line:no-shadowed-variable\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n // tslint:disable-next-line:max-line-length\r\n dialogConfig.data = {\r\n message:\r\n \"Estimado cliente, la ventana ha sido bloqueada por el navegador, para poder realizar el pago habilite la opcion de la ventana emergente en el navegador.\",\r\n };\r\n // tslint:disable-next-line:no-shadowed-variable\r\n const dialogRef = this.dialog.open(\r\n AlertasComponent,\r\n dialogConfig\r\n );\r\n dialogRef.afterClosed().subscribe((value1) => {\r\n if (value1 === \"continue\") {\r\n // tslint:disable-next-line:max-line-length\r\n this.loadingScreenService.startLoading(\r\n true,\r\n \"Estimado Cliente, estamos esperando que habilite los permisos de la ventana emergente, si ya realizó el pago por favor espere que lo validemos.\",\r\n true,\r\n session\r\n );\r\n this.cancel = false;\r\n this.verifyPaymentStatus(\r\n typeMessage,\r\n data2,\r\n 0,\r\n session\r\n );\r\n }\r\n });\r\n } else {\r\n windS.focus();\r\n // tslint:disable-next-line:max-line-length\r\n this.loadingScreenService.startLoading(\r\n true,\r\n \"Está siendo redirigido a la página del Banco Popular para realizar el pago.\",\r\n true,\r\n session\r\n );\r\n this.cancel = false;\r\n this.verifyPaymentStatus(\r\n typeMessage,\r\n data2,\r\n 0,\r\n session\r\n );\r\n }\r\n }\r\n });\r\n } else {\r\n this.loadingScreenService.stopLoading();\r\n // const username2 = sessionStorage.getItem('name');\r\n // let accountName = username2.split(' ');\r\n const menssageError =\r\n \"El servicio del banco no responde con la url de pago.\";\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.data = {\r\n inverse: true,\r\n colorSi: \"colorRed\",\r\n colorNo: \"colorGray\",\r\n labelSi: \"Conectar vía Chat\",\r\n labelNo: \"No, gracias\",\r\n menssageError,\r\n messageHtml: false,\r\n labelTitleHtml: \"Bienvenido a Mi Claro Asistencia\",\r\n message: \"\",\r\n email,\r\n btmConfirm: true,\r\n };\r\n const dialogRef = this.dialog.open(\r\n AlertasComponent,\r\n dialogConfig\r\n );\r\n dialogRef.afterClosed().subscribe((value) => {\r\n if (value == \"continue\") {\r\n this.irChat();\r\n }\r\n });\r\n }\r\n });\r\n } else {\r\n this.loadingScreenService.stopLoading();\r\n // const username2 = sessionStorage.getItem('name');\r\n // let accountName = username2.split(' ');\r\n const menssageError =\r\n \"El servicio del banco no responde con la url de pago.\";\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.data = {\r\n inverse: true,\r\n colorSi: \"colorRed\",\r\n colorNo: \"colorGray\",\r\n labelSi: \"Conectar vía Chat\",\r\n labelNo: \"No, gracias\",\r\n menssageError,\r\n messageHtml: false,\r\n labelTitleHtml: \"Bienvenido a Mi Claro Asistencia\",\r\n message: \"\",\r\n email,\r\n btmConfirm: true,\r\n };\r\n const dialogRef = this.dialog.open(\r\n AlertasComponent,\r\n dialogConfig\r\n );\r\n dialogRef.afterClosed().subscribe((value) => {\r\n if (value == \"continue\") {\r\n this.irChat();\r\n }\r\n });\r\n }\r\n } else {\r\n this.loadingScreenService.stopLoading();\r\n // const username2 = sessionStorage.getItem('name');\r\n // const accountName = username2.split(' ');\r\n const menssageError =\r\n \"El servicio del banco no responde con la url de pago.\";\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.data = {\r\n inverse: true,\r\n colorSi: \"colorRed\",\r\n colorNo: \"colorGray\",\r\n labelSi: \"Conectar vía Chat\",\r\n labelNo: \"No, gracias\",\r\n menssageError,\r\n messageHtml: false,\r\n labelTitleHtml: \"Bienvenido a Mi Claro Asistencia\",\r\n message: \"\",\r\n email,\r\n btmConfirm: true,\r\n };\r\n const dialogRef = this.dialog.open(\r\n AlertasComponent,\r\n dialogConfig\r\n );\r\n dialogRef.afterClosed().subscribe((value) => {\r\n if (value == \"continue\") {\r\n this.irChat();\r\n }\r\n });\r\n }\r\n });\r\n }\r\n } else {\r\n if (amount < 5) {\r\n this.notif(\"El monto no puede ser menor a $5.00.\");\r\n } else if (amount > 2000) {\r\n this.notif(\"El monto no puede ser mayor a $2000.00.\");\r\n }\r\n }\r\n }\r\n\r\n // tslint:disable-next-line:max-line-length\r\n newPaymentNoLimit(\r\n productId,\r\n typeMessage,\r\n currentBan,\r\n subscriber,\r\n amount,\r\n email,\r\n name,\r\n offerId,\r\n token,\r\n banSend = \"\",\r\n subscribeSend = \"\",\r\n locationId = \"\",\r\n invoiceNumber = \"\",\r\n session = \"\"\r\n ) {\r\n this.loadingScreenService.startLoading(\r\n true,\r\n \"Está siendo redirigido a la página del Banco Popular para realizar el pago.\",\r\n true\r\n );\r\n this.services.newPayment(productId, offerId, \"ATH\").subscribe((data) => {\r\n if (data.errorNum == 0) {\r\n if (data.paymentOptions.length > 0) {\r\n // tslint:disable-next-line:max-line-length\r\n const index = data.paymentOptions\r\n .map((x) => x.paymentOptionType)\r\n .indexOf(\"CHECKOUT\");\r\n if (email === null || email === undefined) {\r\n email = \"noemail@claropr.com\";\r\n }\r\n this.services\r\n .applyPayment(\r\n offerId,\r\n productId,\r\n data.paymentOptions[index].paymentOptionId,\r\n amount,\r\n email,\r\n subscriber,\r\n currentBan,\r\n name,\r\n \"dir1\",\r\n \"dir2\",\r\n \"san juan\",\r\n \"PR\",\r\n \"00956\",\r\n \"MICLAROWEB INVOICE PAYMENT\",\r\n banSend,\r\n subscribeSend,\r\n locationId,\r\n invoiceNumber,\r\n this.isFlashPayment ? \"FLASH\" : \"\"\r\n )\r\n .subscribe((data2) => {\r\n if (data2.errorNum == 0 && data2.hasError == false) {\r\n this.urlPayment = data2.redirectURL;\r\n this.loadingScreenService.stopLoading();\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.minWidth = \"300px\";\r\n dialogConfig.data = {\r\n message:\r\n \"Será redirigido al portal de pago para completar el mismo por la cantidad de $\" +\r\n amount +\r\n \".\",\r\n colorSi: \"colorRed\",\r\n colorNo: \"colorGray\",\r\n btmConfirm: true,\r\n labelSi: \"Aceptar\",\r\n labelNo: \"Cancelar\",\r\n };\r\n const dialogRef = this.dialog.open(\r\n AlertasComponent,\r\n dialogConfig\r\n );\r\n dialogRef.afterClosed().subscribe((value) => {\r\n if (value == \"continue\") {\r\n // var windS= window.open(this.urlPayment, '_blank');\r\n const windS = window.open(\r\n this.urlPayment,\r\n \"Pago en línea\",\r\n \"width=1000,height=800,scrollbars=NO\"\r\n );\r\n if (windS == null || typeof windS == \"undefined\") {\r\n // tslint:disable-next-line:no-shadowed-variable\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n // tslint:disable-next-line:max-line-length\r\n dialogConfig.data = {\r\n message:\r\n \"Estimado cliente, la ventana ha sido bloqueada por el navegador, para poder realizar el pago habilite la opcion de la ventana emergente en el navegador.\",\r\n };\r\n // tslint:disable-next-line:no-shadowed-variable\r\n const dialogRef = this.dialog.open(\r\n AlertasComponent,\r\n dialogConfig\r\n );\r\n dialogRef.afterClosed().subscribe((value1) => {\r\n if (value1 == \"continue\") {\r\n // tslint:disable-next-line:max-line-length\r\n this.loadingScreenService.startLoading(\r\n true,\r\n \"Estimado Cliente, estamos esperando que habilite los permisos de la ventana emergente, si ya realizó el pago por favor espere que lo validemos.\",\r\n true,\r\n session\r\n );\r\n this.cancel = false;\r\n this.verifyPaymentStatus(\r\n typeMessage,\r\n data2,\r\n 0,\r\n session\r\n );\r\n }\r\n });\r\n } else {\r\n windS.focus();\r\n // tslint:disable-next-line:max-line-length\r\n this.loadingScreenService.startLoading(\r\n true,\r\n \"Está siendo redirigido a la página del Banco Popular para realizar el pago.\",\r\n true,\r\n session\r\n );\r\n this.cancel = false;\r\n this.verifyPaymentStatus(typeMessage, data2, 0, session);\r\n }\r\n }\r\n });\r\n } else {\r\n this.loadingScreenService.stopLoading();\r\n // const username2 = sessionStorage.getItem('name');\r\n // const accountName = username2.split(' ');\r\n const menssageError =\r\n \"El servicio del banco no responde con la url de pago.\";\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.data = {\r\n inverse: true,\r\n colorSi: \"colorRed\",\r\n colorNo: \"colorGray\",\r\n labelSi: \"Conectar vía Chat\",\r\n labelNo: \"No, gracias\",\r\n menssageError,\r\n messageHtml: false,\r\n labelTitleHtml: \"Bienvenido a Mi Claro Asistencia\",\r\n message: \"\",\r\n email,\r\n btmConfirm: true,\r\n };\r\n const dialogRef = this.dialog.open(\r\n AlertasComponent,\r\n dialogConfig\r\n );\r\n dialogRef.afterClosed().subscribe((value) => {\r\n if (value == \"continue\") {\r\n // colocar aqui el nuevo chat\r\n this.irChat();\r\n /*\r\n let url = this.pathChat + '?Email=' + email + '&firstname=' + accountName[0] +\r\n '&lastname=' + accountName[1] + '&Question=' +\r\n 'Problema para iniciar el boton de pago.' + '&Department=' + '16'\r\n + '';\r\n window.open(url, '', 'width=630, height=490,top=100,left=100');\r\n */\r\n }\r\n });\r\n }\r\n });\r\n } else {\r\n this.loadingScreenService.stopLoading();\r\n // const username2 = sessionStorage.getItem('name');\r\n // const accountName = username2.split(' ');\r\n const menssageError =\r\n \"El servicio del banco no responde con la url de pago.\";\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.data = {\r\n inverse: true,\r\n colorSi: \"colorRed\",\r\n colorNo: \"colorGray\",\r\n labelSi: \"Conectar vía Chat\",\r\n labelNo: \"No, gracias\",\r\n menssageError,\r\n messageHtml: false,\r\n labelTitleHtml: \"Bienvenido a Mi Claro Asistencia\",\r\n message: \"\",\r\n email,\r\n btmConfirm: true,\r\n };\r\n const dialogRef = this.dialog.open(AlertasComponent, dialogConfig);\r\n dialogRef.afterClosed().subscribe((value) => {\r\n if (value == \"continue\") {\r\n // colocar aqui el nuevo chat\r\n this.irChat();\r\n /*\r\n let url = this.pathChat + '?Email=' + email + '&firstname=' +\r\n accountName[0] + '&lastname=' + accountName[1] + '&Question=' +\r\n 'Problema para iniciar el boton de pago.' + '&Department=' + '16' + '';\r\n window.open(url, '', 'width=630, height=490,top=100,left=100');*/\r\n }\r\n });\r\n }\r\n } else {\r\n this.loadingScreenService.stopLoading();\r\n // const username2 = sessionStorage.getItem('name');\r\n // const accountName = username2.split(' ');\r\n const menssageError =\r\n \"El servicio del banco no responde con la url de pago.\";\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.data = {\r\n inverse: true,\r\n colorSi: \"colorRed\",\r\n colorNo: \"colorGray\",\r\n labelSi: \"Conectar vía Chat\",\r\n labelNo: \"No, gracias\",\r\n menssageError,\r\n messageHtml: false,\r\n labelTitleHtml: \"Bienvenido a Mi Claro Asistencia\",\r\n message: \"\",\r\n email,\r\n btmConfirm: true,\r\n };\r\n const dialogRef = this.dialog.open(AlertasComponent, dialogConfig);\r\n dialogRef.afterClosed().subscribe((value) => {\r\n if (value == \"continue\") {\r\n // colocar aqui el nuevo chat\r\n this.irChat();\r\n /*\r\n let url = this.pathChat + '?Email=' + email + '&firstname=' + accountName[0] +\r\n '&lastname=' + accountName[1] + '&Question=' + 'Problema para iniciar el boton de pago.' +\r\n '&Department=' + '16' + '';\r\n window.open(url, '', 'width=630, height=490,top=100,left=100');\r\n */\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n checkTypeAccount(tipo, SubTipo) {\r\n let typeAccount = \"no-detect\";\r\n // tslint:disable-next-line:max-line-length\r\n if (\r\n (tipo === \"I3\" && SubTipo === \"4\") ||\r\n (tipo === \"I\" && SubTipo === \"S\") ||\r\n (tipo === \"I2\" && SubTipo === \"4\") ||\r\n (tipo === \"I\" && SubTipo === \"R\") ||\r\n (tipo === \"I\" && SubTipo === \"4\") ||\r\n (tipo === \"I\" && SubTipo === \"E\")\r\n ) {\r\n typeAccount = \"postpago\";\r\n }\r\n if (\r\n (tipo === \"I\" && SubTipo === \"P\") ||\r\n (tipo === \"I3\" && SubTipo === \"P\")\r\n ) {\r\n typeAccount = \"prepago\";\r\n }\r\n if (tipo === \"I\" && SubTipo === \"W\") {\r\n typeAccount = \"telefoniaFijo\";\r\n }\r\n return typeAccount;\r\n }\r\n\r\n verifyPaymentStatus(typeMessage, data, cont, session = \"\") {\r\n // se evalua si se cancelo la carga en el loading\r\n this.loadingPayment = this.loadingScreenService.loadingStatus.subscribe(\r\n (value: boolean) => {\r\n if (value == false) {\r\n this.cancel = true;\r\n // tslint:disable-next-line:no-unused-expression\r\n this.loadingPayment.unsubscribe;\r\n // tslint:disable-next-line:no-unused-expression\r\n this.loadingPayment.remove;\r\n this.paymentReceived.next(false);\r\n }\r\n }\r\n );\r\n const time = setTimeout(() => {\r\n if (this.cancel == true) {\r\n // si se cancela la carga se quita el tiempo y no carga mas el servicio\r\n this.cancel = false;\r\n this.loadingPayment.unsubscribe();\r\n clearTimeout(time);\r\n } else {\r\n sessionStorage.setItem(\"verifyPaymentStatus\", null);\r\n\r\n this.loadingScreenService.startLoading(\r\n true,\r\n \"Por favor espere, estamos verificando su pago.\",\r\n true,\r\n session\r\n );\r\n this.services\r\n .verifyPaymentStatus(data.paymentToken)\r\n .subscribe((result) => {\r\n sessionStorage.setItem(\r\n \"verifyPaymentStatus\",\r\n JSON.stringify(result)\r\n );\r\n\r\n if (result.errorNum == 0) {\r\n if (result.processEndState == true) {\r\n if (result.hasError == false) {\r\n this.loadingScreenService.stopLoading();\r\n if (result.errorCode == \"\") {\r\n sessionStorage.setItem(\r\n \"numConfirmation\",\r\n result.confirmationNumber\r\n );\r\n sessionStorage.setItem(\r\n \"numAuthorization\",\r\n result.authorizationNumber\r\n );\r\n this.paymentReceived.next(true);\r\n } else {\r\n this.notif(result.errorDisplay);\r\n this.router.navigate([\"login\"]);\r\n }\r\n } else {\r\n this.loadingScreenService.stopLoading();\r\n this.notif(result.errorDisplay);\r\n this.router.navigate([\"login\"]);\r\n }\r\n } else {\r\n // if (cont < 5) {\r\n if (new Date().getTime() < Date.parse(result.paymentAgedDate)) {\r\n cont++;\r\n this.cancel = false;\r\n this.verifyPaymentStatus(typeMessage, data, cont);\r\n } else {\r\n // if (typeMessage == 'payment') {\r\n // tslint:disable-next-line:max-line-length\r\n // this.notif('Estimado cliente, hemos encontrado un problema al aplicar el pago en tu cuenta. Si su pago fue autorizado por el banco, puede tomar entre 24 y 48 horas. Si tiene alguna duda con su pago favor de consultarle a Centro de Servicio al cliente.');\r\n // } else if (typeMessage == 'prepaid') {\r\n // tslint:disable-next-line:max-line-length\r\n // this.notif('Estimado cliente, hemos encontrado un problema verificar su pago. Si su recarga fue autorizado por el banco, y no la ve reflejada no esta reflejada en su cuenta de Claro Prepago, favor de consultarle a Centro de Servicio al cliente.');\r\n // } else {\r\n // tslint:disable-next-line:max-line-length\r\n // this.notif('Estimado cliente, hemos encontrado un problema verificar su pago. Si su compra fue autorizada por el banco, y no la ve reflejada no esta reflejada en su cuenta, favor de consultarle a Centro de Servicio al cliente.');\r\n // }\r\n\r\n // tslint:disable-next-line:max-line-length\r\n this.notif(\r\n \"Estimado cliente, el tiempo para ejecutar el pago termino. Si tiene alguna duda con su pago favor de consultarle a Centro de Servicio al cliente.\"\r\n );\r\n\r\n this.loadingScreenService.stopLoading();\r\n // this.paymentReceived.next(false);\r\n this.router.navigate([\"login\"]);\r\n }\r\n }\r\n } else {\r\n this.loadingScreenService.stopLoading();\r\n this.notif(result.errorDisplay);\r\n this.paymentReceived.next(false);\r\n }\r\n });\r\n }\r\n // }, 5000);\r\n }, 30000);\r\n }\r\n\r\n setPaymentMethod() {\r\n this.services.getSetting().subscribe(\r\n (resp: any) => {\r\n this.paymentMethodActive = resp.paymentMethod_active;\r\n },\r\n (error) => {\r\n this.notif(error);\r\n }\r\n );\r\n }\r\n\r\n getCapchaKey() {}\r\n setStep(value) {\r\n this.stepCheck.next(value);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoadingScreenService {\r\n // tslint:disable-next-line:variable-name\r\n private _loading = false;\r\n // tslint:disable-next-line:variable-name\r\n private _loadingMin = false;\r\n // tslint:disable-next-line:variable-name\r\n private _loadingMin2 = false;\r\n private session: string;\r\n\r\n loadingStatus = new Subject();\r\n loadingMinStatus = new Subject();\r\n loadingMin2Status = new Subject();\r\n statusText = new Subject();\r\n\r\n get loadingMin(): boolean {\r\n return this._loadingMin;\r\n }\r\n set loadingMin(value) {\r\n this._loadingMin = value;\r\n this.loadingMinStatus.next(value);\r\n }\r\n startLoadingMin() {\r\n this.loadingMin = true;\r\n }\r\n stopLoadingMin() {\r\n this.loadingMin = false;\r\n }\r\n getSession(value) {\r\n return this.session;\r\n }\r\n setSession(value) {\r\n this.session = value;\r\n }\r\n get loadingMin2(): boolean {\r\n return this._loadingMin2;\r\n }\r\n set loadingMin2(value) {\r\n this._loadingMin2 = value;\r\n this.loadingMin2Status.next(value);\r\n }\r\n startLoadingMin2() {\r\n this.loadingMin2 = true;\r\n }\r\n stopLoadingMin2() {\r\n this.loadingMin2 = false;\r\n }\r\n get loading(): boolean {\r\n return this._loading;\r\n }\r\n set loading(value) {\r\n this._loading = value;\r\n this.loadingStatus.next(value);\r\n }\r\n startLoading(statusText= false, text= '', btm= false, session= '') {\r\n this.statusText.next([statusText, text, btm, session]);\r\n this.loading = true;\r\n }\r\n stopLoading() {\r\n this.loading = false;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Renderer2 } from '@angular/core';\r\nimport chat from '../../../assets/chat.js';\r\n@Component({\r\n selector: 'app-chat',\r\n templateUrl: './chat.component.html',\r\n styleUrls: ['./chat.component.sass']\r\n})\r\nexport class ChatComponent implements OnInit {\r\n public objChat: chat = new chat();\r\n constructor(private renderer: Renderer2) { }\r\n ngOnInit() {\r\n const script = this.renderer.createElement('script');\r\n script.src = '../../../assets/chat.js';\r\n script.onload = () => {\r\n this.objChat.type='pop';\r\n this.objChat.title='Mi Claro Express';\r\n this.objChat.token='';\r\n this.objChat.SSOAccessToken='';\r\n this.objChat.region='';\r\n this.objChat.category='599';\r\n this.objChat.id='e2f7386f-32d3-44ed-8088-0133d1191124';\r\n this.objChat.origin='12';\r\n this.objChat.customerName='';\r\n this.objChat.accountNumber='';\r\n this.objChat.email='';\r\n this.objChat.appType='Web';\r\n };\r\n script.onerror = () => {\r\n console.log('Error al cargar el archivo JavaScript.');\r\n };\r\n this.renderer.appendChild(document.body, script); \r\n }\r\n goToChat(){\r\n this.objChat.getChat();\r\n }\r\n}","
\r\n \r\n
\r\n","import {AfterViewInit, Component, OnInit} from '@angular/core';\r\nimport {ActivatedRoute, Router} from '@angular/router';\r\nimport {GlobalService} from '../../core/services/global-services/global.service';\r\nimport {ApiService} from '../../core/services/api-services/api.service';\r\nimport {MatDialog, MatDialogConfig} from '@angular/material';\r\nimport {AlertasComponent} from '../../shared/components/alertas/alertas.component';\r\nimport {LoadingScreenService} from '../../core/services/loading-screen/loading-screen.service';\r\n\r\n@Component({\r\n selector: 'app-generated-url',\r\n templateUrl: './generated-url.component.html',\r\n styleUrls: ['./generated-url.component.sass']\r\n})\r\nexport class GeneratedUrlComponent implements OnInit {\r\n\r\n constructor(\r\n public global: GlobalService,\r\n private services: ApiService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n public dialog: MatDialog,\r\n private loadingScreenService: LoadingScreenService,\r\n ) {}\r\n\r\n async loadToken() {\r\n const data = await this.services.getToken().toPromise();\r\n if (data.hasError === false) {\r\n this.global.tokenMiClaro = data.object.token;\r\n sessionStorage.setItem('token', data.object.token);\r\n }\r\n }\r\n\r\n async ngOnInit() {\r\n setTimeout(async () => {\r\n this.loadingScreenService.startLoading(true, 'Estamos buscando su informacion ', true, null);\r\n await this.loadToken();\r\n // @ts-ignore\r\n const code = this.route.params._value.code;\r\n const data = await this.services.verifyCode(code).toPromise();\r\n this.loadingScreenService.stopLoading();\r\n\r\n if (data.hasError) {\r\n this.showDialogError();\r\n } else {\r\n sessionStorage.setItem('getSubscriber', btoa(JSON.stringify(data.object)));\r\n sessionStorage.setItem('urlId', data.object.urlId);\r\n this.global.session();\r\n\r\n if (data.object.transactionType === 'INSTALLMENT') {\r\n // tslint:disable-next-line:max-line-length\r\n sessionStorage.setItem('subscriber', btoa(data.object.accountInfo.subscriberNumber !== '' ? data.object.accountInfo.subscriberNumber : data.object.subscriberInfo[0].subscriberNumber));\r\n sessionStorage.setItem('subscriberInfo', btoa(JSON.stringify(data.object.subscriberInfo)));\r\n sessionStorage.setItem('paymentToken', data.object.token);\r\n\r\n this.router.navigate(['confirm_installment_tax']);\r\n } else if (data.object.transactionType === 'TELEMARKETING_PAY_TAXES') {\r\n if (data.object.telemarketingPayTax !== null && data.object.telemarketingPayTax !== undefined) {\r\n sessionStorage.setItem('telemarketing_pay_tax', btoa(JSON.stringify(data.object.telemarketingPayTax)));\r\n }\r\n if (data.object.subscriberInfo !== null && data.object.subscriberInfo !== undefined) {\r\n sessionStorage.setItem('subscriberInfo', btoa(JSON.stringify(data.object.subscriberInfo)));\r\n }\r\n\r\n this.router.navigate(['confirm_telemarketing_tax']);\r\n } else if (data.object.transactionType === 'POSTPAID_PAY_INVOICE') {\r\n data.object.accountInfo.pastDueAmount = data.object.amount;\r\n sessionStorage.setItem('getSubscriber', btoa(JSON.stringify(data.object)));\r\n sessionStorage.setItem('paymentsLink', btoa(JSON.stringify(data.object.paymentsLink)));\r\n this.router.navigate(['payment_amount']);\r\n } else if (data.object.transactionType === 'PREPAID_BUY_BALANCE') {\r\n data.object.accountInfo.pastDueAmount = data.object.amount;\r\n data.object.subscriberInfo = data.object.subscriberInfo.servSubscriber;\r\n sessionStorage.setItem('getSubscriber', btoa(JSON.stringify(data.object)));\r\n this.router.navigate(['prepaid_buy_balance']);\r\n } else {\r\n this.showDialogError();\r\n }\r\n }\r\n }, 100);\r\n }\r\n\r\n private showDialogError() {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n // tslint:disable-next-line:max-line-length\r\n dialogConfig.data = {message: 'Enlace expirado, por favor llamar al 787-793-1253', colorSi : 'colorRed', colorNo: undefined, btmOk: true, btmConfirm: false, labelOk: 'Aceptar', labelNo: undefined};\r\n const dialogRef = this.dialog.open(AlertasComponent, dialogConfig);\r\n dialogRef.afterClosed().subscribe(value => {\r\n this.router.navigate(['']);\r\n });\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n 1\r\n \r\n \r\n Ingrese datos\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n 2\r\n \r\n \r\n Monto a pagar\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n 3\r\n \r\n \r\n Pago\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n 4\r\n \r\n \r\n Confirmación\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Monto a Pagar
\r\n
$0.00
\r\n
\r\n\r\n
\r\n
\r\n
Resumen de Deuda


\r\n
\r\n
\r\n
Monto Cuota
\r\n
\r\n
\r\n
\r\n
Cuotas a Acelerar
\r\n
\r\n
\r\n
\r\n
Total Deuda
\r\n
\r\n
\r\n
\r\n
Pago Dividido
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { SharedModule } from 'src/app/shared/shared.module';\r\nimport { GeneratedUrlComponent } from './generated-url.component';\r\nimport { MatSlideToggleModule } from '@angular/material';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n GeneratedUrlComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n SharedModule,\r\n MatSlideToggleModule\r\n ],\r\n exports: [\r\n GeneratedUrlComponent\r\n ]\r\n})\r\nexport class GeneratedUrlModule { }\r\n","import { Component, OnInit , ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AppComponent } from '../../app.component';\r\nimport { ApiService } from '../../core/services/api-services/api.service';\r\nimport { LoadingScreenService } from '../../core/services/loading-screen/loading-screen.service';\r\nimport { GlobalService } from '../../core/services/global-services/global.service';\r\nimport { MatDialog, MatDialogConfig, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.sass']\r\n})\r\nexport class HomeComponent implements OnInit {\r\n public tabActive = 'Dashboard';\r\n public selectBan;\r\n public currentList;\r\n public postpago = false;\r\n public prepago = false;\r\n public telefoniaFijo = false;\r\n public totalAccountList;\r\n public viewPaper = 1;\r\n\r\n public billDueDateField;\r\n public billDateField;\r\n public lastPaymentAmountField;\r\n public billBalanceField;\r\n public paperless;\r\n public accountType;\r\n public accountSubtype;\r\n public type;\r\n public popPreguntasSeguridad;\r\n public token: string = sessionStorage.getItem('token');\r\n public subscribers;\r\n public subscriber;\r\n loadObserver: Subscription;\r\n\r\n public giftMessage = '';\r\n public nameSend;\r\n public gui;\r\n public cr = '';\r\n constructor(private router: Router,\r\n public appComponent: AppComponent,\r\n private services: ApiService,\r\n private loadingScreenService: LoadingScreenService,\r\n private global: GlobalService,\r\n public dialog: MatDialog) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n // this.global.validateSession();\r\n this.loadObserver = this.global.loadObserver.subscribe((value: number) => {\r\n this.dataLoading(value);\r\n });\r\n this.selectBan = atob(sessionStorage.getItem('selectBan'));\r\n\r\n }\r\n\r\n // tslint:disable-next-line:use-lifecycle-interface\r\n ngAfterViewInit() {\r\n if (this.prepago == true) {\r\n /*this.services.updateToken(this.token,btoa(this.selectBan),this.subscriber).subscribe(data =>{\r\n if(data.hasError==false){\r\n sessionStorage.setItem(\"idCustomerCard\",btoa(JSON.stringify(data.response)));\r\n this.GetGift1GBSendData();\r\n }\r\n else{\r\n this.GetGift1GBSendData();\r\n //mensaje que no se genero el token\r\n }\r\n });*/\r\n } else {\r\n /*this.GetGift1GBSendData();*/\r\n }\r\n /*if(this.popPreguntasSeguridad==true){\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n const dialogRef =this.dialog.open(PopupQuestionComponent, dialogConfig);\r\n }*/\r\n }\r\n initializeData() {\r\n this.global.refreshDataTo(this.token);\r\n }\r\n refreshDataTo(event: Event) {\r\n // tslint:disable-next-line:radix\r\n const index = parseInt(event.target['selectedIndex']);\r\n const ban = this.currentList[index].account;\r\n sessionStorage.setItem('selectBan', btoa(ban));\r\n this.initializeData();\r\n }\r\n dataLoading(sw) {\r\n this.selectBan = atob(sessionStorage.getItem('selectBan'));\r\n\r\n if (this.billBalanceField.search('CR') > -1) {\r\n this.cr = 'CR';\r\n this.billBalanceField= parseFloat(this.billBalanceField);\r\n } else {\r\n this.cr = '';\r\n }\r\n if (this.postpago == true) {\r\n this.type = 'postpaid';\r\n } else if (this.prepago == true) {\r\n this.type = 'prepaid';\r\n } else if (this.telefoniaFijo == true) {\r\n this.type = 'fixed';\r\n }\r\n /*this.GetGift1GBSendData();*/\r\n }\r\n // tslint:disable-next-line:use-lifecycle-interface\r\n ngOnDestroy() {\r\n this.loadObserver.unsubscribe();\r\n }\r\n}\r\n\r\n","
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n 1\r\n \r\n \r\n Ingrese datos\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n 2\r\n \r\n \r\n Monto a pagar\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n 3\r\n \r\n \r\n Pago\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n 4\r\n \r\n \r\n Confirmación\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n ","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { SharedModule } from 'src/app/shared/shared.module';\r\nimport { HomeComponent } from './home.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n HomeComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n SharedModule\r\n ],\r\n exports: [\r\n HomeComponent\r\n ]\r\n})\r\nexport class HomeModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AppComponent } from '../../app.component';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ApiService } from '../../core/services/api-services/api.service';\r\nimport { LoadingScreenService } from '../../core/services/loading-screen/loading-screen.service';\r\nimport { GlobalService } from '../../core/services/global-services/global.service';\r\nimport { MatDialog } from '@angular/material';\r\nimport { Subscription } from 'rxjs';\r\nimport { PaymentMethodActive, ValidateCode } from 'src/app/core/interfaces/interfaces';\r\nimport { ExecutePaymentService } from 'src/app/core/services/execute-payment/execute-payment.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.sass']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n public loginForm: FormGroup;\r\n public accountInfo1: any;\r\n public continue: Subscription;\r\n constructor(public global: GlobalService, private loadingScreenService: LoadingScreenService,\r\n private router: Router, private formBuilder: FormBuilder,\r\n public appComponent: AppComponent, private services: ApiService,\r\n public dialog: MatDialog, public executePaymentService: ExecutePaymentService) {\r\n this.global.getCapchaKey();\r\n this.createForm();\r\n }\r\n\r\n ngOnInit() {\r\n this.global.signOff();\r\n this.global.setStep(1);\r\n this.loadToken();\r\n this.global.isFlashPayment = false;\r\n this.continue = this.global.continue.subscribe((data: any) => {\r\n this.saveData(data);\r\n });\r\n this.evaluateDataFromRedirect()\r\n }\r\n\r\n saveData(data) {\r\n sessionStorage.setItem('getSubscriber', btoa(JSON.stringify(data.object)));\r\n sessionStorage.setItem('subscriber', btoa(data.object.accountInfo.subscriberNumber));\r\n this.verifyAddress(data);\r\n }\r\n\r\n verifyAddress(data) {\r\n if (JSON.parse(atob(sessionStorage.getItem('getSubscriber'))).accountInfo.address &&\r\n JSON.parse(atob(sessionStorage.getItem('getSubscriber'))).accountInfo.city &&\r\n JSON.parse(atob(sessionStorage.getItem('getSubscriber'))).accountInfo.zip) {\r\n this.executePaymentService.isValidAddress = true;\r\n } else {\r\n this.executePaymentService.isValidAddress = false;\r\n }\r\n\r\n this.ckeckAccountType(data);\r\n }\r\n\r\n ckeckAccountType(data) {\r\n const typeAccountMobile = this.global.checkTypeAccount(data.object.accountInfo.accountType, data.object.accountInfo.accountSubtype);\r\n if (typeAccountMobile === 'prepago') {\r\n if (data.object.planPrice == 0) {\r\n data.object.planPrice = '';\r\n }\r\n sessionStorage.setItem('prepaid_balances', btoa(JSON.stringify(data.object)));\r\n this.router.navigate(['prepaid_buy_balance']);\r\n } else {\r\n // this.verifyEmail();\r\n this.loadingScreenService.stopLoading();\r\n this.router.navigate(['postpaid_select_option']);\r\n }\r\n }\r\n\r\n loadToken() {\r\n this.loadingScreenService.startLoading();\r\n this.services.getToken().subscribe(data => {\r\n if (data.hasError == false) {\r\n this.global.tokenMiClaro = data.object.token;\r\n sessionStorage.setItem('token', data.object.token);\r\n this.loadingScreenService.stopLoading();\r\n }\r\n });\r\n }\r\n\r\n validateData() {\r\n if (this.loginForm.valid) {\r\n this.global.subscriberReceiver = this.loginForm.value.number;\r\n this.global.ssnReceiver = this.loginForm.value.ssn;\r\n this.global.login(this.global.tokenMiClaro);\r\n }\r\n\r\n }\r\n\r\n verifyEmail() {\r\n this.accountInfo1 = JSON.parse(atob(sessionStorage.getItem('getSubscriber'))).accountInfo;\r\n this.services.verifyEmail(this.accountInfo1.BAN, 'collection-path', this.accountInfo1.email).subscribe(data => {\r\n // opciones de telemarketing\r\n /*\r\n if(response.object.telemarketingPayTax !== null && response.object.telemarketingPayTax !== undefined){\r\n app.utils.storage.setSessionItem('telemarketing_pay_tax', response.object.telemarketingPayTax);\r\n }\r\n */\r\n if (data.hasError == false) {\r\n this.router.navigate(['postpaid_select_option']);\r\n this.loadingScreenService.stopLoading();\r\n } else {\r\n }\r\n });\r\n }\r\n\r\n postPaidUser() {\r\n this.basicVisualReset();\r\n this.global.isPrepaid = false;\r\n\r\n }\r\n\r\n prepaidUser() {\r\n this.basicVisualReset();\r\n this.global.isPrepaid = true;\r\n }\r\n\r\n backToStep1() {\r\n this.global.isStep1 = true;\r\n this.global.isPrepaid = false;\r\n this.global.onPrepaidStep2 = false;\r\n this.global.subscriberReceiver = '';\r\n this.global.subscriberReceiver = '';\r\n this.global.ssnReceiver = '';\r\n }\r\n\r\n basicVisualReset() {\r\n this.global.isStep1 = false;\r\n this.global.onPrepaidStep2 = false;\r\n }\r\n\r\n backToPrepaidStep1() {\r\n this.global.onPrepaidStep2 = false;\r\n this.global.prepaidCode = '';\r\n }\r\n\r\n getValidationCode() {\r\n if (this.global.subscriberReceiver === '') {\r\n this.global.notif('Número de telefono obligatorio');\r\n return;\r\n } else if (this.global.subscriberReceiver.length < 10) {\r\n this.global.notif('Número de telefono incorrecto');\r\n this.global.subscriberReceiver = '';\r\n return;\r\n }\r\n\r\n this.loadingScreenService.startLoading();\r\n this.services.getValidationCode(this.global.subscriberReceiver).subscribe(\r\n (resp: any) => {\r\n this.loadingScreenService.stopLoading();\r\n if (!resp.hasError) {\r\n this.global.onPrepaidStep2 = true;\r\n } else {\r\n this.global.notif(resp.errorDesc);\r\n }\r\n },\r\n error => {\r\n this.loadingScreenService.stopLoading();\r\n this.global.notif(error);\r\n }\r\n );\r\n }\r\n validateCode() {\r\n if (this.global.prepaidCode === '') {\r\n this.global.notif('Código de confirmación obligatorio');\r\n return;\r\n }\r\n this.loadingScreenService.startLoading();\r\n this.services.validateCode(this.global.subscriberReceiver, this.global.prepaidCode).subscribe(\r\n (resp: ValidateCode) => {\r\n this.loadingScreenService.stopLoading();\r\n if (!resp.hasError) {\r\n this.global.getSubcriberInfo(this.global.tokenMiClaro, '', '', this.global.subscriberReceiver, true);\r\n } else {\r\n this.global.notif('No se ha podido validar el código, intente nuevamente');\r\n this.backToPrepaidStep1();\r\n }\r\n },\r\n error => {\r\n this.loadingScreenService.stopLoading();\r\n this.global.notif(error);\r\n }\r\n );\r\n }\r\n\r\n private createForm() {\r\n this.loginForm = this.formBuilder.group({\r\n number: ['', Validators.required],\r\n ssn: ['', Validators.required],\r\n remember: false,\r\n //recaptcha: ['', Validators.required]\r\n });\r\n }\r\n\r\n evaluateDataFromRedirect() {\r\n const athData: string = this.router.parseUrl(this.router.url).queryParams[\r\n 'apprCode'\r\n ];\r\n\r\n const sessionToken = this.router.parseUrl(this.router.url).queryParams[\r\n 'st'\r\n ];\r\n\r\n const typeResult = this.router.parseUrl(this.router.url).queryParams[\r\n 'type'\r\n ];\r\n\r\n const errorCode = this.router.parseUrl(this.router.url).queryParams[\r\n 'errCode'\r\n ];\r\n\r\n const cancelled = this.router.parseUrl(this.router.url).queryParams[\r\n 'cancelled'\r\n ];\r\n\r\n const utm_source = this.router.parseUrl(this.router.url).queryParams[\r\n 'utm_source'\r\n ];\r\n\r\n const utm_medium = this.router.parseUrl(this.router.url).queryParams[\r\n 'utm_medium'\r\n ];\r\n\r\n const utm_campaign = this.router.parseUrl(this.router.url).queryParams[\r\n 'utm_campaign'\r\n ];\r\n\r\n const utm_term = this.router.parseUrl(this.router.url).queryParams[\r\n 'utm_term'\r\n ];\r\n\r\n // const gclid = this.router.parseUrl(this.router.url).queryParams[\r\n // 'gclid'\r\n // ];\r\n\r\n\r\n const paymenToken = this.router.parseUrl(this.router.url).queryParams['pt'];\r\n\r\n if (utm_source || utm_medium || utm_campaign || utm_term) {\r\n this.router.routerState.snapshot.url.toString()\r\n let urlBase = this.router.routerState.snapshot.url.toString().split('?')[0]\r\n this.router.navigate([urlBase]);\r\n }\r\n\r\n if (athData || errorCode) {\r\n const athList = athData.split(',');\r\n const authorizationNumber = athList[0];\r\n const confirmationNumber = athList[1];\r\n const dto = {\r\n paymentId:sessionToken? sessionToken: sessionStorage.getItem('paymentId') ,\r\n paymenToken:paymenToken? paymenToken: '' ,\r\n typeResult: typeResult? typeResult: '',\r\n authorizationNumber:authorizationNumber? authorizationNumber: '' ,\r\n confirmationNumber:confirmationNumber? confirmationNumber: '' ,\r\n errorCode:errorCode? errorCode: ''\r\n }\r\n let dtoString = JSON.stringify(dto)\r\n sessionStorage.setItem('athData', dtoString);\r\n const athRoute = sessionStorage.getItem('ath-route')\r\n if (athRoute){\r\n this.router.navigate([\"payment_amount\"]).then()\r\n } else {\r\n this.router.navigate([\"prepaid_buy_balance\"]).then()\r\n }\r\n\r\n\r\n } else if (cancelled) {\r\n const dto = {\r\n cancelled: cancelled\r\n }\r\n let dtoString = JSON.stringify(dto)\r\n sessionStorage.setItem('athData', dtoString);\r\n this.router.navigate([\"payment_amount\"]).then()\r\n }\r\n }\r\n\r\n checkPreviusRoute() {\r\n let athRoute = sessionStorage.getItem('ath-route')\r\n if (athRoute == \"payment\") {\r\n this.router.navigate([\"payment_amount\"]).then()\r\n } else if (athRoute == \"recharge\") {\r\n this.router.navigate([\"prepaid_buy_balance\"]).then()\r\n }\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n Indique el tipo de Servicio\r\n
\r\n\r\n
\r\n
Pagar Facturas
\r\n
Recargar Prepago
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n Ingresa datos de la cuenta\r\n
\r\n
\r\n
\r\n
\r\n * Número de cuenta o de teléfono\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n * 4 Últimos del Seguro Social\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
Regresar
\r\n \r\n Continuar\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n Validación de Usuario Prepago\r\n
\r\n
\r\n
\r\n * Ingrese su número telefónico\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
Regresar
\r\n
Continuar
\r\n
\r\n
\r\n
\r\n
\r\n Validación de Usuario Prepago\r\n
\r\n
\r\n
\r\n * Ingrese el código recibido en su dispositivo\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
Regresar
\r\n
Continuar
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LoginComponent } from './login.component';\r\nimport { SharedModule } from 'src/app/shared/shared.module';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { FormsModule } from '@angular/forms';\r\nimport {NgxCaptchaModule} from \"ngx-captcha\";\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n LoginComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n SharedModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n NgxCaptchaModule\r\n ],\r\n exports: [\r\n LoginComponent\r\n ]\r\n})\r\nexport class LoginModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { GlobalService } from '../../../core/services/global-services/global.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { PaymentMethodActive } from '../../../core/interfaces/interfaces';\r\nimport { ApiService } from '../../../core/services/api-services/api.service';\r\n@Component({\r\n selector: 'app-additional-packages',\r\n templateUrl: './additional-packages.component.html',\r\n styleUrls: ['./additional-packages.component.sass']\r\n})\r\nexport class AdditionalPackagesComponent implements OnInit {\r\n\r\n public subscriberList;\r\n public offerList;\r\n public roamingList;\r\n public info = [];\r\n public selTab: number;\r\n public token: string = sessionStorage.getItem('token');\r\n loadObserver: Subscription;\r\n constructor(private global: GlobalService, private router: Router, private route: ActivatedRoute, private services: ApiService) { }\r\n\r\n ngOnInit() {\r\n this.selTab = 1;\r\n this.getId();\r\n this.info = JSON.parse(atob(sessionStorage.getItem('getSubscriber'))).subscriberInfo;\r\n this.subscriberList = this.info[0].subscriberNumber;\r\n this.global.setPaymentMethod();\r\n for (let i = 0; i < this.info.length; i++) {\r\n this.offerList = JSON.parse(atob(sessionStorage.getItem('getSubscriber'))).subscriberInfo[i].additionalpackages.localPackages;\r\n this.roamingList = JSON.parse(atob(sessionStorage.getItem('getSubscriber'))).subscriberInfo[i].additionalpackages.roamingPackages;\r\n }\r\n this.loadObserver = this.global.loadObserver.subscribe((value: number) => {\r\n this.dataLoading(value);\r\n });\r\n }\r\n backToOptions() {\r\n this.router.navigate(['postpaid_select_option']);\r\n }\r\n goToBuy(namePackage, pricePackage, offerId) {\r\n sessionStorage.setItem('namePackage', namePackage);\r\n sessionStorage.setItem('pricePackage', pricePackage);\r\n sessionStorage.setItem('offerId', offerId);\r\n this.router.navigate(['confirm_package']);\r\n }\r\n refreshDataTo() {\r\n // tslint:disable-next-line:radix\r\n const index = parseInt(event.target['selectedIndex']);\r\n const ban = this.info[index].subscriberNumber;\r\n sessionStorage.setItem('selectBan', btoa(ban)); // qué se pondrá acá\r\n this.initializeData();\r\n }\r\n initializeData() {\r\n this.global.refreshDataTo(this.token);\r\n }\r\n dataLoading(sw) {\r\n this.selTab = 1;\r\n this.getId();\r\n this.info = JSON.parse(atob(sessionStorage.getItem('getSubscriber'))).subscriberInfo;\r\n this.subscriberList = this.info[0].subscriberNumber;\r\n for (let i = 0; i < this.info.length; i++) {\r\n this.offerList = JSON.parse(atob(sessionStorage.getItem('getSubscriber'))).subscriberInfo[i].additionalpackages.localPackages;\r\n this.roamingList = JSON.parse(atob(sessionStorage.getItem('getSubscriber'))).subscriberInfo[i].additionalpackages.roamingPackages;\r\n }\r\n }\r\n statusChange(sw) {\r\n this.selTab = sw;\r\n }\r\n getId() {\r\n if (this.route.firstChild) {\r\n const id = this.route.firstChild.snapshot.params.id;\r\n if (id == '1') {\r\n this.selTab = 1;\r\n } else if (id == '2') {\r\n this.selTab = 2;\r\n } else {\r\n this.selTab = 1;\r\n this.router.navigate(['additional_packages']);\r\n }\r\n }\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n Listado de Paquetes\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Local\r\n
\r\n
\r\n Roaming\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Actualmente no cuentas con Paquetes Adicionales\r\n
\r\n
\r\n
\r\n
\r\n
0\">\r\n
\r\n
\r\n
\r\n {{addpaq.displayName}}\r\n
\r\n
\r\n
\r\n {{addpaq.price}}\r\n
\r\n
\r\n
\r\n Comprar
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Actualmente no cuentas con Roaming\r\n
\r\n
\r\n
\r\n
\r\n
0\">\r\n
\r\n
\r\n
\r\n {{addpaq.displayName}}\r\n
\r\n
\r\n
\r\n {{addpaq.price}}\r\n
\r\n
\r\n
\r\n Comprar
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Volver
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { GlobalService } from '../../../../../core/services/global-services/global.service';\r\n@Component({\r\n selector: 'app-bill-buy-package',\r\n templateUrl: './bill-buy-package.component.html',\r\n styleUrls: ['./bill-buy-package.component.sass']\r\n})\r\nexport class BillBuyPackageComponent implements OnInit {\r\n @Input() confirmNumber;\r\n @Input() banSelected;\r\n @Input() subscriberActual;\r\n @Input() namePackage;\r\n @Input() pricePackage;\r\n public emailCorr = '';\r\n public insNumTel = '';\r\n constructor(private router: Router, public global: GlobalService) { }\r\n\r\n ngOnInit() {\r\n }\r\n goHome() {\r\n this.global.setStep(2);\r\n this.global.isStep1 = true;\r\n this.global.currentScreen=1;\r\n this.global.isPrepaid = false;\r\n this.global.onPrepaidStep2 = false;\r\n this.router.navigate(['postpaid_select_option']);\r\n }\r\n readLastFour(data) {\r\n if (!!data) {\r\n const start = data.substring(5, 9);\r\n return start;\r\n }\r\n }\r\n enviarNumtel() {\r\n if (this.insNumTel == '') {\r\n this.global.notif('Debe ingresar su telefono');\r\n } else {\r\n this.global.notif('numero insertado con exito');\r\n }\r\n }\r\n verificarEmail() {\r\n if (this.emailCorr === '') {\r\n this.global.notif('Debe ingresar su e-mail');\r\n } else if (this.global.validarEmail(this.emailCorr) === false) {\r\n this.global.notif('Estimado cliente, el Nuevo Correo Electrónico tiene un formato incorrecto.');\r\n } else {\r\n this.global.notif('ok');\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n \r\n 1\r\n \r\n \r\n Ingrese datos\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n 2\r\n \r\n \r\n Monto a pagar\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n 3\r\n \r\n \r\n Pago\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n 4\r\n \r\n \r\n Confirmación\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n ¡Gracias! Su pago fue exitoso\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Número de Confirmación: {{this.confirmNumber}}
\r\n Cuenta Termina en: {{this.readLastFour(this.banSelected)}}
\r\n Nro de Teléfono : {{this.subscriberActual}}
\r\n Tipo de Paquete: Local
\r\n Paquete: {{this.namePackage}}
\r\n
\r\n
\r\n
\r\n \r\n Monto Pagado:
\r\n {{this.pricePackage|currency}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
Inicio
\r\n \r\n Registro \r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { GlobalService } from '../../../core/services/global-services/global.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { ApiService } from '../../../core/services/api-services/api.service';\r\nimport { LoadingScreenService } from '../../../core/services/loading-screen/loading-screen.service';\r\nimport { ExecutePaymentService } from '../../../core/services/execute-payment/execute-payment.service';\r\n@Component({\r\n selector: 'app-confirm-package',\r\n templateUrl: './confirm-package.component.html',\r\n styleUrls: ['./confirm-package.component.sass']\r\n})\r\nexport class ConfirmPackageComponent implements OnInit {\r\n public offerList = [];\r\n public roamingList = [];\r\n public namePackage;\r\n public subscriberEmail;\r\n public subscriberName;\r\n public subscriberLastName;\r\n public pricePackage;\r\n public banSelected;\r\n public subscriberActual;\r\n public valueAmount;\r\n public confirmNumber;\r\n public offerId;\r\n public token: string = sessionStorage.getItem('token');\r\n paymentReceived: Subscription;\r\n public screenActual = 1;\r\n\r\n constructor(private loadingScreenService: LoadingScreenService, private services: ApiService,\r\n public global: GlobalService, private router: Router, public executePaymentService: ExecutePaymentService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.paymentReceived = this.global.paymentReceived.subscribe((value: boolean) => {\r\n if (value === true) {\r\n this.loadingScreenService.stopLoading();\r\n this.global.notif( 'Se ha agregado el Paquete Adicional de Data' );\r\n this.screenActual = 2;\r\n }\r\n });\r\n this.banSelected = JSON.parse(atob(sessionStorage.getItem('getSubscriber'))).accountInfo.BAN;\r\n this.subscriberEmail = JSON.parse(atob(sessionStorage.getItem('getSubscriber'))).accountInfo.email;\r\n this.subscriberName = JSON.parse(atob(sessionStorage.getItem('getSubscriber'))).accountInfo.firstName;\r\n this.subscriberLastName = JSON.parse(atob(sessionStorage.getItem('getSubscriber'))).accountInfo.lastName;\r\n this.subscriberActual = atob(sessionStorage.getItem('subscriber'));\r\n this.namePackage = sessionStorage.getItem('namePackage');\r\n this.pricePackage = sessionStorage.getItem('pricePackage');\r\n this.offerId = sessionStorage.getItem('offerId');\r\n this.valueAmount = this.pricePackage.split('$').join('');\r\n this.offerList = JSON.parse(atob(sessionStorage.getItem('getSubscriber'))).subscriberInfo[0].additionalpackages.localPackages;\r\n this.roamingList = JSON.parse(atob(sessionStorage.getItem('getSubscriber'))).subscriberInfo[0].additionalpackages.roamingPackages;\r\n }\r\n backTo() {\r\n this.router.navigate(['additional_packages']);\r\n }\r\n goTo() {\r\n const typeMessage = 'dataPackage';\r\n this.executePaymentService.paymentProcess(this.subscriberName, this.subscriberLastName, this.subscriberEmail,\r\n this.banSelected, typeMessage, 3, this.offerId, this.pricePackage, this.token);\r\n }\r\n // tslint:disable-next-line:use-lifecycle-interface\r\n ngOnDestroy() {\r\n this.paymentReceived.unsubscribe();\r\n }\r\n\r\n updateScreen(event: number) {\r\n this.screenActual = event;\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n Confirmar Paquete\r\n
\r\n
\r\n
\r\n
\r\n
Nro de Cuenta
\r\n
{{this.banSelected}}
\r\n
\r\n
\r\n
Nro de Teléfono
\r\n
{{this.subscriberActual}}
\r\n
\r\n
\r\n
Tipo de Paquete
\r\n
Local
\r\n
\r\n
\r\n
Paquete
\r\n
{{this.namePackage}}
\r\n
\r\n
\r\n
TOTAL A PAGAR
\r\n
{{this.pricePackage}}
\r\n
\r\n
\r\n
\r\n
Continuar
\r\n
Volver
\r\n
\r\n
\r\n
\r\n
\r\n ----\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n ¡Gracias! Su pago fue exitoso\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Recibiras un correo electrónico con tu confirmacion de tu pago.\r\n
\r\n
\r\n
\r\n Tu pago fue aprobado por el banco y será aplicado a tu cuenta en un plazo de 24 a 48 horas.\r\n
\r\n
\r\n Por favor, no realices un nuevo pago hasta que la transacción sea procesada.\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Número de Autorización : {{this.confirmNumber}}
\r\n Número de Referencia: {{this.confirmNumber2}}
\r\n Su Número de Cuenta es : {{this.banSelected}}
\r\n Su Número de Suscriptor : {{this.subscriberSelected}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n Monto Pagado:
\r\n {{this.amountPay | currency}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n Aunque su pago fue existoso, no fue aplicado a su cuenta de\r\n Claro. Se ha reversado el monto pagado a su cuenta de banco.\r\n
\r\n Pulse aqui para ver\r\n la Información de Reembolso\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n ¿Desea Recibo?\r\n
\r\n\r\n
\r\n
\r\n
\r\n Teléfono:\r\n
\r\n\r\n \r\n\r\n
Enviar
\r\n
\r\n\r\n
\r\n
\r\n Correo electrónico:\r\n
\r\n\r\n \r\n\r\n
Enviar
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
Inicio
\r\n \r\n Registro \r\n \r\n
\r\n
\r\n
\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { GlobalService } from '../../../../../core/services/global-services/global.service';\r\nimport { ApiService } from '../../../../../core/services/api-services/api.service';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { AlertasComponent } from '../../../../../shared/components/alertas/alertas.component';\r\nimport { ExecutePaymentService } from '../../../../../core/services/execute-payment/execute-payment.service';\r\nimport { LoadingScreenService } from 'src/app/core/services/loading-screen/loading-screen.service';\r\n\r\n@Component({\r\n selector: 'app-bill',\r\n templateUrl: './bill.component.html',\r\n styleUrls: ['./bill.component.sass']\r\n})\r\nexport class BillComponent implements OnInit {\r\n @Input() banSelected;\r\n @Input() subscriberSelected;\r\n @Input() amountPay;\r\n @Input() confirmNumber;\r\n @Input() confirmNumber2;\r\n @Input() refundInfo;\r\n public emailCorr = '';\r\n public insNumTel = '';\r\n\r\n constructor(private router: Router,\r\n public global: GlobalService,\r\n private services: ApiService,\r\n public dialog: MatDialog,\r\n public executePaymentService: ExecutePaymentService,private loadingScreenService: LoadingScreenService) {\r\n }\r\n\r\n ngOnInit() {\r\n if (this.executePaymentService.isPrepaid) {\r\n //this.banSelected = this.executePaymentService.subscriberInfo.subscriberNumber;\r\n } else {\r\n //this.banSelected = this.executePaymentService.userData.accountInfo.BAN;\r\n }\r\n //this.confirmNumber = sessionStorage.getItem('numConfirmation');\r\n //this.confirmNumber2 = (this.confirmNumber2 === undefined || this.confirmNumber2 === null) ? null : this.confirmNumber2;\r\n }\r\n\r\n goHome() {\r\n this.global.setStep(2);\r\n this.global.currentScreen=1;\r\n\r\n this.global.isPrepaid = true;\r\n this.global.prepaidCode='';\r\n this.global.subscriberReceiver='';\r\n this.global.onPrepaidStep2=false;\r\n this.global.isStep1 = true;\r\n this.global.isPrepaid = false;\r\n this.global.onPrepaidStep2 = false;\r\n sessionStorage.removeItem('numConfirmation');\r\n if (this.executePaymentService.isPrepaid) {\r\n //this.router.navigate(['prepaid_buy_balance']);\r\n this.router.navigate(['/']);\r\n } else {\r\n this.router.navigate(['/']);\r\n //this.router.navigate(['postpaid_select_option']);\r\n }\r\n }\r\n\r\n readLastFour(data) {\r\n if (!!data) {\r\n const start = data.substring(5, 9);\r\n return start;\r\n }\r\n }\r\n\r\n async enviarNumtel() {\r\n if (this.insNumTel == '') {\r\n this.global.notif('Debe ingresar su telefono');\r\n } else {\r\n this.loadingScreenService.startLoading()\r\n await this.services.sendSms(this.insNumTel, 'ES', sessionStorage.getItem('transactionId'), sessionStorage.getItem('token')).toPromise();\r\n this.global.notif('SMS enviado con éxito');\r\n this.loadingScreenService.stopLoading();\r\n }\r\n }\r\n\r\n async verificarEmail() {\r\n if (this.emailCorr === '') {\r\n this.global.notif('Debe ingresar su e-mail');\r\n } else if (this.global.validarEmail(this.emailCorr) === false) {\r\n this.global.notif('Estimado cliente, el Correo Electrónico tiene un formato incorrecto.');\r\n } else {\r\n this.loadingScreenService.startLoading();\r\n await this.services.sendEmail(this.emailCorr, 'ES', sessionStorage.getItem('transactionId'), sessionStorage.getItem('token')).toPromise();\r\n this.global.notif('Email enviado con éxito');\r\n this.loadingScreenService.stopLoading();\r\n }\r\n }\r\n\r\n displayRefundInfo() {\r\n let messageValidation = '';\r\n // no split\r\n if (this.confirmNumber2 === null) {\r\n messageValidation += '- Número de Refrencia de Reverso: ' + this.refundInfo.voidedInformation[0].requestId + '
';\r\n messageValidation += '- Número de Traza en Banco: ' + this.refundInfo.voidedInformation[0].systemTrace + '
';\r\n messageValidation += '- Fecha de Reverso: ' + this.refundInfo.voidedInformation[0].voidedDate + '
';\r\n // tslint:disable-next-line:max-line-length\r\n messageValidation += '- Estatus del Reverso: ' + this.refundInfo.voidedInformation[0].rCode + ' ' + this.refundInfo.voidedInformation[0].rMsg + '
';\r\n } else {\r\n if (this.refundInfo.splitPaymentList[0].voidedInformation[0].isVoided) {\r\n // tslint:disable-next-line:max-line-length\r\n messageValidation += '- Número de Refrencia de Reverso 1: ' + this.refundInfo.splitPaymentList[0].voidedInformation[0].requestId + '
';\r\n // tslint:disable-next-line:max-line-length\r\n messageValidation += '- Número de Traza en Banco 1: ' + this.refundInfo.splitPaymentList[0].voidedInformation[0].systemTrace + '
';\r\n messageValidation += '- Fecha de Reverso 1: ' + this.refundInfo.splitPaymentList[0].voidedInformation[0].voidedDate + '
';\r\n // tslint:disable-next-line:max-line-length\r\n messageValidation += '- Estatus del Reverso 1: ' + this.refundInfo.splitPaymentList[0].voidedInformation[0].rCode + ' ' + this.refundInfo.splitPaymentList[0].voidedInformation[0].rMsg + '
';\r\n messageValidation += '

';\r\n }\r\n\r\n if (this.refundInfo.splitPaymentList[1].voidedInformation[0].isVoided) {\r\n // tslint:disable-next-line:max-line-length\r\n messageValidation += '- Número de Refrencia de Reverso 2: ' + this.refundInfo.splitPaymentList[1].voidedInformation[0].requestId + '
';\r\n // tslint:disable-next-line:max-line-length\r\n messageValidation += '- Número de Traza en Banco 2: ' + this.refundInfo.splitPaymentList[1].voidedInformation[0].systemTrace + '
';\r\n messageValidation += '- Fecha de Reverso 2: ' + this.refundInfo.splitPaymentList[1].voidedInformation[0].voidedDate + '
';\r\n // tslint:disable-next-line:max-line-length\r\n messageValidation += '- Estatus del Reverso 2: ' + this.refundInfo.splitPaymentList[1].voidedInformation[0].rCode + ' ' + this.refundInfo.splitPaymentList[1].voidedInformation[0].rMsg + '
';\r\n }\r\n }\r\n\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n // tslint:disable-next-line:max-line-length\r\n dialogConfig.data = {\r\n message: messageValidation,\r\n colorSi: 'colorRed',\r\n colorNo: undefined,\r\n btmOk: true,\r\n btmConfirm: false,\r\n labelOk: 'Aceptar',\r\n labelNo: undefined,\r\n messageHtml: true\r\n };\r\n const dialogRef = this.dialog.open(AlertasComponent, dialogConfig);\r\n dialogRef.afterClosed().subscribe(value => {\r\n });\r\n }\r\n\r\n isRefoundData() {\r\n if (this.refundInfo) {\r\n if (this.confirmNumber2 === null) {\r\n return this.refundInfo.voidedInformation[0].isVoided;\r\n } else {\r\n // tslint:disable-next-line:max-line-length\r\n return this.refundInfo.splitPaymentList[0].voidedInformation[0].isVoided || this.refundInfo.splitPaymentList[1].voidedInformation[0].isVoided;\r\n }\r\n } else {\r\n return false;\r\n }\r\n }\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { GlobalService } from \"../../../core/services/global-services/global.service\";\r\nimport { Subject, Subscription } from \"rxjs\";\r\nimport { ApiService } from \"../../../core/services/api-services/api.service\";\r\nimport { LoadingScreenService } from \"../../../core/services/loading-screen/loading-screen.service\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { ExecutePaymentService } from \"../../../core/services/execute-payment/execute-payment.service\";\r\nimport { PaymentIframeService } from \"src/app/shared/components/iframe-payment/payment-iframe.services\";\r\n\r\n@Component({\r\n selector: \"app-payment-amount\",\r\n templateUrl: \"./payment-amount.component.html\",\r\n styleUrls: [\"./payment-amount.component.sass\"],\r\n})\r\nexport class PaymentAmountComponent implements OnInit {\r\n public amountToPay: number;\r\n public lastPayment;\r\n public banSelected;\r\n public billDate;\r\n public billDueDate;\r\n public subscriberEmail;\r\n public subscriberLastName;\r\n public subscriberName;\r\n public confirmNumber;\r\n public token: string = sessionStorage.getItem(\"token\");\r\n paymentReceived: Subscription;\r\n public screenActual = 1;\r\n public activateLine = false;\r\n // isDisabled = false;\r\n allowChangeValue = true;\r\n public firstNameIP = \"\";\r\n public lastNameIP = \"\";\r\n public emailIP = \"\";\r\n public amountIP = \"\";\r\n public selectBanIP = \"\";\r\n public currentSuscriberIP = \"\";\r\n public locationIdIP = \"\";\r\n public invoiceNumberIP = \"\";\r\n public installmentCountIP = 0;\r\n public authorizationNumber = \"\";\r\n public referenceNumber = \"\";\r\n public displayConfirmation: boolean = false;\r\n public loadIframe: Boolean = false;\r\n updatePayment = new Subject();\r\n private endOfPayment: boolean = false;\r\n private endOfProcesses: boolean = false;\r\n private resulPayment: any;\r\n public paymentStartTime: number = 0;\r\n showPaymentAmounts = true;\r\n billBalance;\r\n showOtherAmount = false;\r\n canChangeAmount = true;\r\n optionSelected;\r\n selectedAmount: any;\r\n pastDueAmount;\r\n canUseAccountAmounts = true;\r\n optionTitle1;\r\n optionTitle2;\r\n optionTitle3;\r\n showMinum = true;\r\n dataSent = false;\r\n // si el monto viene con cr no hay minimo.\r\n // no pagar menos del minimo.\r\n constructor(\r\n private loadingScreenService: LoadingScreenService,\r\n private services: ApiService,\r\n public global: GlobalService,\r\n private router: Router,\r\n public dialog: MatDialog,\r\n public executePaymentService: ExecutePaymentService\r\n ) {\r\n this.getTooltips();\r\n }\r\n\r\n ngOnInit() {\r\n this.athProcess();\r\n sessionStorage.setItem(\"ath-route\", \"payment\");\r\n let banStatus = JSON.parse(atob(sessionStorage.getItem(\"getSubscriber\")))\r\n .accountInfo.BANStatus;\r\n\r\n let isfromAdmin = JSON.parse(atob(sessionStorage.getItem(\"getSubscriber\")))\r\n .subscriberInfo.servSubscriber;\r\n\r\n if (banStatus && banStatus.toLowerCase() == \"s\") {\r\n this.canChangeAmount = false;\r\n }\r\n\r\n this.billBalance = JSON.parse(\r\n atob(sessionStorage.getItem(\"getSubscriber\"))\r\n ).accountInfo.billBalance;\r\n\r\n if (!this.billBalance) {\r\n this.billBalance = JSON.parse(\r\n atob(sessionStorage.getItem(\"getSubscriber\"))\r\n ).accountInfo.pastDueAmount;\r\n }\r\n if (this.billBalance.toString().includes(\"CR\")) {\r\n this.canUseAccountAmounts = false;\r\n //this.showMinum = false;\r\n }\r\n this.global.setStep(2);\r\n\r\n this.paymentReceived = this.global.paymentReceived.subscribe(\r\n (value: boolean) => {\r\n if (value === true) {\r\n this.loadingScreenService.stopLoading();\r\n this.global.notif(\"Se ha efectuado el pago de la factura.\");\r\n this.screenActual = 2;\r\n }\r\n }\r\n );\r\n this.updatePayment.subscribe((data: any) => {\r\n if (this.endOfProcesses == true && this.endOfPayment == true) {\r\n if (this.resulPayment.success == true) {\r\n } else {\r\n this.endOfPayment = false;\r\n this.paymentStartTime = 0;\r\n }\r\n }\r\n });\r\n this.global.setPaymentMethod();\r\n try {\r\n let objSubscriber = JSON.parse(\r\n atob(sessionStorage.getItem(\"getSubscriber\"))\r\n );\r\n this.firstNameIP = objSubscriber.accountInfo.firstName;\r\n this.lastNameIP = objSubscriber.accountInfo.lastName;\r\n if (objSubscriber.accountInfo.email != undefined) {\r\n this.emailIP = objSubscriber.accountInfo.email;\r\n } else {\r\n this.emailIP = this.global.emailIframePay;\r\n }\r\n this.selectBanIP = objSubscriber.accountInfo.BAN;\r\n this.currentSuscriberIP = objSubscriber.accountInfo.subscriberNumber;\r\n } catch (error) {}\r\n this.pastDueAmount = JSON.parse(\r\n atob(sessionStorage.getItem(\"getSubscriber\"))\r\n ).accountInfo.pastDueAmount;\r\n // this.amountToPay = this.pastDueAmount\r\n console.log(this.pastDueAmount);\r\n this.lastPayment = JSON.parse(\r\n atob(sessionStorage.getItem(\"getSubscriber\"))\r\n ).accountInfo.lastPaymentAmount;\r\n this.banSelected = JSON.parse(\r\n atob(sessionStorage.getItem(\"getSubscriber\"))\r\n ).accountInfo.BAN;\r\n this.billDate = JSON.parse(\r\n atob(sessionStorage.getItem(\"getSubscriber\"))\r\n ).accountInfo.billDate;\r\n this.billDueDate = JSON.parse(\r\n atob(sessionStorage.getItem(\"getSubscriber\"))\r\n ).accountInfo.billDueDate;\r\n this.subscriberEmail = JSON.parse(\r\n atob(sessionStorage.getItem(\"getSubscriber\"))\r\n ).accountInfo.email;\r\n this.subscriberName = JSON.parse(\r\n atob(sessionStorage.getItem(\"getSubscriber\"))\r\n ).accountInfo.firstName;\r\n this.subscriberLastName = JSON.parse(\r\n atob(sessionStorage.getItem(\"getSubscriber\"))\r\n ).accountInfo.lastName;\r\n this.global.amountToPay2 = JSON.parse(\r\n atob(sessionStorage.getItem(\"getSubscriber\"))\r\n ).accountInfo.pastDueAmount;\r\n if (sessionStorage.getItem(\"paymentsLink\")) {\r\n this.allowChangeValue = JSON.parse(\r\n atob(sessionStorage.getItem(\"paymentsLink\"))\r\n ).allowChangeValue;\r\n }\r\n }\r\n\r\n backTo() {\r\n this.global.loadFooter = false;\r\n this.router.navigate([\"postpaid_select_option\"]);\r\n }\r\n errorMessage(e: any) {\r\n this.loadingScreenService.stopLoading();\r\n }\r\n outLoadIframe(event: any) {\r\n this.loadIframe = true;\r\n }\r\n // browser() {\r\n // var es_chrome = navigator.userAgent.toLowerCase().indexOf(\"chrome\") > -1;\r\n // var es_firefox = navigator.userAgent.toLowerCase().indexOf(\"firefox\") > -1;\r\n // var es_opera = navigator.userAgent.toLowerCase().indexOf(\"es_opera\") > -1;\r\n // var es_ie = navigator.userAgent.toLowerCase().indexOf(\"MSIE\") > -1;\r\n // if (es_chrome) {\r\n // }\r\n // }\r\n\r\n validateMinimun() {\r\n if (this.pastDueAmount) {\r\n if (this.billBalance.toString().includes(\"CR\")) {\r\n return \"0.00\";\r\n } else {\r\n return Number(this.pastDueAmount) > 0 ? this.pastDueAmount : \"0.00\";\r\n }\r\n } else {\r\n return \"0.00\";\r\n }\r\n }\r\n\r\n fixAmount(amount: any) {\r\n if (amount.toString().includes(\"CR\")) {\r\n return amount.toString();\r\n } else {\r\n const newAmount = amount.toString().replace(\",\",\"\")\r\n return Number(newAmount).toFixed(2).toString();\r\n //return Number(amonut).toFixed(2).toString();\r\n }\r\n }\r\n\r\n goTo() {\r\n this.paymentStartTime = this.global.paymentStartTime;\r\n // const typeMessage = \"payment\";\r\n if (this.amountToPay) {\r\n if (this.amountToPay <= 800) {\r\n if (this.amountToPay >= 5) {\r\n this.loadingScreenService.startLoading();\r\n sessionStorage.setItem(\"amountToPay\", this.amountToPay.toString());\r\n this.amountIP = this.amountToPay.toString();\r\n\r\n this.global.setStep(3);\r\n this.global.currentScreen = 2;\r\n } else {\r\n this.global.notif(\"El monto no puede ser menor a $5.00.\");\r\n }\r\n } else {\r\n this.global.notif(\"El monto no puede ser mayor a $800.00.\");\r\n }\r\n } else {\r\n this.global.notif(\"Indique el monto a pagar\");\r\n }\r\n }\r\n backToOptions() {\r\n this.global.setStep(1);\r\n this.global.currentScreen = 1;\r\n this.router.navigate([\"postpaid_select_option\"]);\r\n }\r\n ngOnDestroy() {\r\n this.paymentReceived.unsubscribe();\r\n }\r\n updateScreen(event: number) {\r\n this.screenActual = event;\r\n }\r\n\r\n selectAmount(index: number) {\r\n this.showOtherAmount = false;\r\n if (!this.canUseAccountAmounts && index !== 3) {\r\n console.log(this.canUseAccountAmounts, this.optionSelected);\r\n return;\r\n } else {\r\n if (index === 1) {\r\n this.amountToPay = this.billBalance;\r\n this.optionSelected = index;\r\n } else if (index === 2) {\r\n this.amountToPay = JSON.parse(\r\n atob(sessionStorage.getItem(\"getSubscriber\"))\r\n ).accountInfo.pastDueAmount;\r\n this.optionSelected = index;\r\n } else {\r\n this.showOtherAmount = true;\r\n this.optionSelected = index;\r\n }\r\n }\r\n }\r\n\r\n getTooltips() {\r\n this.services.getLocalData(\"tooltip.json\").subscribe((resp: any) => {\r\n console.log(resp);\r\n this.optionTitle1 = resp.title1;\r\n this.optionTitle2 = resp.title2;\r\n this.optionTitle3 = resp.title3;\r\n });\r\n }\r\n\r\n athProcess() {\r\n if (JSON.parse(sessionStorage.getItem(\"athData\")!!)) {\r\n this.amountToPay = Number(sessionStorage.getItem(\"amountToPay\"));\r\n let dataAth = JSON.parse(sessionStorage.getItem(\"athData\")!!);\r\n if (dataAth.cancelled) {\r\n this.global.notif(\r\n \"Has cancelado el proceso de pago por favor intenta nuevamente.\"\r\n );\r\n sessionStorage.removeItem(\"athData\");\r\n } else {\r\n setTimeout(() => {\r\n this.loadingScreenService.startLoading();\r\n }, 1000);\r\n this.getTransactionStatus(btoa(sessionStorage.getItem(\"athData\")!!));\r\n }\r\n }\r\n }\r\n\r\n getTransactionStatus(data: any, typeResult = \"\") {\r\n this.services.getTransactionStatus(data).subscribe(\r\n (resp) => {\r\n this.decryptTokenByCrypto(resp.dataToken);\r\n },\r\n (error) => {\r\n console.log(error);\r\n }\r\n );\r\n }\r\n\r\n decryptTokenByCrypto(data: any) {\r\n this.services.decryptTokenByCrypto(data).subscribe(\r\n (resp) => {\r\n console.log(resp);\r\n let dataResult = JSON.parse(\r\n atob(resp.iframePaymentResult.paymentResult)\r\n );\r\n console.log(dataResult);\r\n // this.resultPaymentIframe(dataResult);\r\n this.global.resultPaymentIframe(dataResult); // ojo\r\n sessionStorage.removeItem(\"athData\");\r\n },\r\n (error) => {\r\n console.log(error);\r\n }\r\n );\r\n }\r\n\r\n updateResult(event) {\r\n if (!this.dataSent) {\r\n this.global.resultPaymentIframe(event);\r\n this.dataSent = true;\r\n setTimeout(() => {\r\n this.dataSent = false;\r\n }, 1000);\r\n }\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Resumen de factura\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Número de cuenta:\r\n {{ banSelected }} \r\n
\r\n
\r\n\r\n
\r\n
\r\n fecha de facturación\r\n {{ billDate }}\r\n
\r\n
\r\n fecha de vencimiento\r\n {{ billDueDate }}\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Monto a pagar\r\n \r\n {{ this.amountToPay | currency }}\r\n \r\n $0.00\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n Selecciona el monto a pagar\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n Selecciona el monto a pagar\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Total
\r\n
\r\n {{ fixAmount(billBalance) }}\r\n
\r\n \"\"\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Mínimo
\r\n
\r\n {{ fixAmount(validateMinimun()) }}\r\n
\r\n \"\"\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Otro\r\n
\r\n \r\n 0.00\r\n\r\n
\r\n \r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n Pagar Factura\r\n
\r\n\r\n \r\n Cancelar\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n Volver\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { GlobalService } from '../../../core/services/global-services/global.service';\r\n@Component({\r\n selector: 'app-payment-info',\r\n templateUrl: './payment-info.component.html',\r\n styleUrls: ['./payment-info.component.sass']\r\n})\r\nexport class PaymentInfoComponent implements OnInit {\r\n public token: string;\r\n public balance;\r\n constructor(public global: GlobalService, private router: Router) { }\r\n\r\n ngOnInit() {\r\n this.token = sessionStorage.getItem('token');\r\n this.balance = this.global.amountToPay2;\r\n }\r\n goTo() {\r\n \r\n }\r\n backTo() {\r\n this.router.navigate(['payment_amount']);\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
Balance a Pagar:
\r\n
${{this.balance}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Datos de la Tarjeta\r\n
\r\n
\r\n
\r\n
\r\n * Nombre:\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n * Tarjeta:\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n * Fecha de vencimiento:\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Tipo de Tarjeta\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n * Código de Seguridad:\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n * Código Postal:\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Continuar
\r\n
Volver
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ApiService } from '../../../core/services/api-services/api.service';\r\nimport { LoadingScreenService } from '../../../core/services/loading-screen/loading-screen.service';\r\nimport { GlobalService } from '../../../core/services/global-services/global.service';\r\n\r\n@Component({\r\n selector: 'app-postpaid-select-option',\r\n templateUrl: './postpaid-select-option.component.html',\r\n styleUrls: ['./postpaid-select-option.component.sass']\r\n})\r\nexport class PostpaidSelectOptionComponent implements OnInit {\r\n public telemarketingPayTax;\r\n public subscriberInfo;\r\n public paymentToken = null;\r\n\r\n constructor(private loadingScreenService: LoadingScreenService,\r\n private router: Router,\r\n private services: ApiService,\r\n private global: GlobalService) {\r\n this.global.setStep(2);\r\n }\r\n\r\n ngOnInit() {\r\n this.global.session();\r\n \r\n // this.global.showSplash = true;\r\n if (sessionStorage.getItem('telemarketing_pay_tax') !== null) {\r\n this.telemarketingPayTax = JSON.parse(atob(sessionStorage.getItem('telemarketing_pay_tax')));\r\n }\r\n if (JSON.parse(atob(sessionStorage.getItem('subscriberInfo'))) !== null) {\r\n this.subscriberInfo = JSON.parse(atob(sessionStorage.getItem('subscriberInfo')));\r\n }\r\n if (sessionStorage.getItem('paymentToken') !== null) {\r\n this.paymentToken = sessionStorage.getItem('paymentToken');\r\n }\r\n }\r\n\r\n backToLogin() {\r\n this.loadingScreenService.startLoading();\r\n this.router.navigate(['login']);\r\n this.loadingScreenService.stopLoading();\r\n }\r\n\r\n goToPendingPayment() {\r\n this.loadingScreenService.startLoading();\r\n this.global.setStep(1);\r\n this.global.currentScreen=1;\r\n this.router.navigate([this.paymentToken !== null ? 'confirm_installment_tax' : 'confirm_telemarketing_tax']);\r\n this.loadingScreenService.stopLoading();\r\n }\r\n\r\n goToPayment() {\r\n // if (this.telemarketingPayTax == null) {\r\n this.loadingScreenService.startLoading();\r\n this.global.setStep(1);\r\n this.global.currentScreen=1;\r\n this.router.navigate(['payment_amount']);\r\n this.loadingScreenService.stopLoading();\r\n // }\r\n }\r\n\r\n goToPackages() {\r\n if (this.telemarketingPayTax == null && this.subscriberInfo.length > 0) {\r\n this.loadingScreenService.startLoading();\r\n this.router.navigate(['additional_packages']);\r\n this.loadingScreenService.stopLoading();\r\n }\r\n }\r\n\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n Opciones\r\n
\r\n \r\n
\r\n Efectuar Pago Factura\r\n \r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
Volver
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AdditionalPackagesComponent } from './additional-packages/additional-packages.component';\r\nimport { ConfirmPackageComponent } from './confirm-package/confirm-package.component';\r\nimport { PaymentAmountComponent } from './payment-amount/payment-amount.component';\r\nimport { PaymentInfoComponent } from './payment-info/payment-info.component';\r\nimport { PostpaidSelectOptionComponent } from './postpaid-select-option/postpaid-select-option.component';\r\nimport { BillBuyPackageComponent } from './confirm-package/components/bill-buy-package/bill-buy-package.component';\r\nimport { BillComponent } from './payment-amount/components/bill/bill.component';\r\nimport { SharedModule } from 'src/app/shared/shared.module';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AdditionalPackagesComponent,\r\n ConfirmPackageComponent,\r\n BillBuyPackageComponent,\r\n PaymentAmountComponent,\r\n BillComponent,\r\n PaymentInfoComponent,\r\n PostpaidSelectOptionComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n SharedModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n ],\r\n exports: [\r\n AdditionalPackagesComponent,\r\n ConfirmPackageComponent,\r\n BillBuyPackageComponent,\r\n PaymentAmountComponent,\r\n BillComponent,\r\n PaymentInfoComponent,\r\n PostpaidSelectOptionComponent\r\n ]\r\n})\r\nexport class PostpaidModule { }\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { GlobalService } from 'src/app/core/services/global-services/global.service';\r\nimport { ExecutePaymentService } from '../../../../core/services/execute-payment/execute-payment.service';\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { LoadingScreenService } from 'src/app/core/services/loading-screen/loading-screen.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-confirm-prepaid-balance',\r\n templateUrl: './confirm-prepaid-balance.component.html',\r\n styleUrls: ['./confirm-prepaid-balance.component.sass']\r\n})\r\nexport class ConfirmPrepaidBalanceComponent implements OnInit {\r\n @Output() goScreen = new EventEmitter();\r\n @Input() dataPrice;\r\n @Input() ivuState;\r\n @Input() ivuAmount;\r\n public totalToPay;\r\n public subscriberEmail;\r\n public banSelected;\r\n public subscriberName;\r\n public subscriberLastName;\r\n public subscriber;\r\n public token: string = sessionStorage.getItem('token');\r\n checkIsOpenPaymentModal: Subscription;\r\n isOpenPaymentModal = false;\r\n\r\n public firstNameIP='';\r\n public lastNameIP='';\r\n public emailIP='';\r\n public amountIP='';\r\n public selectBanIP='';\r\n public currentSuscriberIP='';\r\n @Output() selectBanIPOut = new EventEmitter();\r\n @Output() currentSuscriberIPOut = new EventEmitter();\r\n public locationIdIP='';\r\n public invoiceNumberIP='';\r\n public installmentCountIP=0;\r\n public authorizationNumber='';\r\n public referenceNumber='';\r\n public displayConfirmation:boolean=false;\r\n public loadIframe:Boolean=false;\r\n updatePayment = new Subject();\r\n private endOfPayment: boolean = false;\r\n private endOfProcesses: boolean = false;\r\n private resulPayment: any;\r\n public paymentStartTime: number = 0;\r\n constructor(private router: Router,private loadingScreenService: LoadingScreenService, public global: GlobalService, public executePaymentService: ExecutePaymentService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.checkIsOpenPaymentModal = this.executePaymentService.isOpenPaymentModal.subscribe((value: boolean) => {\r\n this.isOpenPaymentModal = value;\r\n });\r\n this.updatePayment.subscribe((data: any) => {\r\n if (this.endOfProcesses == true && this.endOfPayment == true) {\r\n if (this.resulPayment.success == true) {\r\n\r\n }\r\n else {\r\n this.endOfPayment = false;\r\n this.paymentStartTime = 0;\r\n }\r\n }\r\n });\r\n this.global.setPaymentMethod();\r\n this.totalToPay = parseFloat(this.dataPrice) * ( 1 + parseFloat(this.ivuState));\r\n sessionStorage.setItem('amountToPay', this.totalToPay.toString());\r\n this.banSelected = JSON.parse(atob(sessionStorage.getItem('getSubscriber'))).accountInfo.BAN;\r\n this.subscriberEmail = JSON.parse(atob(sessionStorage.getItem('getSubscriber'))).accountInfo.email;\r\n this.subscriberName = JSON.parse(atob(sessionStorage.getItem('getSubscriber'))).accountInfo.firstName;\r\n this.subscriberLastName = JSON.parse(atob(sessionStorage.getItem('getSubscriber'))).accountInfo.lastName;\r\n this.subscriber = JSON.parse(atob(sessionStorage.getItem('getSubscriber'))).subscriberInfo[0].subscriberNumber;\r\n\r\n try {\r\n let objSubscriber=JSON.parse(atob(sessionStorage.getItem('getSubscriber')));\r\n this.firstNameIP=objSubscriber.accountInfo.firstName;\r\n this.lastNameIP=objSubscriber.accountInfo.lastName;\r\n if(objSubscriber.accountInfo.email!=undefined){\r\n this.emailIP = objSubscriber.accountInfo.email;\r\n }\r\n else{\r\n this.emailIP=this.global.emailIframePay;\r\n }\r\n this.selectBanIP = objSubscriber.accountInfo.BAN;\r\n this.currentSuscriberIP=objSubscriber.accountInfo.subscriberNumber;\r\n this.selectBanIPOut.next(this.selectBanIP);\r\n this.currentSuscriberIPOut.next(this.currentSuscriberIP);\r\n this.amountIP = this.totalToPay;\r\n }\r\n catch (error) {}\r\n }\r\n outLoadIframe(event:any){\r\n this.loadIframe=event;\r\n }\r\n goPayment() {\r\n // const typeMessage = 'prepaid';\r\n this.global.currentScreen= 2;\r\n }\r\n back() {\r\n this.global.loadFooter=false;\r\n this.global.isPrepaid = true;\r\n this.global.prepaidCode='';\r\n this.global.subscriberReceiver='';\r\n this.global.onPrepaidStep2=false;\r\n this.global.currentScreen=1;\r\n this.router.navigate(['login']);\r\n\r\n }\r\n errorMessage(e:any){\r\n this.loadingScreenService.stopLoading();\r\n }\r\n updateScreen(event: number) {\r\n this.goScreen.emit(event + 1);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n Confirmar Recarga \r\n
\r\n
\r\n \r\n
\r\n
\r\n
Nro de Cuenta
\r\n\r\n
{{this.banSelected}}\r\n
\r\n
\r\n\r\n
\r\n
Nro de Teléfono
\r\n\r\n
{{this.subscriber}}
\r\n
\r\n\r\n
\r\n
Plan
\r\n\r\n
{{this.dataPrice | currency}}
\r\n
\r\n\r\n
\r\n
Impuesto
\r\n\r\n
{{this.ivuState * this.dataPrice | currency}}
\r\n
\r\n\r\n
\r\n
TOTAL A PAGAR
\r\n\r\n
{{this.totalToPay| currency}}
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
Volver
\r\n
Continuar
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n >\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Volver\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from \"@angular/core\";\r\nimport { LoadingScreenService } from \"../../core/services/loading-screen/loading-screen.service\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { GlobalService } from \"../../core/services/global-services/global.service\";\r\nimport { Router } from \"@angular/router\";\r\nimport { ApiService } from \"src/app/core/services/api-services/api.service\";\r\n\r\n@Component({\r\n selector: \"app-prepaid-buy-balance\",\r\n templateUrl: \"./prepaid-buy-balance.component.html\",\r\n styleUrls: [\"./prepaid-buy-balance.component.sass\"],\r\n})\r\nexport class PrepaidBuyBalanceComponent implements OnInit {\r\n public planPrice: number;\r\n public planPriceString: string;\r\n public dataPrice;\r\n public ivuState = 0.115;\r\n public ivuAmount;\r\n public freeAmountValue = \"0\";\r\n public otherValue = false;\r\n public wallet;\r\n public subscriber;\r\n public balancedPrepaid;\r\n public selectBanIP: any = \"\";\r\n public currentSuscriberIP: any = \"\";\r\n paymentReceived: Subscription;\r\n public totalToPay: number = 0;\r\n\r\n constructor(\r\n private loadingScreenService: LoadingScreenService,\r\n public global: GlobalService,\r\n private router: Router,\r\n private services: ApiService\r\n ) {}\r\n\r\n ngOnInit() {\r\n sessionStorage.setItem(\"ath-route\", \"recharge\");\r\n this.global.setStep(2);\r\n this.paymentReceived = this.global.paymentReceived.subscribe(\r\n (value: boolean) => {\r\n if (value == true) {\r\n this.loadingScreenService.stopLoading();\r\n this.global.notif(\"Recarga exitosa.\");\r\n this.global.currentScreen = 3;\r\n }\r\n }\r\n );\r\n this.subscriber = JSON.parse(\r\n atob(sessionStorage.getItem(\"getSubscriber\"))\r\n ).subscriberInfo[0].subscriberNumber;\r\n const planPrice = JSON.parse(\r\n atob(sessionStorage.getItem(\"getSubscriber\"))\r\n ).amount;\r\n this.planPrice = planPrice ? planPrice.toString().replace(\"$\", \"\") : 0;\r\n this.planPriceString = \"$\" + this.planPrice;\r\n this.balancedPrepaid = JSON.parse(\r\n atob(sessionStorage.getItem(\"getSubscriber\"))\r\n ).subscriberInfo[0].prepaidBalance;\r\n\r\n if (this.planPrice > 0) {\r\n this.otherValue = false;\r\n this.dataPrice = this.planPriceString.split(\"$\").join(\"\");\r\n this.ivuAmount = parseFloat(this.dataPrice) * this.ivuState;\r\n this.totalToPay = Number(this.dataPrice) + Number(this.ivuAmount);\r\n }\r\n this.athProcess();\r\n }\r\n goToConfirm() {\r\n if (this.totalToPay == 0) {\r\n this.global.notif(\"Por favor seleccione un monto.\");\r\n } else {\r\n if (this.totalToPay <= 300) {\r\n if (this.totalToPay >= 5) {\r\n this.loadingScreenService.startLoading();\r\n this.global.currentScreen = 2;\r\n } else {\r\n this.global.notif(\"El monto no puede ser menor a $5.00.\");\r\n }\r\n } else {\r\n this.global.notif(\"El monto no puede ser mayor a $300.00.\");\r\n }\r\n }\r\n }\r\n optionSelected(dataPrice) {\r\n this.dataPrice = dataPrice.split(\"$\").join(\"\");\r\n this.ivuAmount = parseFloat(this.dataPrice) * this.ivuState;\r\n this.totalToPay = Number(this.dataPrice) + Number(this.ivuAmount);\r\n if (this.otherValue == true) {\r\n const check = document.getElementById(\"radioG6\") as HTMLInputElement;\r\n check.checked = true;\r\n // document.getElementById().spellcheck =true;\r\n } else {\r\n const check = document.getElementById(\"radioG6\") as HTMLInputElement;\r\n check.checked = false;\r\n }\r\n }\r\n\r\n goBack() {\r\n this.global.isPrepaid = true;\r\n this.global.prepaidCode = \"\";\r\n this.global.subscriberReceiver = \"\";\r\n this.global.onPrepaidStep2 = false;\r\n this.global.currentScreen = 1;\r\n this.router.navigate([\"login\"]);\r\n }\r\n\r\n athProcess() {\r\n if (JSON.parse(sessionStorage.getItem(\"athData\")!!)) {\r\n this.loadingScreenService.stopLoading();\r\n let dataAth = JSON.parse(sessionStorage.getItem(\"athData\")!!);\r\n if (dataAth.cancelled) {\r\n this.global.notif(\r\n \"Has cancelado el proceso de pago por favor intenta nuevamente.\"\r\n );\r\n sessionStorage.removeItem(\"athData\");\r\n } else {\r\n this.loadingScreenService.startLoading();\r\n this.getTransactionStatus(btoa(sessionStorage.getItem(\"athData\")!!));\r\n }\r\n }\r\n }\r\n\r\n getTransactionStatus(data: any, typeResult = \"\") {\r\n this.services.getTransactionStatus(data).subscribe(\r\n (resp) => {\r\n this.decryptTokenByCrypto(resp.dataToken);\r\n },\r\n (error) => {\r\n console.log(error);\r\n }\r\n );\r\n }\r\n\r\n decryptTokenByCrypto(data: any) {\r\n this.services.decryptTokenByCrypto(data).subscribe(\r\n (resp) => {\r\n console.log(resp);\r\n let dataResult = JSON.parse(\r\n atob(resp.iframePaymentResult.paymentResult)\r\n );\r\n console.log(dataResult);\r\n // this.resultPaymentIframe(dataResult);\r\n this.global.resultPaymentIframe(dataResult);\r\n sessionStorage.removeItem('athData')\r\n this.loadingScreenService.stopLoading();\r\n },\r\n (error) => {\r\n console.log(error);\r\n }\r\n );\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
Suscriptor
\r\n
{{this.subscriber}}
\r\n
\r\n
\r\n
Balance en Prepago
\r\n
{{this.balancedPrepaid |currency:'$'}}
\r\n
\r\n
\r\n
Mi Claro Wallet
\r\n
{{this.wallet}}
\r\n
\r\n
\r\n
\r\n
\r\n Confirmar Recarga\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Otros Disponibles\r\n
\r\n
\r\n Confirmar Recarga\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
Volver
\r\n
Continuar
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n \r\n
","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PrepaidBuyBalanceComponent } from './prepaid-buy-balance.component';\r\nimport { ConfirmPrepaidBalanceComponent } from './components/confirm-prepaid-balance/confirm-prepaid-balance.component';\r\nimport { SharedModule } from 'src/app/shared/shared.module';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { PostpaidModule } from '../postpaid/postpaid.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n PrepaidBuyBalanceComponent,\r\n ConfirmPrepaidBalanceComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n SharedModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n PostpaidModule,\r\n ],\r\n exports: [\r\n PrepaidBuyBalanceComponent,\r\n ConfirmPrepaidBalanceComponent\r\n ]\r\n})\r\nexport class PrepaidBuyBalanceModule { }\r\n","
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n 1\r\n \r\n \r\n Ingrese datos\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n 2\r\n \r\n \r\n Monto a pagar\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n 3\r\n \r\n \r\n Pago\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n 4\r\n \r\n \r\n Confirmación\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Monto a Pagar
\r\n
\r\n ${{this.amount}}
\r\n
\r\n\r\n
\r\n
\r\n
Resumen de Deuda
\r\n

\r\n
\r\n
\r\n
Nombre
\r\n {{this.subscriberName + '  ' + this.subscriberLastName}}
\r\n
\r\n
\r\n
Número de Cuenta
\r\n
{{this.accountNumber}}
\r\n
\r\n\r\n
Número de Suscriptor
\r\n
{{this.ban}}
\r\n
\r\n
\r\n
Monto Cuota
\r\n
${{this.paymentQuota}}
\r\n
\r\n
\r\n
Cuotas a Acelerar
\r\n
{{this.instllmentUnits}}
\r\n
\r\n
\r\n
Total Deuda
\r\n
{{this.amount}}
\r\n
\r\n
\r\n
Pago Dividido
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
1
\r\n
\r\n
\r\n
\r\n Monto a Pagar\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n

\r\n\r\n
\r\n
\r\n
Numero de Autorizacion: {{numAuthorizationPaySplit1}}
\r\n
\r\n
\r\n
Metodo de Pago: \"\"
\r\n
\r\n
\r\n
Fecha de Pago: {{dateProvisioningPaySplit1}}
\r\n
\r\n
\r\n\r\n
\r\n
Refrescar
\r\n\r\n
{{paySplit1 ? 'Espere...' : 'Continuar'}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
2
\r\n
\r\n
\r\n
\r\n Monto a Pagar\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n

\r\n\r\n
\r\n
\r\n
Numero de Autorizacion: {{numAuthorizationPaySplit2}}
\r\n
\r\n
\r\n
Metodo de Pago: \"\"
\r\n
\r\n
\r\n
Fecha de Pago: {{dateProvisioningPaySplit2}}
\r\n
\r\n
\r\n\r\n
\r\n
Refrescar
\r\n\r\n
{{paySplit2 ? 'Espere...' : 'Continuar'}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
Refrescar
\r\n
\r\n Continuar
\r\n
\r\n\r\n
\r\n
\r\n Continuar
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n\r\n","import {Component, OnInit} from '@angular/core';\r\nimport {Router} from '@angular/router';\r\nimport {Subscription} from 'rxjs';\r\nimport {GlobalService} from '../../../core/services/global-services/global.service';\r\nimport {LoadingScreenService} from '../../../core/services/loading-screen/loading-screen.service';\r\nimport {ApiService} from '../../../core/services/api-services/api.service';\r\nimport {AlertasComponent} from '../../../shared/components/alertas/alertas.component';\r\nimport {MatDialog, MatDialogConfig} from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-confirm-installment-tax',\r\n templateUrl: './confirm-installment-tax.component.html',\r\n styleUrls: ['./confirm-installment-tax.component.sass']\r\n})\r\nexport class ConfirmInstallmentTaxComponent implements OnInit {\r\n public screenActual = 1;\r\n public activateLine = false;\r\n public telemarketingPayTax;\r\n public accountNumber;\r\n public createdDate;\r\n public amount;\r\n public valuePayment;\r\n public valuePaymentSplit1;\r\n public valuePaymentSplit2;\r\n public subscriberEmail;\r\n public subscriberName;\r\n public subscriberLastName;\r\n public ban;\r\n paymentReceived: Subscription;\r\n splitPayment = false;\r\n private paySplit1 = false;\r\n private paySplit2 = false;\r\n private paySplit1Completed = false;\r\n private paySplit2Completed = false;\r\n\r\n private paymentToken;\r\n private paymentQuota;\r\n private instllmentUnits;\r\n\r\n private numConfirmationPaySplit1;\r\n private numAuthorizationPaySplit1;\r\n private dateProvisioningPaySplit1;\r\n private paymentMethodDisplayPaySplit1;\r\n\r\n private numConfirmationPaySplit2;\r\n private numAuthorizationPaySplit2;\r\n private dateProvisioningPaySplit2;\r\n private paymentMethodDisplayPaySplit2;\r\n\r\n private transactionId;\r\n\r\n private redirectURL;\r\n\r\n public amountToPay;\r\n private numAuthorization = null;\r\n private currentPaymentToken = null;\r\n // tslint:disable-next-line:max-line-length\r\n private enableRefresButton = false;\r\n public paymentValue = null;\r\n private verifyPaymentStatus = null;\r\n // tslint:disable-next-line:max-line-length\r\n constructor(private loadingScreenService: LoadingScreenService, public global: GlobalService, private router: Router, private services: ApiService, public dialog: MatDialog) { }\r\n\r\n ngOnInit() {\r\n this.paymentReceived = this.global.paymentReceived.subscribe((value: boolean) => {\r\n if (this.paymentValue === null || (this.paymentValue !== value)) {\r\n if (this.paymentValue !== true) {\r\n this.paymentValue = value;\r\n this.processPayment(value);\r\n }\r\n }\r\n });\r\n\r\n this.processOnInit();\r\n }\r\n\r\n private processOnInit() {\r\n // call getPaymentInfo\r\n this.paymentToken = sessionStorage.getItem('paymentToken');\r\n\r\n this.loadingScreenService.startLoading(true, 'Estamos verificando su pago ', true, null);\r\n this.services.getPaymentInfo(this.paymentToken).subscribe((value) => {\r\n this.loadingScreenService.stopLoading();\r\n if (value.hasError) {\r\n this.showDialogError(value.errorDisplay);\r\n } else {\r\n this.amount = parseFloat(value.paymentAmount);\r\n // tslint:disable-next-line:radix\r\n this.instllmentUnits = parseInt(value.installmentUnits);\r\n this.paymentQuota = parseFloat((this.amount / this.instllmentUnits).toString()).toFixed(2);\r\n\r\n this.valuePayment = this.amount;\r\n this.valuePaymentSplit1 = this.valuePayment;\r\n this.valuePaymentSplit2 = 0;\r\n\r\n this.redirectURL = value.redirectURL;\r\n\r\n // caso borde\r\n if (value.splitPaymentList.length > 0) {\r\n if (value.splitPaymentList[0].authorizationNumber !== '' && value.splitPaymentList[0].errorCode === '0000') {\r\n this.paySplit1Completed = true;\r\n this.splitPayment = true;\r\n\r\n this.valuePaymentSplit1 = parseFloat(value.splitPaymentList[0].paymentAmount);\r\n this.calculateValuePaymentSplit2();\r\n\r\n this.numConfirmationPaySplit1 = value.splitPaymentList[0].paymentConfirmationNumber;\r\n this.numAuthorizationPaySplit1 = value.splitPaymentList[0].authorizationNumber;\r\n this.dateProvisioningPaySplit1 = value.splitPaymentList[0].paymentDate;\r\n this.paymentMethodDisplayPaySplit1 = value.splitPaymentList[0].imageUrl;\r\n\r\n // tslint:disable-next-line:max-line-length\r\n this.services.findByAuth(this.numConfirmationPaySplit1, this.numAuthorizationPaySplit1, sessionStorage.getItem('token')).subscribe( data => {\r\n if (data.object.length > 0) {\r\n sessionStorage.setItem('transactionIdSplit1', data.object[0].id);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n });\r\n\r\n this.subscriberEmail = JSON.parse(atob(sessionStorage.getItem('getSubscriber'))).accountInfo.email;\r\n this.subscriberName = JSON.parse(atob(sessionStorage.getItem('getSubscriber'))).accountInfo.firstName;\r\n this.subscriberLastName = JSON.parse(atob(sessionStorage.getItem('getSubscriber'))).accountInfo.lastName;\r\n this.accountNumber = JSON.parse(atob(sessionStorage.getItem('getSubscriber'))).accountInfo.BAN;\r\n this.ban = atob(sessionStorage.getItem('subscriber'));\r\n }\r\n\r\n private async processPayment(value: boolean) {\r\n this.verifyPaymentStatus = JSON.parse(sessionStorage.getItem('verifyPaymentStatus'));\r\n\r\n if (value) {\r\n this.loadingScreenService.stopLoading();\r\n\r\n if (!this.splitPayment) {\r\n this.global.notif('Se ha efectuado el pago de la factura.');\r\n this.numAuthorization = sessionStorage.getItem('numAuthorization');\r\n sessionStorage.setItem('transactionId', this.transactionId);\r\n this.screenActual = 2;\r\n } else {\r\n if (!this.paySplit1Completed) {\r\n this.paySplit1 = false;\r\n this.paySplit1Completed = true;\r\n\r\n this.numConfirmationPaySplit1 = sessionStorage.getItem('numConfirmation');\r\n this.numAuthorizationPaySplit1 = sessionStorage.getItem('numAuthorization');\r\n this.dateProvisioningPaySplit1 = this.verifyPaymentStatus.paymentDate;\r\n this.paymentMethodDisplayPaySplit1 = this.verifyPaymentStatus.paymentMethodImage;\r\n\r\n sessionStorage.setItem('transactionIdSplit1', this.transactionId);\r\n this.enableRefresButton = false;\r\n } else {\r\n this.paySplit2 = false;\r\n this.paySplit2Completed = true;\r\n\r\n this.numConfirmationPaySplit2 = sessionStorage.getItem('numConfirmation');\r\n this.numAuthorizationPaySplit2 = sessionStorage.getItem('numAuthorization');\r\n this.dateProvisioningPaySplit2 = this.verifyPaymentStatus.paymentDate;\r\n this.paymentMethodDisplayPaySplit2 = this.verifyPaymentStatus.paymentMethodImage;\r\n\r\n sessionStorage.setItem('transactionIdSplit2', this.transactionId);\r\n this.enableRefresButton = false;\r\n }\r\n }\r\n\r\n } else {\r\n\r\n // caso de error 129: expiracion de transaccion\r\n if (this.verifyPaymentStatus.errorNum === 129) {\r\n this.router.navigate(['']);\r\n }\r\n\r\n if (this.splitPayment) {\r\n if (!this.paySplit1Completed) {\r\n this.paySplit1 = false;\r\n } else {\r\n this.paySplit2 = false;\r\n }\r\n }\r\n\r\n this.enableRefresButton = true;\r\n }\r\n\r\n if (value) {\r\n this.loadingScreenService.startLoading();\r\n this.services.updateTransaction(\r\n this.transactionId,\r\n this.verifyPaymentStatus.errorCode === null ? '' : this.verifyPaymentStatus.errorCode,\r\n this.verifyPaymentStatus.confirmationNumber === null ? '' : this.verifyPaymentStatus.confirmationNumber,\r\n this.verifyPaymentStatus.authorizationNumber === null ? '' : this.verifyPaymentStatus.authorizationNumber,\r\n this.verifyPaymentStatus.paymentStatus + '###' + this.verifyPaymentStatus.provisioningStatus,\r\n this.verifyPaymentStatus.message === null ? '' : this.verifyPaymentStatus.message,\r\n this.getTransactionStatus(this.verifyPaymentStatus.paymentStatus, this.verifyPaymentStatus.provisioningStatus),\r\n sessionStorage.getItem('token'),\r\n sessionStorage.getItem('urlId'),\r\n this.amountToPay,\r\n 'INSTALLMENT',\r\n this.paySplit1 ? 'split' : 'completed',\r\n JSON.parse(atob(sessionStorage.getItem('getSubscriber'))).accountInfo.accountType,\r\n JSON.parse(atob(sessionStorage.getItem('getSubscriber'))).accountInfo.accountSubtype,\r\n this.accountNumber,\r\n this.ban,\r\n this.amount,\r\n this.subscriberName + ' ' + this.subscriberLastName\r\n ).subscribe(data => {\r\n this.loadingScreenService.stopLoading();\r\n\r\n if (!value) {\r\n this.showDialogError('Disculpe, hemos tendido problemas procesando su pago, por favor llamar al 787-793-1253');\r\n }\r\n\r\n });\r\n }\r\n }\r\n\r\n public refresPayment(cont) {\r\n this.enableRefresButton = false;\r\n\r\n this.loadingScreenService.startLoading(true, 'Por favor espere, estamos verificando su pago.', false, null);\r\n\r\n setTimeout(() => {\r\n this.services.verifyPaymentStatus(this.currentPaymentToken).subscribe(result => {\r\n this.loadingScreenService.stopLoading();\r\n sessionStorage.setItem('verifyPaymentStatus', JSON.stringify(result));\r\n\r\n if (result.errorNum === 0) {\r\n if (result.processEndState) {\r\n if (!result.hasError) {\r\n if (result.errorCode === '') {\r\n sessionStorage.setItem('numConfirmation', result.confirmationNumber);\r\n sessionStorage.setItem('numAuthorization', result.authorizationNumber);\r\n this.paymentValue = null;\r\n this.processPayment(true);\r\n } else {\r\n this.notif(result.errorDisplay);\r\n }\r\n } else {\r\n this.notif(result.errorDisplay);\r\n }\r\n } else {\r\n if (new Date().getTime() < Date.parse(result.paymentAgedDate)) {\r\n cont++;\r\n this.refresPayment(cont);\r\n } else {\r\n // tslint:disable-next-line:max-line-length\r\n this.notif('Estimado cliente, hemos encontrado un problema verificar su pago. Si su compra fue autorizada por el banco, y no la ve reflejada no esta reflejada en su cuenta, favor de consultarle a Centro de Servicio al cliente.');\r\n }\r\n }\r\n } else {\r\n this.notif(result.errorDisplay);\r\n }\r\n });\r\n }, 30000);\r\n }\r\n\r\n notif(msg) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n dialogConfig.data = {message: msg};\r\n this.dialog.open(AlertasComponent, dialogConfig);\r\n }\r\n\r\n private showDialogError(error: string) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n // tslint:disable-next-line:max-line-length\r\n dialogConfig.data = {message: error, colorSi : 'colorRed', colorNo: undefined, btmOk: true, btmConfirm: false, labelOk: 'Aceptar', labelNo: undefined};\r\n const dialogRef = this.dialog.open(AlertasComponent, dialogConfig);\r\n dialogRef.afterClosed().subscribe(value => {\r\n this.router.navigate(['']);\r\n });\r\n }\r\n\r\n async goTo() {\r\n this.currentPaymentToken = null;\r\n this.paymentValue = null;\r\n this.amountToPay = this.valuePayment;\r\n // tslint:disable-next-line:max-line-length\r\n const transaction = await this.services.createTransaction('MEPMMTCRDT', 'INSTALLMENT', this.paymentToken, sessionStorage.getItem('token')).toPromise();\r\n // @ts-ignore\r\n this.transactionId = transaction.object.id;\r\n\r\n const typeMessage = 'payment';\r\n this.paymentToken = sessionStorage.getItem('paymentToken');\r\n this.currentPaymentToken = this.paymentToken;\r\n // tslint:disable-next-line:max-line-length\r\n this.global.newPayment(5, typeMessage, this.accountNumber, this.ban, this.valuePayment, this.subscriberEmail, this.subscriberName + ' ' + this.subscriberLastName, '', this.paymentToken, '', this.redirectURL);\r\n }\r\n goToTest() {\r\n \r\n }\r\n\r\n backToOptions() {\r\n this.router.navigate(['postpaid_select_option']);\r\n }\r\n // tslint:disable-next-line:use-lifecycle-interface\r\n ngOnDestroy() {\r\n this.paymentReceived.unsubscribe();\r\n }\r\n\r\n async goPaySplit1() {\r\n if (this.validateAmount()) {\r\n\r\n this.paymentValue = null;\r\n this.amountToPay = this.valuePaymentSplit1;\r\n\r\n this.loadingScreenService.startLoading();\r\n const value = await this.services.addChildPayment(this.paymentToken, this.valuePaymentSplit1).toPromise();\r\n this.loadingScreenService.stopLoading();\r\n\r\n if (!value.hasError && value.errorNum === 0) {\r\n this.paySplit1 = true;\r\n const typeMessage = 'payment';\r\n this.redirectURL = value.redirectURL;\r\n this.currentPaymentToken = value.childPaymentToken;\r\n\r\n this.loadingScreenService.startLoading();\r\n // tslint:disable-next-line:max-line-length\r\n const transaction = await this.services.createTransaction('MEPMMTCRDT', 'INSTALLMENT', value.childPaymentToken, sessionStorage.getItem('token')).toPromise();\r\n this.loadingScreenService.stopLoading();\r\n // @ts-ignore\r\n this.transactionId = transaction.object.id;\r\n\r\n // tslint:disable-next-line:max-line-length\r\n this.global.newPayment(5, typeMessage, this.accountNumber, this.ban, this.valuePaymentSplit1, this.subscriberEmail, this.subscriberName + ' ' + this.subscriberLastName, '', value.childPaymentToken, '', this.redirectURL);\r\n } else {\r\n if (value.errorNum === 130) {\r\n this.refresPayment(0);\r\n } else {\r\n this.currentPaymentToken = null;\r\n this.global.notif('Ha Ocurrido un error Inicializando el pago, por favor intente nuevamente');\r\n }\r\n }\r\n } else {\r\n this.showValidations();\r\n }\r\n }\r\n\r\n private showValidations() {\r\n let messageValidation = '- El monto no puede ser ' + parseFloat((this.amount / 2).toString()).toFixed(2) + '
';\r\n messageValidation += '- El monto debe ser mayor a 5
';\r\n messageValidation += '- El monto debe ser menor a ' + (this.amount - 5) + '
';\r\n\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n // tslint:disable-next-line:max-line-length\r\n dialogConfig.data = {message: messageValidation, colorSi : 'colorRed', colorNo: undefined, btmOk: true, btmConfirm: false, labelOk: 'Aceptar', labelNo: undefined, messageHtml: true};\r\n const dialogRef = this.dialog.open(AlertasComponent, dialogConfig);\r\n dialogRef.afterClosed().subscribe(value => {\r\n });\r\n }\r\n\r\n async goPaySplit2() {\r\n if (this.validateAmount()) {\r\n this.paymentValue = null;\r\n this.amountToPay = this.valuePaymentSplit2;\r\n\r\n this.loadingScreenService.startLoading();\r\n const value = await this.services.addChildPayment(this.paymentToken, this.valuePaymentSplit2).toPromise();\r\n this.loadingScreenService.stopLoading();\r\n\r\n if (!value.hasError && value.errorNum === 0) {\r\n this.paySplit2 = true;\r\n const typeMessage = 'payment';\r\n this.redirectURL = value.redirectURL;\r\n\r\n this.currentPaymentToken = value.childPaymentToken;\r\n\r\n this.loadingScreenService.startLoading();\r\n // tslint:disable-next-line:max-line-length\r\n const transaction = await this.services.createTransaction('MEPMMTCRDT', 'INSTALLMENT', value.childPaymentToken, sessionStorage.getItem('token')).toPromise();\r\n this.loadingScreenService.stopLoading();\r\n // @ts-ignore\r\n this.transactionId = transaction.object.id;\r\n\r\n // tslint:disable-next-line:max-line-length\r\n this.global.newPayment(5, typeMessage, this.accountNumber, this.ban, this.valuePaymentSplit2, this.subscriberEmail, this.subscriberName + ' ' + this.subscriberLastName, '', value.childPaymentToken, '', this.redirectURL);\r\n } else {\r\n if (value.errorNum === 130) {\r\n this.refresPayment(0);\r\n } else {\r\n this.currentPaymentToken = null;\r\n this.global.notif('Ha Ocurrido un error Inicializando el pago, por favor intente nuevamente');\r\n }\r\n }\r\n }\r\n }\r\n\r\n validateAmount() {\r\n if (this.valuePaymentSplit1 === this.amount) {\r\n return false;\r\n }\r\n if (this.valuePaymentSplit1 === (this.amount / 2)) {\r\n return false;\r\n }\r\n if (this.valuePaymentSplit1 < 5) {\r\n return false;\r\n }\r\n if (this.valuePaymentSplit1 > this.amount) {\r\n return false;\r\n }\r\n if (this.amount - this.valuePaymentSplit1 < 5) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n calculateValuePaymentSplit2() {\r\n this.valuePaymentSplit2 = parseFloat((this.amount - this.valuePaymentSplit1).toString()).toFixed(2);\r\n }\r\n\r\n async goToSplitPaymentFinished() {\r\n this.loadingScreenService.startLoading(true, 'Estamos verificando su pago ', true, null);\r\n setTimeout(() => {\r\n this.loadingScreenService.stopLoading();\r\n this.processGoToSplitPaymentFinished();\r\n }, 15000);\r\n }\r\n\r\n async processGoToSplitPaymentFinished() {\r\n // call parent\r\n this.verifyPaymentStatus = await this.services.verifyPaymentStatus(this.paymentToken).toPromise();\r\n this.global.notif('Se ha efectuado el pago de la factura.');\r\n this.screenActual = 2;\r\n }\r\n\r\n private getTransactionStatus(paymentStatus: string, provisioningStatus: string) {\r\n if (paymentStatus === 'BANK SUCCESS NOT PROVISIONABLE' && provisioningStatus === 'SPLIT TRANSACTION NOT PROVISIONABLE') {\r\n return 'approved';\r\n }\r\n if (paymentStatus === 'BANK PAYMENT SUCCESS' && provisioningStatus === 'PROVISIONED') {\r\n return 'provisioning';\r\n }\r\n if (paymentStatus === 'BANK PAYMENT SUCCESS' && provisioningStatus === 'EXTERNALLY PROVISIONED') {\r\n return 'provisioning';\r\n }\r\n if (paymentStatus === 'BANK PAYMENT SUCCESS' && provisioningStatus === 'PROVISIONING FAILED') {\r\n return 'noprovisioning';\r\n }\r\n return 'rejected';\r\n }\r\n\r\n verifyIncorrectValueSplit1() {\r\n if (this.valuePaymentSplit1 < 0) {\r\n this.valuePaymentSplit1 = 0;\r\n this.calculateValuePaymentSplit2();\r\n }\r\n\r\n if (this.valuePaymentSplit1 > this.amount) {\r\n this.valuePaymentSplit1 = this.amount;\r\n this.calculateValuePaymentSplit2();\r\n }\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n 1\r\n \r\n \r\n Ingrese datos\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n 2\r\n \r\n \r\n Monto a pagar\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n 3\r\n \r\n \r\n Pago\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n 4\r\n \r\n \r\n Confirmación\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Monto a Pagar
\r\n
${{this.amount}}
\r\n\r\n
\r\n
\r\n
\r\n
Nro de Cuenta
\r\n
{{this.accountNumber}}
\r\n
\r\n
\r\n
Fecha de Cargo
\r\n
{{this.createdDate}}
\r\n
\r\n
\r\n
Monto del Impuesto
\r\n
{{this.amount}}
\r\n
\r\n\r\n
\r\n
Pago Dividido
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
1
\r\n
\r\n
\r\n
\r\n \r\n Monto a Pagar\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n

\r\n\r\n
\r\n
\r\n
Numero de Autorizacion: {{numAuthorizationPaySplit1}}
\r\n
\r\n
\r\n
Metodo de Pago: \"\"
\r\n
\r\n
\r\n
Fecha de Pago: {{dateProvisioningPaySplit1}}
\r\n
\r\n
\r\n\r\n
\r\n
{{paySplit1 ? 'Espere...' : 'Continuar'}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
2
\r\n
\r\n
\r\n
\r\n \r\n Monto a Pagar\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n

\r\n\r\n
\r\n
\r\n
Numero de Autorizacion: {{numAuthorizationPaySplit2}}
\r\n
\r\n
\r\n
Metodo de Pago: \"\"
\r\n
\r\n
\r\n
Fecha de Pago: {{dateProvisioningPaySplit2}}
\r\n
\r\n
\r\n\r\n
\r\n
{{paySplit2 ? 'Espere...' : 'Continuar'}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
Continuar
\r\n
Volver
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { GlobalService } from '../../../core/services/global-services/global.service';\r\nimport { LoadingScreenService } from '../../../core/services/loading-screen/loading-screen.service';\r\nimport {ApiService} from '../../../core/services/api-services/api.service';\r\nimport {MatDialog, MatDialogConfig} from '@angular/material';\r\nimport {AlertasComponent} from '../../../shared/components/alertas/alertas.component';\r\n\r\n@Component({\r\n selector: 'app-confirm-telemarketing-tax',\r\n templateUrl: './confirm-telemarketing-tax.component.html',\r\n styleUrls: ['./confirm-telemarketing-tax.component.sass']\r\n})\r\nexport class ConfirmTelemarketingTaxComponent implements OnInit {\r\n public screenActual = 1;\r\n public activateLine = false;\r\n public telemarketingPayTax;\r\n public accountNumber;\r\n public createdDate;\r\n public amount;\r\n public urlId;\r\n public valuePayment;\r\n public subscriberEmail;\r\n public subscriberName;\r\n public subscriberLastName;\r\n public ban;\r\n paymentReceived: Subscription;\r\n\r\n public valuePaymentSplit1;\r\n public valuePaymentSplit2;\r\n public amountToPay;\r\n\r\n splitPayment = false;\r\n private paySplit1 = false;\r\n private paySplit2 = false;\r\n // todo: cambiar cuando se tenga previa generacion del token\r\n private paySplit1Completed = true;\r\n private paySplit2Completed = false;\r\n\r\n private paymentToken;\r\n\r\n private numConfirmationPaySplit1;\r\n private numAuthorizationPaySplit1;\r\n private dateProvisioningPaySplit1;\r\n private paymentMethodDisplayPaySplit1;\r\n\r\n private numConfirmationPaySplit2;\r\n private numAuthorizationPaySplit2;\r\n private dateProvisioningPaySplit2;\r\n private paymentMethodDisplayPaySplit2;\r\n\r\n private transactionId;\r\n\r\n private redirectURL;\r\n\r\n public paymentValue = null;\r\n private verifyPaymentStatus = null;\r\n private numAuthorization = null;\r\n\r\n // tslint:disable-next-line:max-line-length\r\n constructor(private loadingScreenService: LoadingScreenService, public global: GlobalService, private router: Router, private services: ApiService, public dialog: MatDialog) { }\r\n\r\n ngOnInit() {\r\n this.paymentReceived = this.global.paymentReceived.subscribe((value: boolean) => {\r\n if (this.paymentValue === null || (this.paymentValue !== value)) {\r\n if (this.paymentValue !== true) {\r\n this.paymentValue = value;\r\n this.processPayment(value);\r\n }\r\n }\r\n });\r\n\r\n // this.paymentReceived = this.global.paymentReceived.subscribe((value: boolean) => {\r\n // const verifyPaymentStatus = JSON.parse(sessionStorage.getItem('verifyPaymentStatus'));\r\n //\r\n // if (value) {\r\n // this.loadingScreenService.stopLoading();\r\n // if (!this.splitPayment) {\r\n // this.global.notif('Se ha efectuado el pago de la factura.');\r\n // this.screenActual = 2;\r\n // } else {\r\n // if (this.paySplit1) {\r\n // this.paySplit1 = false;\r\n // this.paySplit1Completed = true;\r\n //\r\n // this.numConfirmationPaySplit1 = sessionStorage.getItem('numConfirmation');\r\n // this.numAuthorizationPaySplit1 = sessionStorage.getItem('numAuthorization');\r\n // this.dateProvisioningPaySplit1 = verifyPaymentStatus.provisioningDate;\r\n // this.paymentMethodDisplayPaySplit1 = verifyPaymentStatus.paymentMethodImage;\r\n // } else {\r\n // this.paySplit2 = false;\r\n // this.paySplit2Completed = true;\r\n //\r\n // this.numConfirmationPaySplit2 = sessionStorage.getItem('numConfirmation');\r\n // this.numAuthorizationPaySplit2 = sessionStorage.getItem('numAuthorization');\r\n // this.dateProvisioningPaySplit2 = verifyPaymentStatus.provisioningDate;\r\n // this.paymentMethodDisplayPaySplit2 = verifyPaymentStatus.paymentMethodImage;\r\n // }\r\n // }\r\n // } else {\r\n // if (this.splitPayment) {\r\n // if (this.paySplit1) {\r\n // this.paySplit1 = false;\r\n // } else {\r\n // this.paySplit2 = false;\r\n // }\r\n // }\r\n // }\r\n //\r\n // this.loadingScreenService.startLoading();\r\n // this.services.updateTransaction(\r\n // this.transactionId,\r\n // verifyPaymentStatus.errorCode === null ? '' : verifyPaymentStatus.errorCode,\r\n // verifyPaymentStatus.confirmationNumber === null ? '' : verifyPaymentStatus.confirmationNumber,\r\n // verifyPaymentStatus.authorizationNumber === null ? '' : verifyPaymentStatus.authorizationNumber,\r\n // verifyPaymentStatus.paymentStatus + '###' + verifyPaymentStatus.provisioningStatus,\r\n // verifyPaymentStatus.message === null ? '' : verifyPaymentStatus.message,\r\n // this.getTransactionStatus(verifyPaymentStatus.paymentStatus, verifyPaymentStatus.provisioningStatus),\r\n // sessionStorage.getItem('token'),\r\n // this.urlId,\r\n // this.amountToPay,\r\n // 'TELEMARKETING_PAY_TAXES',\r\n // this.paySplit1 ? 'split' : 'completed',\r\n // null, null, null, null, null, null\r\n // ).subscribe(data => {\r\n \r\n // this.loadingScreenService.stopLoading();\r\n //\r\n // if (!value) {\r\n // this.showDialogError('Disculpe, hemos tendido problemas procesando su pago, por favor llamar al 787-793-1253');\r\n // }\r\n //\r\n // });\r\n //\r\n // });\r\n if (sessionStorage.getItem('telemarketing_pay_tax') != null) {\r\n this.telemarketingPayTax = JSON.parse(atob(sessionStorage.getItem('telemarketing_pay_tax')));\r\n this.accountNumber = this.telemarketingPayTax.accountNumber;\r\n this.createdDate = this.telemarketingPayTax.createdDate;\r\n this.amount = this.telemarketingPayTax.amount;\r\n this.urlId = this.telemarketingPayTax.urlId;\r\n\r\n this.valuePayment = this.amount;\r\n this.valuePaymentSplit1 = this.valuePayment;\r\n this.valuePaymentSplit2 = 0;\r\n\r\n // todo: validar token previo para split\r\n }\r\n\r\n this.subscriberEmail = JSON.parse(atob(sessionStorage.getItem('getSubscriber'))).accountInfo.email;\r\n this.subscriberName = JSON.parse(atob(sessionStorage.getItem('getSubscriber'))).accountInfo.firstName;\r\n this.subscriberLastName = JSON.parse(atob(sessionStorage.getItem('getSubscriber'))).accountInfo.lastName;\r\n this.ban = atob(sessionStorage.getItem('subscriber'));\r\n }\r\n\r\n private async processPayment(value: boolean) {\r\n this.verifyPaymentStatus = JSON.parse(sessionStorage.getItem('verifyPaymentStatus'));\r\n\r\n if (value) {\r\n this.loadingScreenService.stopLoading();\r\n\r\n if (!this.splitPayment) {\r\n this.global.notif('Se ha efectuado el pago de la factura.');\r\n this.numAuthorization = sessionStorage.getItem('numAuthorization');\r\n sessionStorage.setItem('transactionId', this.transactionId);\r\n this.screenActual = 2;\r\n } else {\r\n }\r\n\r\n } else {\r\n\r\n // caso de error 129: expiracion de transaccion\r\n if (this.verifyPaymentStatus.errorNum === 129) {\r\n this.router.navigate(['']);\r\n }\r\n }\r\n\r\n if (value) {\r\n this.loadingScreenService.startLoading();\r\n this.services.updateTransaction(\r\n this.transactionId,\r\n this.verifyPaymentStatus.errorCode === null ? '' : this.verifyPaymentStatus.errorCode,\r\n this.verifyPaymentStatus.confirmationNumber === null ? '' : this.verifyPaymentStatus.confirmationNumber,\r\n this.verifyPaymentStatus.authorizationNumber === null ? '' : this.verifyPaymentStatus.authorizationNumber,\r\n this.verifyPaymentStatus.paymentStatus + '###' + this.verifyPaymentStatus.provisioningStatus,\r\n this.verifyPaymentStatus.message === null ? '' : this.verifyPaymentStatus.message,\r\n this.getTransactionStatus(this.verifyPaymentStatus.paymentStatus, this.verifyPaymentStatus.provisioningStatus),\r\n sessionStorage.getItem('token'),\r\n sessionStorage.getItem('urlId'),\r\n this.amountToPay,\r\n 'TELEMARKETING_PAY_TAXES',\r\n this.paySplit1 ? 'split' : 'completed',\r\n JSON.parse(atob(sessionStorage.getItem('getSubscriber'))).accountInfo.accountType,\r\n JSON.parse(atob(sessionStorage.getItem('getSubscriber'))).accountInfo.accountSubtype,\r\n this.accountNumber,\r\n this.ban,\r\n this.amount,\r\n this.subscriberName + ' ' + this.subscriberLastName\r\n ).subscribe(data => {\r\n this.loadingScreenService.stopLoading();\r\n\r\n if (!value) {\r\n this.showDialogError('Disculpe, hemos tendido problemas procesando su pago, por favor llamar al 787-793-1253');\r\n }\r\n\r\n });\r\n }\r\n }\r\n\r\n private showDialogError(error: string) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.disableClose = true;\r\n dialogConfig.autoFocus = true;\r\n // tslint:disable-next-line:max-line-length\r\n dialogConfig.data = {message: error, colorSi : 'colorRed', colorNo: undefined, btmOk: true, btmConfirm: false, labelOk: 'Aceptar', labelNo: undefined};\r\n const dialogRef = this.dialog.open(AlertasComponent, dialogConfig);\r\n dialogRef.afterClosed().subscribe(value => {\r\n this.router.navigate(['']);\r\n });\r\n }\r\n\r\n async goTo() {\r\n this.amountToPay = this.valuePayment;\r\n this.paymentValue = null;\r\n // tslint:disable-next-line:max-line-length\r\n const transaction = await this.services.createTransaction('MEPMMTCRDT', 'TELEMARKETING_PAY_TAXES', null, sessionStorage.getItem('token')).toPromise();\r\n // @ts-ignore\r\n this.transactionId = transaction.object.id;\r\n\r\n const typeMessage = 'payment';\r\n // tslint:disable-next-line:max-line-length\r\n this.global.newPayment(1, typeMessage, this.accountNumber, this.ban, this.valuePayment, this.subscriberEmail, this.subscriberName + ' ' + this.subscriberLastName, '', this.global.tokenMiClaro);\r\n }\r\n\r\n backToOptions() {\r\n this.router.navigate(['postpaid_select_option']);\r\n }\r\n // tslint:disable-next-line:use-lifecycle-interface\r\n ngOnDestroy() {\r\n this.paymentReceived.unsubscribe();\r\n }\r\n\r\n async goPaySplit1() {\r\n if (this.validateAmount()) {\r\n this.amountToPay = this.valuePaymentSplit1;\r\n\r\n this.loadingScreenService.startLoading();\r\n // todo: generar previo paymentToken\r\n const value = await this.services.addChildPayment(this.paymentToken, this.valuePaymentSplit1).toPromise();\r\n this.loadingScreenService.stopLoading();\r\n\r\n if (!value.hasError && value.errorNum === 0) {\r\n this.paySplit1 = true;\r\n const typeMessage = 'payment';\r\n this.redirectURL = value.redirectURL;\r\n // this.paymentToken = value.childPaymentToken;\r\n\r\n this.loadingScreenService.startLoading();\r\n // tslint:disable-next-line:max-line-length\r\n const transaction = await this.services.createTransaction('MEPMMTCRDT', 'TELEMARKETING_PAY_TAXES', value.childPaymentToken, sessionStorage.getItem('token')).toPromise();\r\n this.loadingScreenService.stopLoading();\r\n // @ts-ignore\r\n this.transactionId = transaction.object.id;\r\n\r\n // tslint:disable-next-line:max-line-length\r\n this.global.newPayment(5, typeMessage, this.accountNumber, this.ban, this.valuePaymentSplit1, this.subscriberEmail, this.subscriberName + ' ' + this.subscriberLastName, '', value.childPaymentToken, '', this.redirectURL);\r\n } else {\r\n this.global.notif('Ha Ocurrido un error Inicializando el pago, por favor intente nuevamente');\r\n }\r\n }\r\n }\r\n\r\n async goPaySplit2() {\r\n if (this.validateAmount()) {\r\n this.amountToPay = this.valuePaymentSplit2;\r\n\r\n this.loadingScreenService.startLoading();\r\n // todo: generar previo paymentToken\r\n const value = await this.services.addChildPayment(this.paymentToken, this.valuePaymentSplit2).toPromise();\r\n this.loadingScreenService.stopLoading();\r\n\r\n if (!value.hasError && value.errorNum === 0) {\r\n this.paySplit2 = true;\r\n const typeMessage = 'payment';\r\n this.redirectURL = value.redirectURL;\r\n\r\n // this.paymentToken = value.childPaymentToken;\r\n\r\n this.loadingScreenService.startLoading();\r\n // tslint:disable-next-line:max-line-length\r\n const transaction = await this.services.createTransaction('MEPMMTCRDT', 'TELEMARKETING_PAY_TAXES', value.childPaymentToken, sessionStorage.getItem('token')).toPromise();\r\n this.loadingScreenService.stopLoading();\r\n // @ts-ignore\r\n this.transactionId = transaction.object.id;\r\n\r\n // tslint:disable-next-line:max-line-length\r\n this.global.newPayment(5, typeMessage, this.accountNumber, this.ban, this.valuePaymentSplit2, this.subscriberEmail, this.subscriberName + ' ' + this.subscriberLastName, '', value.childPaymentToken, '', this.redirectURL);\r\n } else {\r\n this.global.notif('Ha Ocurrido un error Inicializando el pago, por favor intente nuevamente');\r\n }\r\n }\r\n }\r\n\r\n validateAmount() {\r\n if (this.valuePaymentSplit1 === this.amount) {\r\n return false;\r\n }\r\n if (this.valuePaymentSplit1 === (this.amount / 2)) {\r\n return false;\r\n }\r\n if (this.valuePaymentSplit1 < 5) {\r\n return false;\r\n }\r\n if (this.valuePaymentSplit1 > this.amount) {\r\n return false;\r\n }\r\n if (this.amount - this.valuePaymentSplit1 < 5) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n calculateValuePaymentSplit2() {\r\n this.valuePaymentSplit2 = parseFloat((this.amount - this.valuePaymentSplit1).toString()).toFixed(2);\r\n }\r\n\r\n goToSplitPaymentFinished() {\r\n this.global.notif('Se ha efectuado el pago de la factura.');\r\n this.screenActual = 2;\r\n }\r\n\r\n private getTransactionStatus(paymentStatus: string, provisioningStatus: string) {\r\n if (paymentStatus === 'BANK SUCCESS NOT PROVISIONABLE' && provisioningStatus === 'SPLIT TRANSACTION NOT PROVISIONABLE') {\r\n return 'approved';\r\n }\r\n if (paymentStatus === 'BANK PAYMENT SUCCESS' && provisioningStatus === 'PROVISIONED') {\r\n return 'provisioning';\r\n }\r\n if (paymentStatus === 'BANK PAYMENT SUCCESS' && provisioningStatus === 'EXTERNALLY PROVISIONED') {\r\n return 'provisioning';\r\n }\r\n if (paymentStatus === 'BANK PAYMENT SUCCESS' && provisioningStatus === 'PROVISIONING FAILED') {\r\n return 'noprovisioning';\r\n }\r\n return 'rejected';\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { SharedModule } from 'src/app/shared/shared.module';\r\nimport { ConfirmInstallmentTaxComponent } from './confirm-installment-tax/confirm-installment-tax.component';\r\nimport { ConfirmTelemarketingTaxComponent } from './confirm-telemarketing-tax/confirm-telemarketing-tax.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n ConfirmInstallmentTaxComponent,\r\n ConfirmTelemarketingTaxComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n SharedModule\r\n ],\r\n exports: [\r\n ConfirmInstallmentTaxComponent,\r\n ConfirmTelemarketingTaxComponent\r\n ]\r\n})\r\nexport class TaxModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ApiService } from '../../core/services/api-services/api.service';\r\nimport { GlobalService } from '../../core/services/global-services/global.service';\r\nimport { LoadingScreenService } from '../../core/services/loading-screen/loading-screen.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-update-email',\r\n templateUrl: './update-email.component.html',\r\n styleUrls: ['./update-email.component.sass']\r\n})\r\nexport class UpdateEmailComponent implements OnInit {\r\n public email;\r\n public email1;\r\n public email2;\r\n public submitted;\r\n public newEmail;\r\n public accountInfo: any;\r\n constructor(private router: Router,\r\n private services: ApiService,\r\n private global: GlobalService,\r\n private loadingScreenService: LoadingScreenService) { }\r\n\r\n ngOnInit() {\r\n this.email = JSON.parse(atob(sessionStorage.getItem('getSubscriber'))).accountInfo.email;\r\n this.submitted = true;\r\n this.email1 = '';\r\n this.email2 = '';\r\n }\r\n continueEmail() {\r\n this.accountInfo = JSON.parse(atob(sessionStorage.getItem('getSubscriber'))).accountInfo;\r\n if (this.email1 === '' && this.email2 === '') {\r\n this.newEmail = this.email;\r\n this.global.notif('Ingrese su Correo Electrónico');\r\n } else if (this.email1 === this.email2) {\r\n this.newEmail = this.email1;\r\n if (this.global.validarEmail(this.email1) == false) {\r\n this.global.notif('Estimado cliente, el nuevo Correo Electrónico tiene un formato incorrecto.');\r\n } else {\r\n this.loadingScreenService.startLoading();\r\n this.services.getVerifyEmail(this.newEmail).subscribe(data => {\r\n if (data.hasErrorField == false) {\r\n // tslint:disable-next-line:max-line-length\r\n this.services.updatePersonalData(sessionStorage.getItem('token'),\r\n btoa(this.accountInfo.BAN),\r\n btoa(this.accountInfo.subscriberNumber),\r\n btoa(this.accountInfo.subscriberNumber),\r\n // tslint:disable-next-line:no-shadowed-variable\r\n btoa(this.newEmail)).subscribe((data: any) => {\r\n this.loadingScreenService.stopLoading();\r\n if (data.HasError !== false) {\r\n // cableado provisionalmente data.HasError !== false\r\n this.global.notif(data.ErrorDesc);\r\n this.router.navigate(['postpaid_select_option']);\r\n } else {\r\n this.global.notif(data.ErrorDesc);\r\n }\r\n });\r\n } else {\r\n this.loadingScreenService.stopLoading();\r\n this.global.notif(data.errorDescField);\r\n }\r\n });\r\n }\r\n } else {\r\n this.global.notif('Los correos no coinciden.');\r\n }\r\n }\r\n}\r\n","
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n 1\r\n \r\n \r\n Ingrese datos\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n 2\r\n \r\n \r\n Monto a pagar\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n 3\r\n \r\n \r\n Pago\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n 4\r\n \r\n \r\n Confirmación\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Actualiza Tu Correo Electrónico\r\n
\r\n
\r\n
\r\n Mantén actualizado tu correo electrónico por el cual podrás recibir tu factura de\r\n manera electrónica.\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Todos los derechos reservados, Claro 2020\r\n
\r\n
\r\n
\r\n
","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UpdateEmailComponent } from './update-email.component';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { SharedModule } from 'src/app/shared/shared.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n UpdateEmailComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n SharedModule\r\n\r\n ],\r\n exports: [\r\n UpdateEmailComponent\r\n ]\r\n})\r\nexport class UpdateEmailModule { }\r\n","import { Component, OnInit, ViewEncapsulation, Inject } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\n\r\n@Component({\r\n selector: 'app-alertas',\r\n templateUrl: './alertas.component.html',\r\n styleUrls: ['./alertas.component.sass'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AlertasComponent implements OnInit {\r\n public btmOk = true;\r\n public labelOk = 'OK';\r\n public btmConfirm = false;\r\n public labelSi = 'SI';\r\n public labelNo = 'NO';\r\n public colorSi = '';\r\n public colorNo = '';\r\n public btmSession = false;\r\n public title = true;\r\n public session = false;\r\n public labelTitle = 'Aviso';\r\n public labelTitleHtml: string;\r\n public menssageError: string;\r\n public messageHtml = false;\r\n public labelHtml: string;\r\n public inverse = false;\r\n constructor(public matDialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any, private router: Router) {\r\n if (data.session != undefined) {\r\n this.session = data.session;\r\n }\r\n if (data.inverse != undefined) {\r\n this.inverse = data.inverse;\r\n }\r\n if ( data.colorSi != undefined) {\r\n this.colorSi = data.colorSi;\r\n }\r\n if (data.colorNo != undefined) {\r\n this.colorNo = data.colorNo;\r\n }\r\n if (data.title != undefined) {\r\n this.title = data.title;\r\n }\r\n if (data.labelTitle != undefined) {\r\n this.labelTitle = data.labelTitle;\r\n }\r\n if (data.labelTitleHtml != undefined) {\r\n this.labelTitleHtml = data.labelTitleHtml;\r\n }\r\n if (data.menssageError != undefined) {\r\n this.menssageError = data.menssageError;\r\n }\r\n if (data.labelOk != undefined) {\r\n this.labelOk = data.labelOk;\r\n }\r\n if (data.btmOk != undefined) {\r\n this.btmOk = data.btmOk;\r\n }\r\n if (data.btmConfirm != undefined) {\r\n this.btmConfirm = data.btmConfirm;\r\n if (this.btmConfirm == true) {\r\n this.btmOk = false;\r\n }\r\n }\r\n if (data.messageHtml != undefined) {\r\n if (data.messageHtml == true) {\r\n this.messageHtml = true;\r\n const labelHtml = data.message.replace('href=\"http://miclaroreferals.claroinfo.com/forgotpassword\"', 'href=\"/forgotpassword\"');\r\n this.labelHtml = labelHtml.replace('target=\"_blank\"', '');\r\n }\r\n }\r\n if (data.btmSession != undefined) {\r\n this.btmSession = data.btmSession;\r\n }\r\n if (data.labelSi != undefined) {\r\n this.labelSi = data.labelSi;\r\n }\r\n if (data.labelNo != undefined) {\r\n this.labelNo = data.labelNo;\r\n }\r\n }\r\n ngOnInit() {}\r\n continue() {\r\n this.matDialogRef.close('continue');\r\n }\r\n public cancel() {\r\n this.matDialogRef.close('cancel');\r\n }\r\n public ok() {\r\n this.matDialogRef.close();\r\n }\r\n public okSession() {\r\n this.router.navigate(['login']);\r\n this.matDialogRef.close();\r\n }\r\n}\r\n","
\r\n

{{this.labelTitle}}

\r\n
\r\n
\r\n {{data.labelTitleHtml}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n Incidencia: {{data.menssageError}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n ¿Desea que unos de nuestros agentes de servicio al cliente te asista en línea a través de nuestro Chat?\r\n
\r\n
\r\n
\r\n {{data.message}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n","import { Component, ElementRef, EventEmitter, HostListener, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\nimport { PaymentIframeService } from './payment-iframe.services';\r\nimport { LoadingScreenService } from 'src/app/core/services/loading-screen/loading-screen.service';\r\n@Component({\r\n selector: 'app-iframe-payment',\r\n templateUrl: './iframe-payment.component.html',\r\n styleUrls: ['./iframe-payment.component.sass']\r\n})\r\nexport class IframePaymentComponent implements OnInit {\r\n @Input() tokenSSO: string = '';\r\n @Input() transactionType?:string = 'payment';\r\n @Input() startTime?:number=0;\r\n @Input() url: string = '';\r\n @Input() width: string = '100%';\r\n @Input() height: string = '460px';\r\n @Input() frameborder:any = 1;\r\n @Input() scrolling: string = '';\r\n @Input() token?:any='';\r\n @Input() firstName:any;\r\n @Input() lastName:any;\r\n @Input() email:any;\r\n @Input() amount:any;\r\n @Input() selectBan:any;\r\n @Input() currentSuscriber:any;\r\n @Input() locationId:any;\r\n @Input() invoiceNumber:any;\r\n @Input() installmentCount:any;\r\n @Input() provision:any=true;\r\n @Input() displayConfirmation:any=true;\r\n @Input() emailNotification:any=true;\r\n @Input() showInstrument:any=true;\r\n @Input() stroeInstrument:any=true;\r\n @Input() useBanZipCode:any=true;\r\n @Output() result = new EventEmitter();\r\n @Output() outLoadIframe = new EventEmitter();\r\n\r\n @Output() initPayment = new EventEmitter();\r\n @Output() cancelPayment = new EventEmitter();\r\n @Output() hasDimensions = new EventEmitter();\r\n @Output() errorMessage = new EventEmitter();\r\n public errorTime:number=10000;\r\n public urlSafe: SafeResourceUrl;\r\n public loadIframe: Boolean = false;\r\n public authorizationNumber: string = '';\r\n public code: string = '';\r\n public date: string = '';\r\n public description: string = '';\r\n public operationId: string = '';\r\n public operationType: string = '';\r\n public paymentMethod: string = '';\r\n public success: boolean = false;\r\n public provisioning: any;\r\n public storedInstrument: any;\r\n public dataResult: any;\r\n public paymentCard: any;\r\n public showAccordion=true;\r\n public state: string='';\r\n public messageArrived: boolean=false;\r\n public textMessageError='
En este momento estamos presentando inconvenientes en nuestro sistema.
Por favor, íntentelo nuevamente.
';\r\n @ViewChild('iframePaymentId') iframe2: ElementRef;\r\n @HostListener('window:message', ['$event']) onPostMessage(e:any) {\r\n if (typeof e.data != \"object\") {\r\n try {\r\n this.dataResult = JSON.parse(atob(e.data));\r\n if(this.dataResult.state==\"dimensions\"){\r\n this.messageArrived=true;\r\n this.height=this.dataResult.data.height;\r\n this.hasDimensions.next(this.height);\r\n }\r\n if(this.dataResult.state==\"start\"){\r\n this.initPayment.next();\r\n }\r\n if(this.dataResult.state==\"canceled\"){\r\n this.cancelPayment.next();\r\n }\r\n if (this.dataResult.state == \"ath\") {\r\n this.loadingScreenService.startLoading();\r\n this.service.athPinpadURL = this.sanitizer.bypassSecurityTrustResourceUrl(this.dataResult.data.athURL);\r\n sessionStorage.setItem('paymentId', this.dataResult.data.paymentID);\r\n setTimeout(()=>{\r\n this.loadingScreenService.stopLoading();\r\n }, 3000)\r\n }\r\n if(this.dataResult.state==\"paymentResult\"){\r\n if(this.dataResult.data!=\"\"){\r\n const stringData = this.dataResult.data\r\n const result = JSON.parse(stringData).paymentResult\r\n this.dataResult=JSON.parse(atob(result));\r\n if(this.dataResult.success==true){\r\n this.authorizationNumber = this.dataResult.authorizationNumber;\r\n this.code = this.dataResult.code;\r\n this.date = this.dataResult.date;\r\n this.description = this.dataResult.description;\r\n this.operationId = this.dataResult.operationId;\r\n this.operationType = this.dataResult.operationType;\r\n this.paymentMethod = this.dataResult.paymentMethod;\r\n this.success = this.dataResult.success;\r\n this.provisioning = this.dataResult.provisioning;\r\n this.storedInstrument = this.dataResult.storedInstrument;\r\n this.paymentCard= this.dataResult.paymentCard;\r\n this.result.next(this.dataResult);\r\n }\r\n else{\r\n this.operationId = this.dataResult.operationId;\r\n if(this.dataResult.description!=\"\"){\r\n this.textMessageError=this.dataResult.description;\r\n }\r\n this.code = this.dataResult.code;\r\n this.state='error';\r\n }\r\n }\r\n else{\r\n this.dataResult.description=this.textMessageError;\r\n }\r\n this.result.next(this.dataResult);\r\n }\r\n }\r\n catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n }\r\n constructor(public sanitizer: DomSanitizer, private service: PaymentIframeService, private loadingScreenService: LoadingScreenService) {\r\n this.urlSafe = this.sanitizer.bypassSecurityTrustResourceUrl('');\r\n }\r\n ngOnInit(): void {\r\n this.init();\r\n }\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n if(this.messageArrived==false){\r\n this.state='error';\r\n this.errorMessage.next(true);\r\n }\r\n }, this.errorTime);\r\n }\r\n tryAgain(){\r\n this.init();\r\n this.state='';\r\n }\r\n init() {\r\n this.service.getIframe(this.token,this.tokenSSO,this.firstName,this.lastName,this.email,this.transactionType,this.amount,this.selectBan,this.currentSuscriber,this.provision,this.displayConfirmation,this.emailNotification,this.showInstrument,this.stroeInstrument,this.useBanZipCode,\"\",\"\",\"\",\"\").subscribe((data: any) => {\r\n if (data.errorInfo) {\r\n if (data.errorInfo.hasError == false) {\r\n let newURL = data.url.toString().replace('https://solution.claropr.com','http://localhost:4201' ) // test local\r\n this.loadIframe = true;\r\n setTimeout(()=>{\r\n this.urlSafe = this.sanitizer.bypassSecurityTrustResourceUrl(data.url + \"&showAccordion=\"+this.showAccordion+\"&startTime=\"+this.startTime);\r\n // this.urlSafe = this.sanitizer.bypassSecurityTrustResourceUrl(newURL + \"&showAccordion=\"+this.showAccordion+\"&startTime=\"+this.startTime);\r\n }, 2000)\r\n setTimeout(() => {\r\n if(this.messageArrived==false) {\r\n this.state='error';\r\n this.errorMessage.next(true);\r\n }\r\n }, this.errorTime);\r\n }\r\n else {\r\n this.state='error';\r\n this.errorMessage.next(true);\r\n }\r\n }\r\n else{\r\n this.state='error';\r\n this.errorMessage.next(true);\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Router } from '@angular/router';\r\nimport { Observable } from 'rxjs/internal/Observable';\r\nexport interface dataCreateOrder {\r\n catalogId: number,\r\n catalogName: string,\r\n errorDesc: string,\r\n errorInter: string,\r\n errorNum: number,\r\n hasError: boolean,\r\n plans: object,\r\n productId: number\r\n}\r\ninterface token {\r\n token: string\r\n}\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PaymentIframeService {\r\n athPinpadURL: any = \"\"\r\n private urlService: string = \"/api\";\r\n public httpOptions = {\r\n headers: new HttpHeaders({\r\n Authorization: `Bearer `\r\n })\r\n };\r\n constructor(private http: HttpClient, private router: Router) { }\r\n setConfig(token:string,basePath:string) {\r\n const result = new Observable(observer => {\r\n //this.global.basePath=basePath;\r\n if(sessionStorage.getItem(\"token\")!=null && sessionStorage.getItem(\"token\")!=undefined){\r\n //this.global.token=token;\r\n }\r\n this.httpOptions = {\r\n headers: new HttpHeaders({\r\n //Authorization: `Bearer ${this.global.token}`\r\n })\r\n };\r\n observer.next();\r\n observer.complete();\r\n observer.unsubscribe();\r\n });\r\n return result;\r\n }\r\n setToken(token:any){\r\n if(token!=null && token!=undefined){\r\n sessionStorage.setItem(\"token\", token);\r\n this.httpOptions = {\r\n headers: new HttpHeaders({\r\n Authorization: `Bearer ${token}`\r\n })\r\n };\r\n }\r\n }\r\n getIframe(token:string,ssoToken:string,firstName:string,lastName:string,email:string,transactionType:string,amount:string,selectBan:string,currentSuscriber:string,provision:boolean,displayConfirmation:boolean,emailNotification:boolean,showInstrument:boolean,stroeInstrument:boolean,useBanZipCode:boolean\r\n ,locationId:string,invoiceNumber:string,installmentCount:string,paymentItems:string) {\r\n this.setToken(token);\r\n var form = new FormData();\r\n form.append(\"ssoToken\", ssoToken);\r\n form.append(\"firstName\", firstName);\r\n form.append(\"lastName\", lastName);\r\n form.append(\"email\", email);\r\n form.append(\"transactionType\", transactionType);\r\n form.append(\"amount\", amount);\r\n form.append(\"selectBan\", selectBan);\r\n form.append(\"currentSuscriber\", currentSuscriber);\r\n form.append(\"provision\", provision.toString());\r\n form.append(\"displayConfirmation\", displayConfirmation.toString());\r\n form.append(\"emailNotification\", emailNotification.toString());\r\n form.append(\"showInstrument\", showInstrument.toString());\r\n form.append(\"stroeInstrument\", stroeInstrument.toString());\r\n form.append(\"useBanZipCode\", useBanZipCode.toString());\r\n form.append(\"locationId\", locationId);\r\n form.append(\"invoiceNumber\", invoiceNumber);\r\n form.append(\"installmentCount\", installmentCount);\r\n form.append(\"paymentItems\", paymentItems);\r\n return this.http.post(this.urlService + '/Payment/getIframe', form, this.httpOptions);\r\n }\r\n}\r\n","import { Component, OnDestroy, OnInit, Input } from '@angular/core';\r\nimport { LoadingScreenService } from '../../../core/services/loading-screen/loading-screen.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { Router } from '@angular/router';\r\nimport { GlobalService } from '../../../core/services/global-services/global.service';\r\n@Component({\r\n selector: 'app-loading-screen',\r\n templateUrl: './loading-screen.component.html',\r\n styleUrls: ['./loading-screen.component.sass']\r\n})\r\nexport class LoadingScreenComponent implements OnInit, OnDestroy {\r\n\r\n @Input() status: boolean;\r\n public loading = false;\r\n public statusTextVisible = false;\r\n public text = '';\r\n public session = '';\r\n public btm = false;\r\n loadingSubscription: Subscription;\r\n statusText: Subscription;\r\n constructor(private loadingScreenService: LoadingScreenService, private router: Router) {}\r\n\r\n ngOnInit() {\r\n if (this.status != undefined) {\r\n this.loading = this.status;\r\n }\r\n this.statusText = this.loadingScreenService.statusText.subscribe((value: any) => {\r\n this.statusTextVisible = value[0];\r\n this.text = value[1];\r\n this.btm = value[2];\r\n this.session = value[3];\r\n });\r\n this.loadingSubscription = this.loadingScreenService.loadingStatus.subscribe((value: boolean) => {\r\n this.loading = value;\r\n });\r\n }\r\n close() {\r\n this.loadingScreenService.stopLoading();\r\n if (this.session == 'referred') {\r\n this.router.navigate(['home']);\r\n }\r\n }\r\n ngOnDestroy() {\r\n this.statusText.unsubscribe();\r\n this.loadingSubscription.unsubscribe();\r\n }\r\n}\r\n\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {{this.text}}\r\n
\r\n
\r\n
\r\n
Cancelar
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { GlobalService } from 'src/app/core/services/global-services/global.service';\r\nimport { ExecutePaymentService } from 'src/app/core/services/execute-payment/execute-payment.service';\r\nimport { LoadingScreenService } from 'src/app/core/services/loading-screen/loading-screen.service';\r\n\r\n@Component({\r\n selector: 'app-payment-modal',\r\n templateUrl: './payment-modal.component.html',\r\n styleUrls: ['./payment-modal.component.sass']\r\n})\r\nexport class PaymentModalComponent implements OnInit {\r\n \r\n @Output() screenActual = new EventEmitter();\r\n \r\n constructor(public executePaymentService: ExecutePaymentService,\r\n private loadingScreenService: LoadingScreenService,\r\n public global: GlobalService, private router: Router) {\r\n }\r\n\r\n ngOnInit(): void {\r\n \r\n }\r\n\r\n executAuthorizePayment() {\r\n if (this.executePaymentService.validateCreditCardForm()) {\r\n this.loadingScreenService.startLoading(true, 'Por favor espere, estamos verificando su pago.', false, null);\r\n this.executePaymentService.requestBodyCreationforAuthorizePayment()\r\n .then(\r\n result => {\r\n this.loadingScreenService.stopLoading();\r\n this.executePaymentService.applyPaymentValidation = !this.executePaymentService.applyPaymentValidation;\r\n const isValid = this.executePaymentService.validateResult(result);\r\n if (isValid) {\r\n this.screenActual.emit(this.executePaymentService.paymentOk(result));\r\n this.executePaymentService.updateTransaction(result, true);\r\n } else {\r\n this.executePaymentService.errorDisplay(result);\r\n }\r\n\r\n },\r\n error => {\r\n this.loadingScreenService.stopLoading();\r\n this.global.notif(error);\r\n this.router.navigate(['login']);\r\n }\r\n );\r\n }\r\n }\r\n\r\n validateAddressForm() {\r\n // validate errors in address form:\r\n this.executePaymentService.initializeAddressErrors();\r\n if (!this.executePaymentService.address.address1) {\r\n this.executePaymentService.address.address1Error = true;\r\n return;\r\n }\r\n if (!this.executePaymentService.address.city) {\r\n this.executePaymentService.address.cityError = true;\r\n return;\r\n }\r\n if (!this.executePaymentService.address.state) {\r\n this.executePaymentService.address.stateError = true;\r\n return;\r\n }\r\n if (!this.executePaymentService.address.zipCode) {\r\n this.executePaymentService.address.zipCodeError = true;\r\n return;\r\n }\r\n if (this.executePaymentService.address.zipCode.length !== 5) {\r\n this.executePaymentService.address.zipCodeErrorFormat = true;\r\n return;\r\n }\r\n\r\n this.validateZip(this.executePaymentService.address.zipCode);\r\n\r\n }\r\n\r\n continueWithPaymentMethod() {\r\n const data = this.executePaymentService.serviceAddressData;\r\n this.executePaymentService.isFirstStep = false;\r\n this.executePaymentService.addressFieldsNeedToBeFilled = false;\r\n this.executePaymentService.isValidAddress = true;\r\n this.executePaymentService.applyPaymentValidation = true;\r\n this.executePaymentService.fillingApplyPaymentRequest(data.paymentOptionId, data.productID, data.offerId, data.valueAmount);\r\n }\r\n\r\n cancel() {\r\n this.executePaymentService.initData();\r\n this.executePaymentService.addressFieldsNeedToBeFilled = false;\r\n }\r\n\r\n onChangeState(state: string) {\r\n this.executePaymentService.address.state = state;\r\n }\r\n\r\n validateZip(zipCode: string) {\r\n if (this.executePaymentService.isNumericValidCharacter(zipCode)) {\r\n this.executePaymentService.address.zipCodeErrorFormat = true;\r\n this.executePaymentService.address.zipCode = '';\r\n return;\r\n } else {\r\n this.continueWithPaymentMethod();\r\n }\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n
Método de Pago
\r\n
\r\n
\r\n
\r\n
\r\n Por favor, selecione un método de pago para continuar con el proceso\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
Cancelar\r\n
\r\n
Continuar
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
Actualice Dirección Física
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n Este campo es obligatorio\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n Este campo es obligatorio\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Este campo es obligatorio\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Este campo es obligatorio\r\n \r\n \r\n Debe ser de 5 digitos y solo números son permitidos\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
Regresar\r\n
\r\n
Continuar
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n\r\n\r\n \"\"\r\n \"\"\r\n \"\"\r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

* Titular

\r\n \r\n
\r\n\r\n
\r\n
\r\n

* Numero de Tarjeta

\r\n \r\n \r\n Tarjeta Inválida\r\n \r\n \r\n Este campo es obligatorio\r\n \r\n
\r\n
\r\n

* CCV

\r\n \r\n \r\n Este campo es obligatorio\r\n \r\n \r\n Intente nuevamente\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n

* Fecha de Expiración

\r\n
\r\n \r\n \r\n {{ item }}\r\n \r\n\r\n
/
\r\n \r\n \r\n {{ item }}\r\n \r\n \r\n Tarjeta vencida, verifique información\r\n \r\n
\r\n
\r\n
\r\n

* Zip Code

\r\n \r\n \r\n Zip code invalido\r\n \r\n \r\n Este campo es obligatorio\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Cancelar\r\n
\r\n
Continuar
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { GlobalService } from 'src/app/core/services/global-services/global.service';\r\n\r\n@Component({\r\n selector: 'app-splash',\r\n templateUrl: './splash.component.html',\r\n styleUrls: ['./splash.component.sass']\r\n})\r\nexport class SplashComponent implements OnInit {\r\n\r\n constructor(public global: GlobalService) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n close(){\r\n this.global.showSplash = false;\r\n }\r\n\r\n goStore(){\r\n const androidUrl = 'https://play.google.com/store/apps/details?id=com.todoclaro.miclaroapp&hl=en&pli=1';\r\n const iosUrl = 'https://apps.apple.com/us/app/mi-claro-pr/id775322054'\r\n const deviceInfo = navigator.userAgent\r\n var selectedUrl = \"\"\r\n \r\n if (deviceInfo.indexOf('Android') !== -1) {\r\n selectedUrl = androidUrl\r\n } else if (deviceInfo.indexOf('iPhone') !== -1) {\r\n selectedUrl = iosUrl\r\n } else {\r\n this.global.showSplash = false;\r\n }\r\n\r\n this.goThen(selectedUrl)\r\n\r\n }\r\n\r\n goThen(url: string) {\r\n if (url) {\r\n window.open(url, '_blank')\r\n this.global.showSplash = false;\r\n }\r\n \r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
x
\r\n
\r\n \r\n
\r\n \"\"\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.sass']\r\n})\r\nexport class FooterComponent implements OnInit {\r\n\r\n constructor( private router: Router) { }\r\n ngOnInit() {\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Todos los derechos reservados, Claro 2021\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { GlobalService } from 'src/app/core/services/global-services/global.service';\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.sass']\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n\r\n constructor(private router: Router,public global: GlobalService) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n goHome() {\r\n this.global.setStep(2);\r\n this.global.isStep1 = true;\r\n this.global.isPrepaid = false;\r\n this.global.onPrepaidStep2 = false;\r\n this.global.currentScreen=1;\r\n this.router.navigate(['login']);\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport { GlobalService } from '../../../core/services/global-services/global.service';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-step',\r\n templateUrl: './step.component.html',\r\n styleUrls: ['./step.component.sass']\r\n})\r\nexport class StepComponent implements OnInit, OnChanges {\r\n @Input() step;\r\n checkStep: Subscription;\r\n second = '';\r\n third = '';\r\n four = '';\r\n constructor(public global: GlobalService) {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setClass(Number(this.step));\r\n this.checkStep = this.global.stepCheck.subscribe((value: number) => {\r\n this.setClass(value);\r\n });\r\n }\r\n\r\n setClass(step) {\r\n this.second = '';\r\n this.third = '';\r\n\r\n if (step === 2) {\r\n this.second = 'on';\r\n this.third = '';\r\n }\r\n if (step === 3) {\r\n this.second = 'on';\r\n this.third = 'on';\r\n }\r\n if (step === 4) {\r\n this.second = 'on';\r\n this.third = 'on';\r\n this.four = 'on';\r\n }\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n \r\n 1\r\n \r\n \r\n Ingrese datos\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n 2\r\n \r\n \r\n Monto a pagar\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n 3\r\n \r\n \r\n Pago\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n 4\r\n \r\n \r\n Confirmación\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-collapse',\r\n templateUrl: './collapse.component.html',\r\n styleUrls: ['./collapse.component.sass']\r\n})\r\nexport class CollapseComponent implements OnInit {\r\n @Input() content;\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n updateExpand(index) {\r\n const content: any = this.content;\r\n content.content[index].expand = !content.content[index].expand;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n {{content.title}}\r\n \r\n \r\n
\r\n
0}\">\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n {{content.description}}\r\n \r\n {{content.link1text}}\r\n \r\n {{content.description2}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnDestroy, OnInit, Input } from '@angular/core';\r\nimport { LoadingScreenService } from '../../../core/services/loading-screen/loading-screen.service';\r\nimport { Subscription } from 'rxjs';\r\n\r\n\r\n@Component({\r\n selector: 'app-loading-screen-min',\r\n templateUrl: './loading-screen-min.component.html',\r\n styleUrls: ['./loading-screen-min.component.sass']\r\n})\r\nexport class LoadingScreenMinComponent implements OnInit, OnDestroy {\r\n\r\n @Input() status: boolean;\r\n @Input() session: number;\r\n @Input() width: string;\r\n @Input() heigth: string;\r\n loadingMin = false;\r\n loadingMin2 = false;\r\n loadingSubscription: Subscription;\r\n loadingSubscription2: Subscription;\r\n\r\n constructor(private loadingScreenService: LoadingScreenService) {}\r\n\r\n ngOnInit() {\r\n\r\n if (this.status != undefined) {\r\n if (this.session == 1) {\r\n this.loadingMin = this.status;\r\n }\r\n if (this.session == 2) {\r\n this.loadingMin2 = this.status;\r\n }\r\n }\r\n\r\n this.loadingSubscription = this.loadingScreenService.loadingMinStatus.subscribe((value: boolean) => {\r\n this.loadingMin = value;\r\n });\r\n this.loadingSubscription2 = this.loadingScreenService.loadingMin2Status.subscribe((value: boolean) => {\r\n this.loadingMin2 = value;\r\n });\r\n\r\n }\r\n ngOnDestroy() {\r\n this.loadingSubscription.unsubscribe();\r\n this.loadingSubscription2.unsubscribe();\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AppComponent } from '../../../app.component';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material';\r\nimport { AlertasComponent } from '../../components/alertas/alertas.component';\r\nimport { GlobalService } from '../../../core/services/global-services/global.service';\r\nimport { Subscription } from 'rxjs';\r\n@Component({\r\n selector: 'app-menu',\r\n templateUrl: './menu.component.html',\r\n styleUrls: ['./menu.component.sass']\r\n})\r\nexport class MenuComponent implements OnInit {\r\n constructor(public global: GlobalService,\r\n public dialog: MatDialog,\r\n private router: Router,\r\n public appComponent: AppComponent) { }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n // tslint:disable-next-line:use-lifecycle-interface\r\n ngAfterViewInit() {\r\n\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { GlobalService } from '../../../core/services/global-services/global.service';\r\n@Component({\r\n selector: 'app-options',\r\n templateUrl: './options.component.html',\r\n styleUrls: ['./options.component.sass']\r\n})\r\nexport class OptionsComponent implements OnInit {\r\n public statusOn = 0;\r\n public statusRadio = [false, false];\r\n constructor(private global: GlobalService) { }\r\n\r\n ngOnInit() {\r\n }\r\n changeType(type: number) {\r\n this.global.validateSession();\r\n this.statusOn = type;\r\n if (type == 1) {\r\n this.statusRadio[0] = true;\r\n this.statusRadio[1] = false;\r\n } else {\r\n this.statusRadio[0] = false;\r\n this.statusRadio[1] = true;\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n Móvil\r\n
\r\n\r\n
\r\n Telefonía Fija\r\n
\r\n
","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SafeHtmlPipe } from 'src/app/components/safe-html/safe-html.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n SafeHtmlPipe\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n SafeHtmlPipe\r\n ]\r\n})\r\nexport class SafeHtmlPipeModule {\r\n}","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AlertasComponent } from './components/alertas/alertas.component';\r\nimport { CollapseComponent } from './not-used-in-the-project/collapse/collapse.component';\r\nimport { LoadingScreenComponent } from './components/loading-screen/loading-screen.component';\r\nimport { LoadingScreenMinComponent } from './not-used-in-the-project/loading-screen-min/loading-screen-min.component';\r\nimport { OptionsComponent } from './not-used-in-the-project/options/options.component';\r\nimport { PaymentModalComponent } from './components/payment-modal/payment-modal.component';\r\nimport { FooterComponent } from './layout/footer/footer.component';\r\nimport { MenuComponent } from './not-used-in-the-project/menu/menu.component';\r\nimport {\r\n MatButtonModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatNativeDateModule,\r\n MatRadioModule,\r\n MatTooltipModule,\r\n MatSelectModule,\r\n MatSlideToggleModule } from '@angular/material';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { OnlyAmountDirective } from '../core/directives/only-amount.directive';\r\nimport { OnlyNumberDirective } from '../core/directives/only-number.directive';\r\nimport { ZipCodeDirective } from '../core/directives/zip-code.directive';\r\nimport { HeaderComponent } from './layout/header/header.component';\r\nimport { StepComponent } from './layout/step/step.component';\r\nimport { SplashComponent } from './components/splash/splash.component';\r\nimport { IframePaymentComponent } from './components/iframe-payment/iframe-payment.component';\r\nimport { PaymentDeclinedComponent } from '../core/component/payment-declined/payment-declined.component';\r\nimport { SafeHtmlPipeModule } from './safe-html-pipe/safe-html-pipe.module';\r\nimport { ChatComponent } from '../pages/chat/chat.component';\r\n\r\nconst materialModules = [\r\n MatSelectModule,\r\n MatRadioModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatFormFieldModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n MatInputModule,\r\n MatDialogModule,\r\n MatSlideToggleModule\r\n];\r\n\r\n@NgModule({\r\n declarations: [\r\n AlertasComponent,\r\n CollapseComponent,\r\n LoadingScreenComponent,\r\n LoadingScreenMinComponent,\r\n OptionsComponent,\r\n PaymentModalComponent,\r\n FooterComponent,\r\n MenuComponent,\r\n OnlyAmountDirective,\r\n OnlyNumberDirective,\r\n ZipCodeDirective,\r\n HeaderComponent,\r\n StepComponent,\r\n SplashComponent,\r\n IframePaymentComponent,\r\n PaymentDeclinedComponent,\r\n ChatComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n SafeHtmlPipeModule,\r\n materialModules,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ],\r\n exports: [\r\n AlertasComponent,\r\n CollapseComponent,\r\n LoadingScreenComponent,\r\n LoadingScreenMinComponent,\r\n OptionsComponent,\r\n PaymentModalComponent,\r\n FooterComponent,\r\n MenuComponent,\r\n OnlyAmountDirective,\r\n OnlyNumberDirective,\r\n ZipCodeDirective,\r\n HeaderComponent,\r\n StepComponent,\r\n SplashComponent,\r\n IframePaymentComponent,\r\n SafeHtmlPipeModule,\r\n PaymentDeclinedComponent,\r\n ChatComponent\r\n ]\r\n})\r\nexport class SharedModule { }\r\n","class chat {\r\n constructor() {\r\n this.serverUrl = 'http://chatqa.com/api/chat/chatUrl';\r\n this.type = '';\r\n this.title = '';\r\n this.token = '';\r\n this.SSOAccessToken = '';\r\n this.region = '';\r\n this.category = '';\r\n this.id = '';\r\n this.origin = '';\r\n this.customerName = '';\r\n this.accountNumber = '';\r\n this.email = '';\r\n this.appType = '';\r\n }\r\n irChatURL() {\r\n const params = new URLSearchParams(window.location.search);\r\n this.type = params.get('type');\r\n this.title = params.get('title');\r\n this.token = params.get('token');\r\n this.SSOAccessToken = params.get('SSOAccessToken');\r\n this.region = params.get('region');\r\n this.category = params.get('category');\r\n this.id = params.get('id');\r\n this.origin = params.get('origin');\r\n this.customerName = params.get('customerName');\r\n this.accountNumber = params.get('accountNumber');\r\n this.email = params.get('email');\r\n this.appType = params.get('appType');\r\n this.getChat();\r\n }\r\n goToChat() {\r\n this.getChat();\r\n }\r\n getChat() {\r\n const datos = {\r\n token: this.SSOAccessToken,\r\n Region: this.region,\r\n Category: this.category,\r\n Id: this.id,\r\n Origin: this.origin,\r\n CustomerName: this.customerName,\r\n AccountNumber: this.accountNumber,\r\n Email: this.email,\r\n AppType: this.appType\r\n };\r\n console.log(datos);\r\n fetch(this.serverUrl, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(datos)\r\n })\r\n .then(response => response.json())\r\n .then(data => {\r\n if (data.hasError == false) {\r\n this.loadChat(data.url, this.title, this.type);\r\n }\r\n else {\r\n alert(data.errorDisplay)\r\n }\r\n })\r\n .catch(error => {\r\n alert('Error durante la solicitud del chat.', error);\r\n });\r\n }\r\n loadChat(url, title = '', type = '') {\r\n if (type == 'pop') {\r\n var wind = window.open(url, title, 'width=400,height=580,scrollbars=NO');\r\n if (wind == null) {\r\n alert('The popup has been blocked please unblock it in the browser settings.');\r\n }\r\n }\r\n else {\r\n window.location.href = url;\r\n }\r\n }\r\n}\r\nexport default chat;","export const environment = {\r\n production: false,\r\n newServiceUrl: 'https://wsloginappqa.claropr.com/api/',\r\n localApi: false,\r\n deployAssetsPath: '',\r\n version: '001'\r\n};\r\n\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","/* (ignored) */"]}