// GET: Easypay/Callback?paymentId=xyz&purchase=success
        public async Task<ActionResult> Callback(string paymentId, string purchase)
        {
            var msg = new Response { Title = "Technical Problem", Message = "", PaymentId = paymentId};

            if (purchase == "success")
            {
                var reqId = msg.ReqId = Guid.NewGuid().ToString();

                var easypayConfig = GetEasypayConfig();
                easypayConfig.Basepath = "/ce-rest-service";

                try
                {
                    var message = await EasypayRequest.CommitPaymentRequest(paymentId, easypayConfig, reqId);

                    if (message.Success)
                        msg.Title = "Success";
                    else
                        msg.Message = message.Messages.Select(x => string.Join(", ", x.Code, x.Field, x.RequestId)).FirstOrDefault();
                }
                catch (Exception ex)
                {
                    msg.Message = ex.Message;

                }
            }
            else
            {
                msg.Title = "Purchase terminated with state: '" + purchase + "'";
            }

            return View("ResponsePage", msg);
        }
        // GET: Easypay
        public async Task<ActionResult> Status(string paymentId, string reqId)
        {
            var easypayConfig = GetEasypayConfig();
            easypayConfig.Basepath = "/ce-rest-service";

            var message = await EasypayRequest.GetPaymentStatus(paymentId, easypayConfig, reqId);
            var msg = new Response { Title = "STATUS: " + message.Status, Message = "Msisdn: " + message.FormattedMsisdn + ", OrderID: " + message.OrderID + ", Payment Info: " + message.PaymentInfo + ", CHF " + message.Amount, PaymentId = paymentId, ReqId = reqId };

            return View("ResponsePage", msg);
        }