UNPKG

nativescript-razorpay

Version:

A {N} plugin that wraps around native iOS and Android plugins

115 lines 5.5 kB
"use strict"; 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