cashbill
Version:
A TypeScript library for making payments through CashBill gateway.
26 lines (25 loc) • 865 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const crypto = require("crypto");
const utils_1 = require("../../utils");
const error_1 = require("../../error");
class NotificationModule extends utils_1.LibModule {
consume(request) {
if (!this.verify(request)) {
throw new error_1.CashBillError('Verification failed.');
}
return this.mapRequestToNotification(request);
}
verify(request) {
const config = this.getConfig();
const expectedSign = crypto
.createHash('md5')
.update(request.cmd + request.args + config.secretPhrase)
.digest('hex');
return request.sign === expectedSign;
}
mapRequestToNotification(request) {
return { paymentId: request.args };
}
}
exports.NotificationModule = NotificationModule;