nativescript-razorpay
Version:
A {N} plugin that wraps around native iOS and Android plugins
115 lines • 5.5 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var application_1 = require("tns-core-modules/application");
var razorpay_common_1 = require("./razorpay.common");
var RazoypayPaymentListener = (function (_super) {
__extends(RazoypayPaymentListener, _super);
function RazoypayPaymentListener(_plugin) {
var _this = _super.call(this) || this;
_this._plugin = _plugin;
return global.__native(_this);
}
RazoypayPaymentListener.prototype.onPaymentSuccess = function (s, paymentData) {
try {
this._plugin.done(s);
}
catch (e) {
console.error(e);
}
};
RazoypayPaymentListener.prototype.onPaymentError = function (i, s, paymentData) {
this._plugin.error(new Error(s));
};
RazoypayPaymentListener.prototype.onExternalWalletSelected = function (s, paymentData) {
console.log("onExternalWalletSelected", s);
};
return RazoypayPaymentListener;
}(java.lang.Object));
RazoypayPaymentListener = __decorate([
Interfaces([com.razorpay.PaymentResultWithDataListener, com.razorpay.ExternalWalletListener]),
__metadata("design:paramtypes", [RazorpayCheckout])
], RazoypayPaymentListener);
exports.RazoypayPaymentListener = RazoypayPaymentListener;
var RazorpayCheckout = (function (_super) {
__extends(RazorpayCheckout, _super);
function RazorpayCheckout(razorPayKey) {
var _this = _super.call(this) || this;
_this.razorPayKey = razorPayKey;
return _this;
}
RazorpayCheckout.prototype._cleanup = function () {
this._resolve = null;
this._reject = null;
this._paymentDataListener = null;
};
RazorpayCheckout.prototype.done = function (s) {
this._resolve(s);
this._cleanup();
};
RazorpayCheckout.prototype.error = function (e) {
this._reject(e);
this._cleanup();
};
RazorpayCheckout.prototype.preload = function () {
com.razorpay.Checkout.preload(application_1.android.foregroundActivity);
};
RazorpayCheckout.prototype.open = function (options) {
var _this = this;
return new Promise(function (resolve, reject) {
_this._resolve = resolve;
_this._reject = reject;
var Checkout = com.razorpay.Checkout;
var Intent = android.content.Intent;
var CheckoutActivity = com.razorpay.CheckoutActivity;
var RZP_REQUEST_CODE = Checkout.RZP_REQUEST_CODE;
var context = application_1.android.foregroundActivity;
application_1.android.on(application_1.AndroidApplication.activityResultEvent, onResult, _this);
var that = _this;
function onResult(_a) {
var requestCode = _a.requestCode, resultCode = _a.resultCode, data = _a.intent;
if (requestCode == RZP_REQUEST_CODE) {
application_1.android.off(application_1.AndroidApplication.activityResultEvent, onResult, that);
that._paymentDataListener = new RazoypayPaymentListener(that);
Checkout.handleActivityResult(context, requestCode, resultCode, data, that._paymentDataListener, that._paymentDataListener);
}
}
try {
options["key"] = _this.razorPayKey;
var intent = new Intent(application_1.android.foregroundActivity, CheckoutActivity.class);
console.log(JSON.stringify(options));
intent.putExtra("OPTIONS", JSON.stringify(options));
application_1.android.foregroundActivity.startActivityForResult(intent, RZP_REQUEST_CODE);
var lifecycleCallbacks_1 = application_1.android.callbacks.lifecycleCallbacks;
application_1.android.nativeApp.unregisterActivityLifecycleCallbacks(lifecycleCallbacks_1);
var newLifecycleCallbacks_1 = new android.app.Application.ActivityLifecycleCallbacks({
onActivityCreated: function (activity, savedInstanceState) {
application_1.android.nativeApp.unregisterActivityLifecycleCallbacks(newLifecycleCallbacks_1);
application_1.android.nativeApp.registerActivityLifecycleCallbacks(lifecycleCallbacks_1);
},
onActivityPaused: function (activity) {
if (activity.isNativeScriptActivity) {
lifecycleCallbacks_1.onActivityPaused(activity);
}
},
onActivityDestroyed: function (activity) {
},
onActivityResumed: function (activity) {
},
onActivitySaveInstanceState: function (activity, outState) {
},
onActivityStarted: function (activity) {
},
onActivityStopped: function (activity) {
}
});
application_1.android.nativeApp.registerActivityLifecycleCallbacks(newLifecycleCallbacks_1);
}
catch (e) {
application_1.android.off(application_1.AndroidApplication.activityResultEvent, onResult, _this);
}
});
};
return RazorpayCheckout;
}(razorpay_common_1.CheckoutCommon));
exports.RazorpayCheckout = RazorpayCheckout;
//# sourceMappingURL=razorpay.android.js.map