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
JavaScript
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=