protected override void CheckUnfinishedPaymentStatus(XsollaStatus status, XsollaForm form) { Logger.Log("Check Unfinished Payment Status"); if (status.GetGroup() == XsollaStatus.Group.DONE) { var purchase = TransactionHelper.LoadPurchase(); XsollaResult result = new XsollaResult(purchase); result.invoice = status.GetStatusData().GetInvoice(); result.status = status.GetStatusData().GetStatus(); Logger.Log("Ivoice ID " + result.invoice); Logger.Log("Bought", purchase); if (TransactionHelper.LogPurchase(result.invoice)) { if (OkHandler != null) { OkHandler(result); } } else { Logger.Log("Alredy added"); } TransactionHelper.Clear(); } }
private void OnUserStatusExit(XsollaStatus.Group group, string invoice, Xsolla.XsollaStatusData.Status status, Dictionary <string, object> pPurchase = null) { Logger.Log("On user exit status screen"); switch (group) { case XsollaStatus.Group.DONE: Logger.Log("Status Done"); menuTransform.gameObject.SetActive(true); if (result == null) { result = new XsollaResult(); } result.invoice = invoice; result.status = status; if (pPurchase != null) { result.purchases = pPurchase; } Logger.Log("Ivoice ID " + result.invoice); Logger.Log("Status " + result.status); Logger.Log("Bought", result.purchases); TransactionHelper.Clear(); if (OkHandler != null) { OkHandler(result); } else { Logger.Log("Have no OkHandler"); } break; case XsollaStatus.Group.TROUBLED: case XsollaStatus.Group.INVOICE: case XsollaStatus.Group.UNKNOWN: default: result.invoice = invoice; result.status = status; Logger.Log("Ivoice ID " + result.invoice); Logger.Log("Status " + result.status); Logger.Log("Bought", result.purchases); TransactionHelper.Clear(); if (OkHandler != null) { OkHandler(result); } else { Logger.Log("Have no OkHandler"); } break; } }
private void CheckUnfinished() { Logger.Log("Check unfinished payments"); if (TransactionHelper.CheckUnfinished()) { Logger.Log("Have unfinished payments"); Payment.StatusReceived += CheckUnfinishedPaymentStatus; var request = TransactionHelper.LoadRequest(); if (request != null) { Payment.GetStatus(request); } else { TransactionHelper.Clear(); Payment = null; } } }
private void OnUserStatusExit(XsollaStatus.Group group, XsollaStatusData statusData) { Logger.Log("On user exit status screen"); switch (group) { case XsollaStatus.Group.DONE: Logger.Log("Status Done"); menuTransform.gameObject.SetActive(true); result.invoice = statusData.GetInvoice(); result.status = statusData.GetStatus(); Logger.Log("Ivoice ID " + result.invoice); Logger.Log("Status " + result.status); Logger.Log("Bought", result.purchases); TransactionHelper.Clear(); if (OkHandler != null) { OkHandler(result); } else { Logger.Log("Have no OkHandler"); } break; case XsollaStatus.Group.TROUBLED: Logger.Log("Status TROUBLED"); TryAgain(); break; case XsollaStatus.Group.INVOICE: case XsollaStatus.Group.UNKNOWN: default: Logger.Log("Status in proccess"); TryAgain(); break; } }