ngx-niubiz
Version:
Pasarela de pago Niubiz.
62 lines • 9.15 kB
JavaScript
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