protected virtual void OnErrorReceived(XsollaError error) { if (ErrorReceived != null) { ErrorReceived(error); } }
protected void OnErrorRecived(XsollaError error) { if (ErrorHandler != null) { ErrorHandler(error); } }
void OnDestroy() { Logger.Log("User close window"); switch (currentActive) { case ActiveScreen.STATUS: Logger.Log("Check payment status"); StatusViewController controller = GetComponentInChildren <StatusViewController>(); if (controller != null) { controller.statusViewExitButton.onClick.Invoke(); } break; default: { Logger.Log("Handle chancel"); if (ErrorHandler != null) { ErrorHandler(XsollaError.GetCancelError()); } break; } } }
private void DrawError(XsollaError error) { if (mainScreenContainer != null) { currentActive = ActiveScreen.ERROR; GameObject errorScreen = Instantiate(Resources.Load(PREFAB_SCREEN_ERROR)) as GameObject; errorScreen.transform.SetParent(mainScreenContainer.transform); errorScreen.GetComponent <RectTransform> ().anchoredPosition = new Vector2(0, 0); mainScreenContainer.GetComponentInParent <ScrollRect> ().content = errorScreen.GetComponent <RectTransform> (); ScreenErrorController controller = errorScreen.GetComponent <ScreenErrorController> (); controller.ErrorHandler += OnErrorRecivied; controller.DrawScreen(error); } else { GameObject errorScreen = Instantiate(Resources.Load(PREFAB_SCREEN_ERROR_MAIN)) as GameObject; errorScreen.transform.SetParent(container.transform); Text[] texts = errorScreen.GetComponentsInChildren <Text>(); texts[1].text = "Somthing went wrong"; texts[2].text = error.errorMessage; texts[3].text = error.errorCode.ToString(); texts[3].gameObject.SetActive(false); Resizer.ResizeToParrent(errorScreen); } }
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * OVERRIDED METHODS * * * * * * * * * * * * * * * * * * * * * * * * * * */ public IParseble Parse(JSONNode rootNode) { // textAll = new XsollaTextAll (); // textAll.Parse (rootNode[XsollaApiConst.R_TEXTALL]); JSONNode errorNode = rootNode [XsollaApiConst.ERROR_MSG]; if (errorNode != null && errorNode.GetType() != typeof(JSONLazyCreator)) { this.xsollaError = new XsollaError().Parse(errorNode) as XsollaError; } //errorNode = rootNode [XsollaApiConst.R_TEXTALL] [XsollaApiConst.ERROR_MSG][0]; errorNode = rootNode ["errors"][0]; if (errorNode != null) { this.xsollaError = new XsollaError().Parse(errorNode) as XsollaError; } this.SetAccount(rootNode [XsollaApiConst.R_ACCOUNT]); this.SetAccountXsolla(rootNode [XsollaApiConst.R_ACCOUNTXSOLLA]); this.SetCurrentCommand(rootNode[XsollaApiConst.R_CURRENTCOMMAND]); this.SetTitle(rootNode[XsollaApiConst.R_TITLE]); this.SetIconUrl(rootNode[XsollaApiConst.R_ICONURL]); this.SetCurrency(rootNode[XsollaApiConst.R_CURRENCY]); this.SetSum(rootNode[XsollaApiConst.R_BUYDATA]["sum"]); this.SetInstruction(rootNode[XsollaApiConst.R_INSTRUCTION]); this.SetPid(rootNode[XsollaApiConst.R_PID].AsInt); checkoutToken = rootNode ["checkoutToken"]; JSONNode buyDataNode = rootNode ["buyData"]; if (buyDataNode != null && !"null".Equals(buyDataNode)) { buyData = new BuyData().Parse(buyDataNode) as BuyData; } JSONNode summaryNode = rootNode ["summary"]; if (summaryNode != null && !"null".Equals(summaryNode)) { summary = new XsollaSummary().Parse(summaryNode) as XsollaSummary; } JSONNode checkoutNode = rootNode ["checkout"]; if (checkoutNode != null && !"null".Equals(checkoutNode)) { chekout = new XsollaCheckout().Parse(checkoutNode) as XsollaCheckout; } JSONNode formNode = rootNode [XsollaApiConst.R_FORM]; IEnumerable <JSONNode> formElements = formNode.Childs; IEnumerator <JSONNode> enumerator = formElements.GetEnumerator(); this.Clear(); while (enumerator.MoveNext()) { this.AddElement((XsollaFormElement) new XsollaFormElement().Parse(enumerator.Current)); } return(this); }
protected GameObject GetError(XsollaError error) { bool isError = error != null; if (isError) { GameObject errorObj = Instantiate (Resources.Load("Prefabs/SimpleView/Error")) as GameObject; SetText (errorObj, error.GetMessage()); return errorObj; } return null; }
protected GameObject GetError(XsollaError error) { bool isError = error != null; if (isError) { GameObject errorObj = GetObject(PrefabError); SetText(errorObj, error.GetMessage()); return(errorObj); } return(null); }
private void OnErrorRecivied(XsollaError xsollaError) { Logger.Log("ErrorRecivied " + xsollaError.ToString()); if (ErrorHandler != null) { ErrorHandler(xsollaError); } else { Logger.Log("Have no ErrorHandler"); } }
private void OpenError(XsollaError error) { currentActive = ActiveScreen.ERROR; GameObject errorScreen = Instantiate(Resources.Load("Prefabs/Screens/ScreenError")) as GameObject; errorScreen.transform.SetParent(mainScreenContainer.transform); errorScreen.GetComponent <RectTransform> ().anchoredPosition = new Vector2(0, 0); mainScreenContainer.GetComponentInParent <ScrollRect> ().content = errorScreen.GetComponent <RectTransform> (); ScreenErrorController controller = errorScreen.GetComponent <ScreenErrorController> (); controller.ErrorHandler += OnErrorRecivied; controller.DrawScreen(error); }
public new void OnFormReceived(XsollaForm form) { XsollaForm.CurrentCommand command = form.GetCurrentCommand(); switch (command) { case XsollaForm.CurrentCommand.FORM: XsollaError error = form.GetError(); if (!form.IsValidPaymentSystem()) { OnErrorReceived(XsollaError.GetUnsuportedError()); } else if (error == null) { form.UpdateElement(XsollaApiConst.CARD_NUMBER, _cardNumber); form.UpdateElement(XsollaApiConst.CARD_EXP_YEAR, _cardExpYear); form.UpdateElement(XsollaApiConst.CARD_EXP_MONTH, _cardExpMonth); form.UpdateElement(XsollaApiConst.CARD_CVV, _cardCvv); form.UpdateElement(XsollaApiConst.CARD_ZIP, _cardZip); form.UpdateElement(XsollaApiConst.CARD_HOLDER, _cardHolder); NextStep(form.GetXpsMap()); } else { OnErrorReceived(error); } break; case XsollaForm.CurrentCommand.CHECK: if (form.GetItem(XsollaApiConst.CARD_ZIP) != null) { form.UpdateElement(XsollaApiConst.CARD_ZIP, _cardZip); NextStep(form.GetXpsMap()); } else { OnNextStepRecieved(form); } break; case XsollaForm.CurrentCommand.ACCOUNT: case XsollaForm.CurrentCommand.STATUS: case XsollaForm.CurrentCommand.CREATE: default: break; } }
public IParseble Parse(JSONNode textAllNode) { IEnumerator <JSONNode> errorEnumerator = textAllNode ["error"].Childs.GetEnumerator(); errors = new List <XsollaError> (); while (errorEnumerator.MoveNext()) { XsollaError currentError = new XsollaError(); currentError.Parse(errorEnumerator.Current); errors.Add(currentError); } IEnumerator <JSONNode> infoEnumerator = textAllNode ["info"].Childs.GetEnumerator(); info = new List <XsollaInfo> (); while (infoEnumerator.MoveNext()) { XsollaInfo currentInfo = new XsollaInfo(); currentInfo.Parse(infoEnumerator.Current); info.Add(currentInfo); } return(this); }
private IEnumerator WaitForRequest(int pType, WWW www, Dictionary <string, object> post) { Logger.Log("Start get www"); yield return(www); // check for errors if (www.error == null) { Debug.Log("Type -> " + pType); Debug.Log("WWW_request -> " + www.text); string data = www.text; JSONNode rootNode = JSON.Parse(www.text); if (rootNode != null && rootNode.Count > 2 || rootNode["error"] == null) { switch (pType) { case TRANSLATIONS: { if (rootNode.Count > 2) { XsollaUtils utils = new XsollaUtils().Parse(rootNode) as XsollaUtils; projectId = utils.GetProject().id.ToString(); if (baseParams.ContainsKey(XsollaApiConst.ACCESS_TOKEN)) { utils.SetAccessToken(baseParams[XsollaApiConst.ACCESS_TOKEN].ToString()); } OnUtilsRecieved(utils); // // if base param not containKey access token, then add token from util // if (!baseParams.ContainsKey(XsollaApiConst.ACCESS_TOKEN)) // _accessToken = utils.GetAcceessToken(); OnTranslationRecieved(utils.GetTranslations()); } else { XsollaError error = new XsollaError(); error.Parse(rootNode); OnErrorReceived(error); } break; } case DIRECTPAYMENT_FORM: { if (rootNode.Count > 8) { XsollaForm form = new XsollaForm(); form.Parse(rootNode); switch (form.GetCurrentCommand()) { case XsollaForm.CurrentCommand.STATUS: // if we replaced or add saved account, we must start loop on get list saved account if (post.ContainsKey("save_payment_account_only") || (post.ContainsKey("replace_payment_account"))) { if (!form.IsCardPayment() && !(post.ContainsKey("replace_payment_account"))) { OnWaitPaymentChange(); break; } else { OnPaymentManagerMethod(null, post.ContainsKey("replace_payment_account")?false:true); break; } } GetStatus(form.GetXpsMap()); break; case XsollaForm.CurrentCommand.CHECKOUT: case XsollaForm.CurrentCommand.CHECK: case XsollaForm.CurrentCommand.FORM: case XsollaForm.CurrentCommand.CREATE: case XsollaForm.CurrentCommand.ACCOUNT: OnFormReceived(form); break; case XsollaForm.CurrentCommand.UNKNOWN: if (rootNode.Count > 10) { OnFormReceived(form); } else { XsollaError error = new XsollaError(); error.Parse(rootNode); OnErrorReceived(error); } break; default: break; } } else { XsollaStatusPing statusPing = new XsollaStatusPing(); statusPing.Parse(rootNode); OnStatusChecked(statusPing); } break; } case DIRECTPAYMENT_STATUS: { XsollaForm form = new XsollaForm(); form.Parse(rootNode); XsollaStatus status = new XsollaStatus(); status.Parse(rootNode); OnStatusReceived(status, form); break; } case PRICEPOINTS: { XsollaPricepointsManager pricepoints = new XsollaPricepointsManager(); pricepoints.Parse(rootNode); OnPricepointsRecieved(pricepoints); break; } case GOODS: { XsollaGoodsManager goods = new XsollaGoodsManager(); goods.Parse(rootNode); OnGoodsRecieved(goods); break; } case GOODS_GROUPS: { XsollaGroupsManager groups = new XsollaGroupsManager(); groups.Parse(rootNode); OnGoodsGroupsRecieved(groups); break; } case GOODS_ITEMS: { XsollaGoodsManager goods = new XsollaGoodsManager(); goods.Parse(rootNode); OnGoodsRecieved(goods); break; } case PAYMENT_LIST: { XsollaPaymentMethods paymentMethods = new XsollaPaymentMethods(); paymentMethods.Parse(rootNode); OnPaymentMethodsRecieved(paymentMethods); break; } case SAVED_PAYMENT_LIST: { XsollaSavedPaymentMethods savedPaymentsMethods = new XsollaSavedPaymentMethods(); savedPaymentsMethods.Parse(rootNode); OnSavedPaymentMethodsRecieved(savedPaymentsMethods); break; } case QUICK_PAYMENT_LIST: { XsollaQuickPayments quickPayments = new XsollaQuickPayments(); quickPayments.Parse(rootNode); OnQuickPaymentMethodsRecieved(quickPayments); break; } case COUNTRIES: { XsollaCountries countries = new XsollaCountries(); countries.Parse(rootNode); OnCountriesRecieved(countries); break; } case VIRTUAL_PAYMENT_SUMMARY: { XVirtualPaymentSummary summary = new XVirtualPaymentSummary(); summary.Parse(rootNode); Logger.Log("VIRTUAL_PAYMENT_SUMMARY " + summary.ToString()); if (summary.IsSkipConfirmation) { Logger.Log("IsSkipConfirmation true"); post.Add("dont_ask_again", 0); ProceedVPayment(post); } else { Logger.Log("IsSkipConfirmation false"); OnVPSummaryRecieved(summary); } break; } case VIRTUAL_PROCEED: { XProceed proceed = new XProceed(); proceed.Parse(rootNode); Logger.Log("VIRTUAL_PROCEED " + proceed.ToString()); if (proceed.IsInvoiceCreated) { Logger.Log("VIRTUAL_PROCEED 1"); long operationId = proceed.OperationId; post.Add("operation_id", operationId); VPaymentStatus(post); } else { Logger.Log("VIRTUAL_PROCEED 0 "); OnVPProceedError(proceed.Error); } break; } case VIRTUAL_STATUS: { XVPStatus vpStatus = new XVPStatus(); vpStatus.Parse(rootNode); Logger.Log("VIRTUAL_STATUS" + vpStatus.ToString()); OnVPStatusRecieved(vpStatus); break; } case APPLY_PROMO_COUPONE: { XsollaForm form = new XsollaForm(); form.Parse(rootNode); OnApplyCouponeReceived(form); break; } case COUPON_PROCEED: { XsollaCouponProceedResult couponProceed = new XsollaCouponProceedResult(); couponProceed.Parse(rootNode); if (couponProceed._error != null) { Logger.Log("COUPON_PROCEED ERROR: " + couponProceed._error); OnCouponProceedErrorRecived(couponProceed); } else { long operationId = couponProceed._operationId; if (post.ContainsKey("coupon_code")) { post.Remove("coupon_code"); } post.Add("operation_id", operationId); VPaymentStatus(post); } break; } case CALCULATE_CUSTOM_AMOUNT: { CustomVirtCurrAmountController.CustomAmountCalcRes res = new CustomVirtCurrAmountController.CustomAmountCalcRes().Parse(rootNode["calculation"]) as CustomVirtCurrAmountController.CustomAmountCalcRes; OnCustomAmountResRecieved(res); break; } case PAYMENT_MANAGER_LIST: { XsollaSavedPaymentMethods res = new XsollaSavedPaymentMethods().Parse(rootNode) as XsollaSavedPaymentMethods; OnPaymentManagerMethod(res, false); break; } case DELETE_SAVED_METHOD: { OnDeleteSavedPaymentMethod(); break; } case SUBSCRIPTIONS_MANAGER_LIST: { XsollaManagerSubscriptions lSubsList = new XsollaManagerSubscriptions().Parse(rootNode["subscriptions"]) as XsollaManagerSubscriptions; OnManageSubsListrecived(lSubsList); break; } default: break; } } else { XsollaError error = new XsollaError(); error.Parse(rootNode); OnErrorReceived(error); } } else { JSONNode errorNode = JSON.Parse(www.text); string errorMsg = errorNode["errors"].AsArray[0]["message"].Value + ". Support code " + errorNode["errors"].AsArray[0]["support_code"].Value; int errorCode = 0; if (www.error.Length > 3) { errorCode = int.Parse(www.error.Substring(0, 3)); } else { errorCode = int.Parse(www.error); } OnErrorReceived(new XsollaError(errorCode, errorMsg)); } if (projectId != null && !"".Equals(projectId)) { LogEvent("UNITY " + SDK_VERSION + " REQUEST", projectId, www.url); } else { LogEvent("UNITY " + SDK_VERSION + " REQUEST", "undefined", www.url); } }
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * OVERRIDED METHODS * * * * * * * * * * * * * * * * * * * * * * * * * * */ // if (errorNode != null && errorNode.GetType() != typeof(JSONLazyCreator)) // { // this.xsollaError = new XsollaError().Parse(errorNode) as XsollaError; // } // //errorNode = rootNode [XsollaApiConst.R_TEXTALL] [XsollaApiConst.ERROR_MSG][0]; // errorNode = rootNode ["errors"][0]; // if (errorNode != null) // { // this.xsollaError = new XsollaError().Parse(errorNode) as XsollaError; // } public IParseble Parse(JSONNode rootNode) { JSONNode errorNode = rootNode [XsollaApiConst.R_ERRORS]; if (errorNode.Count > 0) { this.xsollaError = new XsollaError().ParseNew(errorNode[0]) as XsollaError; } JSONNode messagesNode = rootNode [XsollaApiConst.R_MESSAGES]; if (messagesNode.Count > 0) { this.xsollaMessage = new XsollaMessage().Parse(messagesNode[0]) as XsollaMessage; } this.SetAccount(rootNode [XsollaApiConst.R_ACCOUNT]); this.SetAccountXsolla(rootNode [XsollaApiConst.R_ACCOUNTXSOLLA]); this.SetCurrentCommand(rootNode[XsollaApiConst.R_CURRENTCOMMAND]); this.SetTitle(rootNode[XsollaApiConst.R_TITLE]); this.SetIconUrl(rootNode[XsollaApiConst.R_ICONURL]); this.SetCurrency(rootNode[XsollaApiConst.R_CURRENCY]); this.SetSum(rootNode[XsollaApiConst.R_BUYDATA]["sum"]); this.SetInstruction(rootNode[XsollaApiConst.R_INSTRUCTION]); this.SetPid(rootNode[XsollaApiConst.R_PID].AsInt); this.SetSkipForm(rootNode[XsollaApiConst.R_SKIPFORM].AsBool); this.SetSkipCheckout(rootNode[XsollaApiConst.R_SKIPCHECKOUT].AsBool); checkoutToken = rootNode ["checkoutToken"]; JSONNode buyDataNode = rootNode ["buyData"]; if (buyDataNode != null && !"null".Equals(buyDataNode)) { buyData = new BuyData().Parse(buyDataNode) as BuyData; } JSONNode summaryNode = rootNode ["summary"]; if (summaryNode != null && !"null".Equals(summaryNode)) { summary = new XsollaSummary().Parse(summaryNode) as XsollaSummary; } JSONNode checkoutNode = rootNode ["checkout"]; if (checkoutNode != null && !"null".Equals(checkoutNode)) { chekout = new XsollaCheckout().Parse(checkoutNode) as XsollaCheckout; } JSONNode formNode = rootNode [XsollaApiConst.R_FORM]; IEnumerable <JSONNode> formElements = formNode.Childs; IEnumerator <JSONNode> enumerator = formElements.GetEnumerator(); this.Clear(); while (enumerator.MoveNext()) { this.AddElement((XsollaFormElement) new XsollaFormElement().Parse(enumerator.Current)); } return(this); }
public void SetError(XsollaError pError) { _errorLable.text = pError.errorMessage; _panelError.SetActive(true); }
protected abstract void ShowPaymentError(XsollaError error);
protected override void ShowPaymentError(XsollaError error) { Logger.Log("Show Payment Error " + error); SetLoading(false); DrawError(error); }
private void ProcessingRequestResult(int pType, RequestClass pRequestResult, Dictionary <string, object> pDataArgs) { if (!pRequestResult.HasError) { // Start Processing Debug.Log("Type -> " + pType); Debug.Log("WWW_request -> " + pRequestResult.TextRequest); JSONNode rootNode = JSON.Parse(pRequestResult.TextRequest); if (rootNode != null && rootNode.Count > 2 || rootNode["error"] == null) { switch (pType) { case TRANSLATIONS: { if (rootNode.Count > 2) { XsollaUtils utils = new XsollaUtils().Parse(rootNode) as XsollaUtils; projectId = utils.GetProject().id.ToString(); OnUtilsRecieved(utils); // if base param not containKey access token, then add token from util if (!baseParams.ContainsKey(XsollaApiConst.ACCESS_TOKEN)) { _accessToken = utils.GetAcceessToken(); } OnTranslationRecieved(utils.GetTranslations()); } else { XsollaError error = new XsollaError(); error.Parse(rootNode); OnErrorReceived(error); } } break; case DIRECTPAYMENT_FORM: { if (rootNode.Count > 8) { XsollaForm form = new XsollaForm(); form.Parse(rootNode); switch (form.GetCurrentCommand()) { case XsollaForm.CurrentCommand.STATUS: GetStatus(form.GetXpsMap()); break; case XsollaForm.CurrentCommand.CHECKOUT: case XsollaForm.CurrentCommand.CHECK: case XsollaForm.CurrentCommand.FORM: case XsollaForm.CurrentCommand.CREATE: case XsollaForm.CurrentCommand.ACCOUNT: OnFormReceived(form); break; case XsollaForm.CurrentCommand.UNKNOWN: if (rootNode.Count > 10) { OnFormReceived(form); } else { XsollaError error = new XsollaError(); error.Parse(rootNode); OnErrorReceived(error); } break; default: break; } } else { XsollaStatusPing statusPing = new XsollaStatusPing(); statusPing.Parse(rootNode); OnStatusChecked(statusPing); } } break; case DIRECTPAYMENT_STATUS: { XsollaForm form = new XsollaForm(); form.Parse(rootNode); XsollaStatus status = new XsollaStatus(); status.Parse(rootNode); OnStatusReceived(status, form); } break; case PRICEPOINTS: { XsollaPricepointsManager pricepoints = new XsollaPricepointsManager(); pricepoints.Parse(rootNode); OnPricepointsRecieved(pricepoints); } break; case GOODS: { XsollaGoodsManager goods = new XsollaGoodsManager(); goods.Parse(rootNode); OnGoodsRecieved(goods); } break; case GOODS_GROUPS: { XsollaGroupsManager groups = new XsollaGroupsManager(); groups.Parse(rootNode); OnGoodsGroupsRecieved(groups); } break; case GOODS_ITEMS: { XsollaGoodsManager goods = new XsollaGoodsManager(); goods.Parse(rootNode); OnGoodsRecieved(goods); } break; case PAYMENT_LIST: { XsollaPaymentMethods paymentMethods = new XsollaPaymentMethods(); paymentMethods.Parse(rootNode); OnPaymentMethodsRecieved(paymentMethods); } break; case SAVED_PAYMENT_LIST: { XsollaSavedPaymentMethods savedPaymentsMethods = new XsollaSavedPaymentMethods(); savedPaymentsMethods.Parse(rootNode); OnSavedPaymentMethodsRecieved(savedPaymentsMethods); } break; case QUICK_PAYMENT_LIST: { XsollaQuickPayments quickPayments = new XsollaQuickPayments(); quickPayments.Parse(rootNode); OnQuickPaymentMethodsRecieved(quickPayments); } break; case COUNTRIES: { XsollaCountries countries = new XsollaCountries(); countries.Parse(rootNode); OnCountriesRecieved(countries); } break; case VIRTUAL_PAYMENT_SUMMARY: { XVirtualPaymentSummary summary = new XVirtualPaymentSummary(); summary.Parse(rootNode); Logger.Log("VIRTUAL_PAYMENT_SUMMARY " + summary.ToString()); if (summary.IsSkipConfirmation) { Logger.Log("IsSkipConfirmation true"); pDataArgs.Add("dont_ask_again", 0); ProceedVPayment(pDataArgs); } else { Logger.Log("IsSkipConfirmation false"); OnVPSummaryRecieved(summary); } } break; case VIRTUAL_PROCEED: { XProceed proceed = new XProceed(); proceed.Parse(rootNode); Logger.Log("VIRTUAL_PROCEED " + proceed.ToString()); if (proceed.IsInvoiceCreated) { Logger.Log("VIRTUAL_PROCEED 1"); long operationId = proceed.OperationId; pDataArgs.Add("operation_id", operationId); VPaymentStatus(pDataArgs); } else { Logger.Log("VIRTUAL_PROCEED 0 "); OnVPProceedError(proceed.Error); } } break; case VIRTUAL_STATUS: { XVPStatus vpStatus = new XVPStatus(); vpStatus.Parse(rootNode); //{"errors":[ {"message":"Insufficient balance to complete operation"} ], "api":{"ver":"1.0.1"}, "invoice_created":"false", "operation_id":"0", "code":"0"} Logger.Log("VIRTUAL_STATUS" + vpStatus.ToString()); OnVPStatusRecieved(vpStatus); } break; case APPLY_PROMO_COUPONE: { XsollaForm form = new XsollaForm(); form.Parse(rootNode); OnApplyCouponeReceived(form); } break; case COUPON_PROCEED: { XsollaCouponProceedResult couponProceed = new XsollaCouponProceedResult(); couponProceed.Parse(rootNode); if (couponProceed._error != null) { Logger.Log("COUPON_PROCEED ERROR: " + couponProceed._error); OnCouponProceedErrorRecived(couponProceed); } else { long operationId = couponProceed._operationId; if (pDataArgs.ContainsKey("coupon_code")) { pDataArgs.Remove("coupon_code"); } pDataArgs.Add("operation_id", operationId); VPaymentStatus(pDataArgs); } } break; case HISTORY: { XsollaHistoryList history = new XsollaHistoryList().Parse(rootNode["operations"]) as XsollaHistoryList; OnHistoryRecieved(history); } break; case CALCULATE_CUSTOM_AMOUNT: { //TODO: fill method CustomVirtCurrAmountController.CustomAmountCalcRes res = new CustomVirtCurrAmountController.CustomAmountCalcRes().Parse(rootNode["calculation"]) as CustomVirtCurrAmountController.CustomAmountCalcRes; OnCustomAmountResRecieved(res); } break; default: break; } } else { XsollaError error = new XsollaError(); error.Parse(rootNode); OnErrorReceived(error); } } else { JSONNode errorNode = JSON.Parse(pRequestResult.TextRequest); string errorMsg = errorNode["errors"].AsArray[0]["message"].Value + ". Support code " + errorNode["errors"].AsArray[0]["support_code"].Value; int errorCode = 0; if (pRequestResult.ErrorText.Length > 3) { errorCode = int.Parse(pRequestResult.ErrorText.Substring(0, 3)); } else { errorCode = int.Parse(pRequestResult.ErrorText); } OnErrorReceived(new XsollaError(errorCode, errorMsg)); } if (projectId != null && !"".Equals(projectId)) { LogEvent("UNITY " + SDK_VERSION + " REQUEST", projectId, pRequestResult.Url); } else { LogEvent("UNITY " + SDK_VERSION + " REQUEST", "undefined", pRequestResult.Url); } }
public new void OnErrorReceived(XsollaError error) { }