zoukankan      html  css  js  c++  java
  • 微信支付JSAPI支付V3支付通知接口

    首先我们会在配置支付请求参数的时候,配置了回调地址(notify_url),支付完成微信服务器就会将结果推送到这个地址上,我们只是需要获取那些数据就可以了,然后根据处理相关业务。

    后台代码:

            /// <summary>
            /// 微信服务器支付结果通知接口
            /// </summary>
            /// <returns></returns>
            public ActionResult PayNotifyUrl()
            {
    
                Senparc.Weixin.MP.TenPayLibV3.ResponseHandler payNotifyRepHandler = new Senparc.Weixin.MP.TenPayLibV3.ResponseHandler(null);
    
                payNotifyRepHandler.SetKey(Key);
    
                //返回的参数
                string return_code = payNotifyRepHandler.GetParameter("return_code");//返回状态码
                string return_msg = payNotifyRepHandler.GetParameter("return_msg");//返回信息
    
                string xml = string.Format(@"<xml><return_code><![CDATA[{0}]]></return_code><return_msg><![CDATA[{1}]]></return_msg></xml>", return_code, return_msg);
           
                //支付失败直接返回
                if (return_code.ToUpper()!="SUCCESS")
                {
                    return Content(xml, "text/xml");
                }
    
                //因为微信服务器会多次推送通知到这里,所以需要在这里判断订单是否已经完成支付,如果完成,则不进行下面操作
    
                string out_trade_no = payNotifyRepHandler.GetParameter("out_trade_no");//商户订单号
    //验证请求是否从微信发过来(安全) if (payNotifyRepHandler.IsTenpaySign()) { //正确的订单处理 } else { //错误的订单处理 } return Content(xml, "text/xml"); }
  • 相关阅读:
    Docker部署nginx
    解决网页在手机端适配问题
    记一次Jenkins+Docker+gitlab自动化部署vue
    Docker部署jenkins
    备案
    Jenkins插件使用--Publish Over SSH
    打开root用户ssh登陆
    gitlab配置git
    Dokcer容器内无法域名解析
    vue开发环境搭建
  • 原文地址:https://www.cnblogs.com/rockchen/p/4479003.html
Copyright © 2011-2022 走看看