UNPKG

ngx-niubiz

Version:
62 lines 9.15 kB
import { Inject, Injectable } from '@angular/core'; import { DOCUMENT } from '@angular/common'; import { catchError } from 'rxjs'; import * as i0 from "@angular/core"; import * as i1 from "../ngx-niubiz.service"; export class ScriptLoaderService { constructor(niubizService, document) { this.niubizService = niubizService; this.document = document; } loadScript(developerMode = true) { const apiNiubizPRD = 'https://static-content.vnforapps.com/v2/js/checkout.js'; const apiNiubizTest = 'https://static-content-qas.vnforapps.com/v2/js/checkout.js?qa=true'; return new Promise((resolve, reject) => { const script = this.document.createElement('script'); script.src = developerMode ? apiNiubizTest : apiNiubizPRD; script.onload = () => resolve(); script.onerror = () => reject(new Error(`Failed to load script ${developerMode ? apiNiubizTest : apiNiubizPRD}`)); this.document.head.appendChild(script); }); } async initializeCheckout(config, onSuccess, onFailed, developerMode = true) { try { await this.loadScript(developerMode).catch(error => catchError(error)); if (typeof window.VisanetCheckout !== 'undefined') { window.VisanetCheckout.configure(config); window.VisanetCheckout.open(); window.VisanetCheckout.configuration.complete = (params) => this.procesar(config, params, onSuccess, onFailed); } else { console.error('El script de Visanet no se ha cargado correctamente'); } } catch (error) { console.error('Error al cargar el script de Visanet:', error); } return Promise.resolve(); } procesar(config, params, onSuccess, onFailed) { this.niubizService.getAuthorization(config, params).then(async (response) => { console.log('Authorization: ', response); if (response.data.isSuccess) { onSuccess.emit(); } else { onFailed.emit(); } }); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ScriptLoaderService, deps: [{ token: i1.NgxNiubizService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ScriptLoaderService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ScriptLoaderService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [{ type: i1.NgxNiubizService }, { type: Document, decorators: [{ type: Inject, args: [DOCUMENT] }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyaXB0LWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5pdWJpei9zcmMvbGliL3NlcnZpY2VzL3NjcmlwdC1sb2FkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLE1BQU0sRUFBRSxVQUFVLEVBQStCLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7QUFZOUMsTUFBTSxPQUFPLG1CQUFtQjtJQUU5QixZQUNVLGFBQStCLEVBQ2IsUUFBa0I7UUFEcEMsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQ2IsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUU5QyxDQUFDO0lBRUQsVUFBVSxDQUFFLGdCQUF5QixJQUFJO1FBRXZDLE1BQU0sWUFBWSxHQUFHLHdEQUF3RCxDQUFDO1FBQzlFLE1BQU0sYUFBYSxHQUFHLG9FQUFvRSxDQUFDO1FBRTNGLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDckQsTUFBTSxDQUFDLEdBQUcsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO1lBQzFELE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDaEMsTUFBTSxDQUFDLE9BQU8sR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMseUJBQXlCLGFBQWEsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFBLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDakgsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxNQUFXLEVBQUUsU0FBNkIsRUFBRSxRQUE0QixFQUFFLGdCQUF5QixJQUFJO1FBQzlILElBQUksQ0FBQztZQUVILE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUN2RSxJQUFJLE9BQU8sTUFBTSxDQUFDLGVBQWUsS0FBSyxXQUFXLEVBQUUsQ0FBQztnQkFDbEQsTUFBTSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3pDLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQzlCLE1BQU0sQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLFFBQVEsR0FBRyxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUN0SCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxDQUFDLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO1lBQ3ZFLENBQUM7UUFDSCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsdUNBQXVDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUVELE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxRQUFRLENBQUMsTUFBVyxFQUFFLE1BQVcsRUFBRSxTQUE2QixFQUFFLFFBQTRCO1FBQzVGLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDckQsS0FBSyxFQUFDLFFBQVEsRUFBQyxFQUFFO1lBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUN6QyxJQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQzNCLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNuQixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2xCLENBQUM7UUFFSCxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7K0dBcERVLG1CQUFtQixrREFJcEIsUUFBUTttSEFKUCxtQkFBbUIsY0FGbEIsTUFBTTs7NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBS0ksTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3QsIEluamVjdGFibGUsIFJlbmRlcmVyMiwgUmVuZGVyZXJGYWN0b3J5MiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTmd4Tml1Yml6U2VydmljZSB9IGZyb20gJy4uL25neC1uaXViaXouc2VydmljZSc7XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIFdpbmRvdyB7XG4gICAgVmlzYW5ldENoZWNrb3V0OiBhbnk7XG4gIH1cbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2NyaXB0TG9hZGVyU2VydmljZSB7XG4gIFxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG5pdWJpelNlcnZpY2U6IE5neE5pdWJpelNlcnZpY2UsXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXG4gICkgeyBcbiAgfVxuXG4gIGxvYWRTY3JpcHQoIGRldmVsb3Blck1vZGU6IGJvb2xlYW4gPSB0cnVlICk6IFByb21pc2U8dm9pZD4ge1xuXG4gICAgY29uc3QgYXBpTml1Yml6UFJEID0gJ2h0dHBzOi8vc3RhdGljLWNvbnRlbnQudm5mb3JhcHBzLmNvbS92Mi9qcy9jaGVja291dC5qcyc7XG4gICAgY29uc3QgYXBpTml1Yml6VGVzdCA9ICdodHRwczovL3N0YXRpYy1jb250ZW50LXFhcy52bmZvcmFwcHMuY29tL3YyL2pzL2NoZWNrb3V0LmpzP3FhPXRydWUnO1xuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IHNjcmlwdCA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICBzY3JpcHQuc3JjID0gZGV2ZWxvcGVyTW9kZSA/IGFwaU5pdWJpelRlc3QgOiBhcGlOaXViaXpQUkQ7XG4gICAgICBzY3JpcHQub25sb2FkID0gKCkgPT4gcmVzb2x2ZSgpO1xuICAgICAgc2NyaXB0Lm9uZXJyb3IgPSAoKSA9PiByZWplY3QobmV3IEVycm9yKGBGYWlsZWQgdG8gbG9hZCBzY3JpcHQgJHtkZXZlbG9wZXJNb2RlID8gYXBpTml1Yml6VGVzdDogYXBpTml1Yml6UFJEfWApKTtcbiAgICAgIHRoaXMuZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzY3JpcHQpO1xuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgaW5pdGlhbGl6ZUNoZWNrb3V0KGNvbmZpZzogYW55LCBvblN1Y2Nlc3M6IEV2ZW50RW1pdHRlcjx2b2lkPiwgb25GYWlsZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiAsZGV2ZWxvcGVyTW9kZTogYm9vbGVhbiA9IHRydWUpIHtcbiAgICB0cnkge1xuICAgICAgXG4gICAgICBhd2FpdCB0aGlzLmxvYWRTY3JpcHQoZGV2ZWxvcGVyTW9kZSkuY2F0Y2goZXJyb3IgPT4gY2F0Y2hFcnJvcihlcnJvcikpO1xuICAgICAgaWYgKHR5cGVvZiB3aW5kb3cuVmlzYW5ldENoZWNrb3V0ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICB3aW5kb3cuVmlzYW5ldENoZWNrb3V0LmNvbmZpZ3VyZShjb25maWcpO1xuICAgICAgICB3aW5kb3cuVmlzYW5ldENoZWNrb3V0Lm9wZW4oKTtcbiAgICAgICAgd2luZG93LlZpc2FuZXRDaGVja291dC5jb25maWd1cmF0aW9uLmNvbXBsZXRlID0gKHBhcmFtczogYW55KSA9PiB0aGlzLnByb2Nlc2FyKGNvbmZpZywgcGFyYW1zLCBvblN1Y2Nlc3MsIG9uRmFpbGVkKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0VsIHNjcmlwdCBkZSBWaXNhbmV0IG5vIHNlIGhhIGNhcmdhZG8gY29ycmVjdGFtZW50ZScpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBhbCBjYXJnYXIgZWwgc2NyaXB0IGRlIFZpc2FuZXQ6JywgZXJyb3IpO1xuICAgIH1cblxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgfVxuXG4gIHByb2Nlc2FyKGNvbmZpZzogYW55LCBwYXJhbXM6IGFueSwgb25TdWNjZXNzOiBFdmVudEVtaXR0ZXI8dm9pZD4sIG9uRmFpbGVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gKSB7XG4gICAgdGhpcy5uaXViaXpTZXJ2aWNlLmdldEF1dGhvcml6YXRpb24oY29uZmlnLHBhcmFtcykudGhlbihcbiAgICAgIGFzeW5jIHJlc3BvbnNlID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coJ0F1dGhvcml6YXRpb246ICcsIHJlc3BvbnNlKTtcbiAgICAgICAgaWYocmVzcG9uc2UuZGF0YS5pc1N1Y2Nlc3MpIHtcbiAgICAgICAgICBvblN1Y2Nlc3MuZW1pdCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG9uRmFpbGVkLmVtaXQoKTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgIH1cbiAgICApO1xuICB9XG59Il19