我们使用IFrame方法在.NET MVC项目中实现了SagePay。但是,我们面临着响应重定向的问题。
通过sage付款成功付款后,所有回复都在IFrame内加载。我们想在父窗口本身重定向响应的位置。
我们还注意到在.NET Sage Kit演示中,使用以下代码正确地进行了重定向。
Response.Write(string.Format(“RedirectURL = {0} server / Result.aspx?Status = {1}& VendorTxCode = {2}”,SagePaySettings.SiteFqdn,serverNotificationRequest.Status,serverNotificationRequest.VendorTxCode)) ;
在我们的MVC框架工作中,我们也以相同的格式形成了具有略微不同代码的URL,即
context.HttpContext.Response.Output.WriteLine(“RedirectURL = {0} PaymentResponse / Success?Status = OK& VendorTxCode = {1}”,SagePaySettings.SiteFqdn,response.VendorTxCode);
请帮助我们解决这个问题。
答案 0 :(得分:1)
为了实现这一点,我使用ContentResult来更新父URL。
return new ContentResult
{
Content = string.Format("<script type='text/javascript'>window.parent.location.href = '{0}';</script>", newurl),
ContentType = "text/html"
};