// 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); }