zoukankan      html  css  js  c++  java
  • 微信APP支付成功后,回调(C# .netcore)

    微信APP支付成功后,回调(C# .netcore)

            [HttpPost]
            public async Task<string> GetNotify()
            {
                //获取回调POST过来的xml数据的代码
                Stream stream = HttpContext.Request.Body;
                byte[] buffer = new byte[HttpContext.Request.ContentLength.Value];
                await stream.ReadAsync(buffer, 0, buffer.Length); //.net core 3.1需要用ReadAsync才不会出错
                string xml = System.Text.Encoding.UTF8.GetString(buffer);
    
                //System.IO.File.WriteAllText(@"D:
    otify.txt", xml);//将POST过来的xml数据写入TXT文件,用于postman测试
    
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.LoadXml(xml);
    
                if (xmlDoc.DocumentElement.GetElementsByTagName("return_code")[0].InnerText == "SUCCESS")
                {
                    string RechargeMoney = xmlDoc.DocumentElement.GetElementsByTagName("total_fee")[0].InnerText;  //充值金额
                    string RechargeTime = xmlDoc.DocumentElement.GetElementsByTagName("time_end")[0].InnerText;  //充值时间
                    string RechargeNo = xmlDoc.DocumentElement.GetElementsByTagName("out_trade_no")[0].InnerText;  //订单号
                    string Result_Code = xmlDoc.DocumentElement.GetElementsByTagName("result_code")[0].InnerText;  //result_code
                    string Return_Code = xmlDoc.DocumentElement.GetElementsByTagName("return_code")[0].InnerText;  //return_code
                    string TransactionId = xmlDoc.DocumentElement.GetElementsByTagName("transaction_id")[0].InnerText;  //商户平台支付单号
                    
              
             //这里是进行各种逻辑代码,最好对sign进行下验证
              
                    return "<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>"; //回调成功返回给微信,避免重复回调
              return "<xml><return_code><![CDATA[FAIL]]></return_code><return_msg><![CDATA[ERROR]]></return_msg></xml>"; //回调失败返回给微信
            } 
          }
  • 相关阅读:
    poj_1084 剪枝-IDA*
    搜索算法
    poj_1475 BFS+BFS
    chrome浏览器经常无响应
    charles抓包工具的使用:手机抓包设置和安装证书
    charles抓包工具的使用:概述
    不同局域网如何利用charles对app进行抓包
    fiddler之使用教程(一)
    一点感触
    单元测试框架处理多组数据的另一种写法:基于构造函数和超继承
  • 原文地址:https://www.cnblogs.com/wishit/p/14061138.html
Copyright © 2011-2022 走看看