UNPKG

ng-direct-pay-ipg

Version:

DirectPay Payment Gateway Plugin for Angular can payment using MasterCard, Visa, Amex, Frimi and LankaQr.

75 lines 10.4 kB
import { Component, Input, Output, EventEmitter } from '@angular/core'; import { Init } from 'directpay-ipg-js'; import { DirectPayIpgConfig, DirectPayIpgBtnColours, DirectPayIpgBtnTypes } from './direct-pay-ipg.config'; import { DirectPayIpgService } from "./direct-pay-ipg.service"; export class DirectPayIpgComponent { constructor(_directPayIpgService) { this._directPayIpgService = _directPayIpgService; this.config = new DirectPayIpgConfig(); this.defaultConfig = { size: 200, type: DirectPayIpgBtnTypes.flat, colour: DirectPayIpgBtnColours.gray }; this.directPayIpgBtnColours = DirectPayIpgBtnColours; this.directPayIpgBtnTypes = DirectPayIpgBtnTypes; this.isLoading = false; this.onSuccess = new EventEmitter(); this.onError = new EventEmitter(); console.log('[DirectPayIpgComponent][constructor][DirectPayIpgService]', _directPayIpgService); } ngOnInit() { this.setupConfig(); } setupConfig() { for (const option in this.defaultConfig) { if (typeof this.config[option] === 'boolean') { if (this.config[option] != null) { continue; } this.config[option] = this._directPayIpgService.loadingConfig[option] != null ? this._directPayIpgService.loadingConfig[option] : this.defaultConfig[option]; } else { if (this.config[option] != null) { continue; } this.config[option] = this._directPayIpgService.loadingConfig[option] != null ? this._directPayIpgService.loadingConfig[option] : this.defaultConfig[option]; } } } pay() { var _a, _b, _c; console.info('[pay-with-directPay][req-date]', this.PaymentRequest); this.isLoading = true; new Init({ signature: (_a = this.PaymentRequest) === null || _a === void 0 ? void 0 : _a.signature, dataString: (_b = this.PaymentRequest) === null || _b === void 0 ? void 0 : _b.dataString, stage: (_c = this.PaymentRequest) === null || _c === void 0 ? void 0 : _c.stage }).doInAppCheckout().then((data) => { console.info("[pay-with-directPay][res-success]", JSON.stringify(data)); this.isLoading = false; this.onSuccess.emit(data); }).catch(error => { console.error("[pay-with-directPay][res-error]", JSON.stringify(error)); this.isLoading = false; this.onError.emit(error); }); } } DirectPayIpgComponent.decorators = [ { type: Component, args: [{ selector: 'direct-pay-ipg', template: "<div>\n <div>\n <img class=\"PayBtn\" (click)=\"pay()\"\n [width]=\"config.size\"\n [style]=\"directPayIpgBtnTypes[config.type!]\"\n [src]=\"directPayIpgBtnColours[config.colour!]\"/>\n </div>\n <ngx-loading [show]=\"isLoading\"></ngx-loading>\n</div>\n\n", styles: [".PayBtn{cursor:pointer;border-radius:5px}"] },] } ]; DirectPayIpgComponent.ctorParameters = () => [ { type: DirectPayIpgService } ]; DirectPayIpgComponent.propDecorators = { config: [{ type: Input }], PaymentRequest: [{ type: Input }], onSuccess: [{ type: Output }], onError: [{ type: Output }] }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0LXBheS1pcGcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZGlyZWN0LXBheS1pcGcvc3JjL2xpYi9kaXJlY3QtcGF5LWlwZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBcUIsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFnQixJQUFJLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRCxPQUFPLEVBRUwsa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QixvQkFBb0IsRUFDckIsTUFBTSx5QkFBeUIsQ0FBQTtBQUNoQyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQVE3RCxNQUFNLE9BQU8scUJBQXFCO0lBWWhDLFlBQW9CLG9CQUF5QztRQUF6Qyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXFCO1FBVnBELFdBQU0sR0FBd0IsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBQ3hELGtCQUFhLEdBQXdCO1lBQzNDLElBQUksRUFBRSxHQUFHO1lBQ1QsSUFBSSxFQUFFLG9CQUFvQixDQUFDLElBQUk7WUFDL0IsTUFBTSxFQUFFLHNCQUFzQixDQUFDLElBQUk7U0FDcEMsQ0FBQztRQUNLLDJCQUFzQixHQUFHLHNCQUFzQixDQUFDO1FBQ2hELHlCQUFvQixHQUFHLG9CQUFvQixDQUFDO1FBQzVDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUErQmYsY0FBUyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3ZELFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQTdCN0QsT0FBTyxDQUFDLEdBQUcsQ0FBQywyREFBMkQsRUFBRSxvQkFBb0IsQ0FBQyxDQUFBO0lBQ2hHLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTyxXQUFXO1FBQ2pCLEtBQUssTUFBTSxNQUFNLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN2QyxJQUFJLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxTQUFTLEVBQUU7Z0JBQzVDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUU7b0JBQy9CLFNBQVM7aUJBQ1Y7Z0JBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUM5SjtpQkFBTTtnQkFDTCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFO29CQUMvQixTQUFTO2lCQUNWO2dCQUNELElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDOUo7U0FDRjtJQUNILENBQUM7SUFVTSxHQUFHOztRQUNSLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBQ25FLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksSUFBSSxDQUFDO1lBQ1AsU0FBUyxFQUFFLE1BQUEsSUFBSSxDQUFDLGNBQWMsMENBQUUsU0FBUztZQUN6QyxVQUFVLEVBQUUsTUFBQSxJQUFJLENBQUMsY0FBYywwQ0FBRSxVQUFVO1lBQzNDLEtBQUssRUFBRSxNQUFBLElBQUksQ0FBQyxjQUFjLDBDQUFFLEtBQUs7U0FDbEMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2pDLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUNBQW1DLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3hFLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzNCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsaUNBQWlDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ3hFLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7O1lBbEVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQix5U0FBOEM7O2FBRS9DOzs7WUFOTyxtQkFBbUI7OztxQkFVeEIsS0FBSzs2QkFrQ0wsS0FBSzt3QkFLTCxNQUFNO3NCQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgT25Jbml0LCBEaXJlY3RpdmUsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3BsdWdpblZlcnNpb24sIEluaXR9IGZyb20gJ2RpcmVjdHBheS1pcGctanMnO1xuaW1wb3J0IHtcbiAgSURpcmVjdFBheUlwZ0NvbmZpZyxcbiAgRGlyZWN0UGF5SXBnQ29uZmlnLFxuICBEaXJlY3RQYXlJcGdCdG5Db2xvdXJzLFxuICBEaXJlY3RQYXlJcGdCdG5UeXBlc1xufSBmcm9tICcuL2RpcmVjdC1wYXktaXBnLmNvbmZpZydcbmltcG9ydCB7RGlyZWN0UGF5SXBnU2VydmljZX0gZnJvbSBcIi4vZGlyZWN0LXBheS1pcGcuc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkaXJlY3QtcGF5LWlwZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9kaXJlY3QtcGF5LWlwZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RpcmVjdC1wYXktaXBnLmNvbXBvbmVudC5jc3MnXVxufSlcblxuZXhwb3J0IGNsYXNzIERpcmVjdFBheUlwZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgY29uZmlnOiBJRGlyZWN0UGF5SXBnQ29uZmlnID0gbmV3IERpcmVjdFBheUlwZ0NvbmZpZygpO1xuICBwcml2YXRlIGRlZmF1bHRDb25maWc6IElEaXJlY3RQYXlJcGdDb25maWcgPSB7XG4gICAgc2l6ZTogMjAwLFxuICAgIHR5cGU6IERpcmVjdFBheUlwZ0J0blR5cGVzLmZsYXQsXG4gICAgY29sb3VyOiBEaXJlY3RQYXlJcGdCdG5Db2xvdXJzLmdyYXlcbiAgfTtcbiAgcHVibGljIGRpcmVjdFBheUlwZ0J0bkNvbG91cnMgPSBEaXJlY3RQYXlJcGdCdG5Db2xvdXJzO1xuICBwdWJsaWMgZGlyZWN0UGF5SXBnQnRuVHlwZXMgPSBEaXJlY3RQYXlJcGdCdG5UeXBlcztcbiAgcHVibGljIGlzTG9hZGluZyA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2RpcmVjdFBheUlwZ1NlcnZpY2U6IERpcmVjdFBheUlwZ1NlcnZpY2UpIHtcbiAgICBjb25zb2xlLmxvZygnW0RpcmVjdFBheUlwZ0NvbXBvbmVudF1bY29uc3RydWN0b3JdW0RpcmVjdFBheUlwZ1NlcnZpY2VdJywgX2RpcmVjdFBheUlwZ1NlcnZpY2UpXG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldHVwQ29uZmlnKCk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwQ29uZmlnKCk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qgb3B0aW9uIGluIHRoaXMuZGVmYXVsdENvbmZpZykge1xuICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbmZpZ1tvcHRpb25dID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnW29wdGlvbl0gIT0gbnVsbCkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29uZmlnW29wdGlvbl0gPSB0aGlzLl9kaXJlY3RQYXlJcGdTZXJ2aWNlLmxvYWRpbmdDb25maWdbb3B0aW9uXSAhPSBudWxsID8gdGhpcy5fZGlyZWN0UGF5SXBnU2VydmljZS5sb2FkaW5nQ29uZmlnW29wdGlvbl0gOiB0aGlzLmRlZmF1bHRDb25maWdbb3B0aW9uXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZ1tvcHRpb25dICE9IG51bGwpIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbmZpZ1tvcHRpb25dID0gdGhpcy5fZGlyZWN0UGF5SXBnU2VydmljZS5sb2FkaW5nQ29uZmlnW29wdGlvbl0gIT0gbnVsbCA/IHRoaXMuX2RpcmVjdFBheUlwZ1NlcnZpY2UubG9hZGluZ0NvbmZpZ1tvcHRpb25dIDogdGhpcy5kZWZhdWx0Q29uZmlnW29wdGlvbl07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCkgUGF5bWVudFJlcXVlc3Q6IHtcbiAgICBzdGFnZTogc3RyaW5nO1xuICAgIGRhdGFTdHJpbmc6IHN0cmluZztcbiAgICBzaWduYXR1cmU6IG9iamVjdDtcbiAgfSB8IHVuZGVmaW5lZDtcbiAgQE91dHB1dCgpIG9uU3VjY2VzczogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG9uRXJyb3I6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgcHVibGljIHBheSgpIHtcbiAgICBjb25zb2xlLmluZm8oJ1twYXktd2l0aC1kaXJlY3RQYXldW3JlcS1kYXRlXScsIHRoaXMuUGF5bWVudFJlcXVlc3QpXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgIG5ldyBJbml0KHtcbiAgICAgIHNpZ25hdHVyZTogdGhpcy5QYXltZW50UmVxdWVzdD8uc2lnbmF0dXJlLFxuICAgICAgZGF0YVN0cmluZzogdGhpcy5QYXltZW50UmVxdWVzdD8uZGF0YVN0cmluZyxcbiAgICAgIHN0YWdlOiB0aGlzLlBheW1lbnRSZXF1ZXN0Py5zdGFnZVxuICAgIH0pLmRvSW5BcHBDaGVja291dCgpLnRoZW4oKGRhdGEpID0+IHtcbiAgICAgIGNvbnNvbGUuaW5mbyhcIltwYXktd2l0aC1kaXJlY3RQYXldW3Jlcy1zdWNjZXNzXVwiLCBKU09OLnN0cmluZ2lmeShkYXRhKSk7XG4gICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgdGhpcy5vblN1Y2Nlc3MuZW1pdChkYXRhKVxuICAgIH0pLmNhdGNoKGVycm9yID0+IHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJbcGF5LXdpdGgtZGlyZWN0UGF5XVtyZXMtZXJyb3JdXCIsIEpTT04uc3RyaW5naWZ5KGVycm9yKSk7XG4gICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgdGhpcy5vbkVycm9yLmVtaXQoZXJyb3IpXG4gICAgfSk7XG4gIH1cblxuXG59XG4iXX0=