nativescript-mpesa
Version:
Nativescript plugin to make payment with mpesa.
60 lines • 3.05 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var mpesa_common_1 = require("./mpesa.common");
var Mpesa = (function (_super) {
__extends(Mpesa, _super);
function Mpesa() {
return _super !== null && _super.apply(this, arguments) || this;
}
Mpesa.prototype.initialize = function (customerKey, customerSecret, env) {
var _this = this;
this.customerKey = new java.lang.String(customerKey);
this.customerSecret = new java.lang.String(customerSecret);
return new Promise(function (resolve, reject) {
_this.daraja = com.androidstudy.daraja.Daraja.with(_this.customerKey, _this.customerSecret, _this.getENV(env), new com.androidstudy.daraja.DarajaListener({
onResult: function (accessToken) {
resolve(accessToken.getAccess_token());
},
onError: function (error) {
reject(error);
}
}));
});
};
Mpesa.prototype.requestMPESAExpress = function (lnmExpress) {
var _this = this;
return new Promise(function (resolve, reject) {
var lnm = new com.androidstudy.daraja.model.LNMExpress(new java.lang.String(lnmExpress.BusinessShortCode), new java.lang.String(lnmExpress.PassKey), _this.getTransactionType(lnmExpress.Type), new java.lang.String(lnmExpress.Amount), new java.lang.String(lnmExpress.PartyA), new java.lang.String(lnmExpress.PartyB), new java.lang.String(lnmExpress.PhoneNumber), new java.lang.String(lnmExpress.CallBackURL), new java.lang.String(lnmExpress.AccountReference), new java.lang.String(lnmExpress.TransactionDesc));
_this.daraja.requestMPESAExpress(lnm, new com.androidstudy.daraja.DarajaListener({
onResult: function (lnmResult) {
var response = {
MerchantRequestID: lnmResult.MerchantRequestID,
CheckoutRequestID: lnmResult.CheckoutRequestID,
ResponseCode: lnmResult.ResponseCode,
ResponseDescription: lnmResult.ResponseDescription,
CustomerMessage: lnmResult.CustomerMessage
};
resolve(response);
},
onError: function (error) {
reject(error);
}
}));
});
};
Mpesa.prototype.getTransactionType = function (type) {
if (type === 'CustomerPayBillOnline') {
return com.androidstudy.daraja.constants.Transtype.CustomerPayBillOnline;
}
return com.androidstudy.daraja.constants.Transtype.CustomerBuyGoodsOnline;
};
Mpesa.prototype.getENV = function (env) {
if (env === 'PRODUCTION') {
return com.androidstudy.daraja.util.Env.PRODUCTION;
}
return com.androidstudy.daraja.util.Env.SANDBOX;
};
return Mpesa;
}(mpesa_common_1.Common));
exports.Mpesa = Mpesa;
//# sourceMappingURL=mpesa.android.js.map