void HandleRequestCode(int requestCode, Result resultCode, JudoReceipt receipt) { if (resultCode == Result.Ok && receipt.Result != "Declined") { PaymentReceiptModel paymentReceipt; if ((paymentReceipt = receipt.FullReceipt as PaymentReceiptModel) != null) { _judoSuccessCallback.Value(paymentReceipt); Finish(); } } else if (_judoFailureCallback.Value != null) { var judoError = new JudoError(); var paymentreceipt = receipt != null ? receipt.FullReceipt as PaymentReceiptModel : null; if (paymentreceipt != null) { _judoFailureCallback.Value(judoError, paymentreceipt); Finish(); } else { _judoFailureCallback.Value(judoError); Finish(); } } }
protected override void OnActivityResult(int requestCode, Result resultCode, Intent data) { JudoReceipt receipt = null; string msg_prefix = ""; if (data != null) { var resultString = data.GetStringExtra(JudoSDKManager.JUDO_RECEIPT); if (resultString != null) { var jsonResult = JsonConvert.DeserializeObject <PaymentReceiptModel> (resultString); receipt = new JudoReceipt(jsonResult); } if (resultCode == Result.Canceled) { Finish(); } else if (resultCode == JudoSDKManager.JUDO_ERROR) { var jsonError = data.GetStringExtra(JudoSDKManager.JUDO_ERROR_EXCEPTION); var error = (jsonError != null ? JsonConvert.DeserializeObject <JudoError> (data.GetStringExtra(JudoSDKManager.JUDO_ERROR_EXCEPTION)) : null); PaymentReceiptModel paymentReceipt = null; if (receipt != null) { paymentReceipt = receipt.FullReceipt as PaymentReceiptModel; } var innerError = new JudoError() { Exception = new Exception("Unknown Error"), ApiError = null }; if (error != null) { innerError = new JudoError() { Exception = error.Exception, ApiError = error.ApiError }; } _judoFailureCallback.Value(innerError, paymentReceipt); Finish(); } else { HandleRequestCode(requestCode, resultCode, receipt); } } Finish(); }