nativescript-paystack
Version:
Nativescript integration for Paystack payment platform.
99 lines • 4.02 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var paystack_common_1 = require("./paystack.common");
var application_1 = require("tns-core-modules/application/application");
var utils_1 = require("tns-core-modules/utils/utils");
var NSPayment = (function (_super) {
__extends(NSPayment, _super);
function NSPayment() {
return _super !== null && _super.apply(this, arguments) || this;
}
NSPayment.prototype.initialize = function (params) {
var cardNumber = new java.lang.String(params.number);
var expiryMonth = new java.lang.Integer(params.month);
var expiryYear = new java.lang.Integer(params.year);
var cvv = new java.lang.String(params.cvc);
this._charge = new co.paystack.android.model.Charge();
this._charge.setCard(new co.paystack.android.model.Card(cardNumber, expiryMonth, expiryYear, cvv));
this._charge.setAmount(+params.amount);
this._charge.setEmail(params.email);
};
NSPayment.prototype.addCustomField = function (name, value) {
try {
this._charge.putCustomField(name, value);
}
catch (error) {
throw new Error("An error occured while adding a Custom field");
}
return this;
};
NSPayment.prototype.addMetadata = function (name, value) {
try {
this._charge.putMetadata(name, value);
}
catch (error) {
throw new Error("An error occured while adding a Metadata");
}
return this;
};
NSPayment.prototype.charge = function () {
var _this = this;
this._transaction = null;
return new Promise(function (resolve, reject) {
co.paystack.android.PaystackSdk.chargeCard(application_1.android.foregroundActivity || application_1.android.startActivity, _this._charge, new co.paystack.android.Paystack.TransactionCallback({
onSuccess: function (transaction) {
_this.notify({
eventName: paystack_common_1.Payment.closeDialogEvent,
object: _this
});
resolve({
reference: transaction.getReference()
});
},
beforeValidate: function (transaction) {
_this.notify({
eventName: paystack_common_1.Payment.openDialogEvent,
object: _this
});
},
onError: function (error, transaction) {
_this.notify({
eventName: paystack_common_1.Payment.closeDialogEvent,
object: _this
});
reject({
code: 0,
message: error.getMessage(),
reference: transaction.getReference()
});
}
}));
});
};
return NSPayment;
}(paystack_common_1.Payment));
exports.NSPayment = NSPayment;
var NSPaystack = (function (_super) {
__extends(NSPaystack, _super);
function NSPaystack() {
return _super !== null && _super.apply(this, arguments) || this;
}
NSPaystack.prototype.getPublicKey = function () {
return co.paystack.android.PaystackSdk.getPublicKey();
};
NSPaystack.prototype.initialize = function (publicKey) {
this.setPublicKey(publicKey);
co.paystack.android.PaystackSdk.initialize(utils_1.ad.getApplicationContext());
return this;
};
NSPaystack.prototype.setPublicKey = function (publicKey) {
co.paystack.android.PaystackSdk.setPublicKey(publicKey);
return this;
};
NSPaystack.prototype.payment = function (params) {
return new NSPayment(params);
};
return NSPaystack;
}(paystack_common_1.Common));
exports.NSPaystack = NSPaystack;
//# sourceMappingURL=paystack.android.js.map