You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ASP.NET应用中获取Moneris 3DS认证返回的cres值

在ASP.NET中获取Moneris 3DS挑战流的cres值

根据你的场景,Moneris 3DS服务器会通过POST请求将cres值发送到你指定的notificationURL,以下是不同ASP.NET环境下的获取方式:

ASP.NET Core

方式1:模型绑定

定义接收模型,通过[FromForm]特性自动绑定表单数据:

public class ThreeDSNotificationRequest
{
    public string Cres { get; set; }
}

[HttpPost("notification")]
[IgnoreAntiforgeryToken] // 禁用CSRF验证,Moneris请求不会携带你的令牌
public IActionResult Receive3DSNotification([FromForm] ThreeDSNotificationRequest request)
{
    string cresValue = request.Cres;
    // 调用mpiCavvLookup接口提交cres值,处理后续逻辑
    return Ok();
}

方式2:直接读取表单集合

无需定义模型,直接从表单集合中提取值:

[HttpPost("notification")]
[IgnoreAntiforgeryToken]
public IActionResult Receive3DSNotification()
{
    string cresValue = Request.Form["cres"];
    // 处理逻辑
    return Ok();
}

ASP.NET Framework(MVC/Web Forms)

MVC控制器

[HttpPost]
public ActionResult Notification()
{
    string cresValue = Request.Form["cres"];
    // 调用mpiCavvLookup并处理结果
    return new EmptyResult();
}

Web Forms(代码后置)

在对应.aspx页面的代码文件中:

protected void Page_Load(object sender, EventArgs e)
{
    if (IsPostBack)
    {
        string cresValue = Request.Form["cres"];
        // 执行后续处理
    }
}

注意事项

  • 确保notificationURL端点允许POST请求,未被防火墙或路由规则拦截。
  • 建议添加请求验证逻辑(比如检查来源IP、验证Moneris签名),防范恶意请求。
  • 若Moneris发送JSON格式请求(通常为x-www-form-urlencoded),可改用[FromBody]绑定模型或读取Request.Body解析JSON。

内容的提问来源于stack exchange,提问作者Asif Aziz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 19:20:40