微信JSAPI支付 统一下单 (.net后台)_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 微信JSAPI支付 统一下单 (.net后台)

微信JSAPI支付 统一下单 (.net后台)

 2016/6/26 5:30:16  玉景哥哥  程序员俱乐部  我要评论(0)
  • 摘要:交流QQ群ASP.NET鹰组460845632我会倾囊相授我们要做微信支付当配置好微信微信商户和支付配置之后我们首先应该看https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1#这是微信统一下单的参数,我将这个参数做成了一个数据模型当做好这个数据模型之后仔细看一下里面那些参数是必须的,支付金额要注意,微信是按分来计算的接下来我们就要生成签名,我这写好了个类生成签名后返回提交的值.....先给大家看图注意我这里是先生成签名
  • 标签:.net API net SAP JS

 交流QQ群  ASP.NET鹰组 460845632  我会倾囊相授

我们要做微信支付当配置好微信微信商户和支付配置之后我们首先应该看   https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1#

这是微信统一下单的参数,我将这个参数做成了一个数据模型

 

 

 

当做好这个数据模型之后仔细看一下里面那些参数是必须的,支付金额要注意,微信是按来计算的

 

接下来我们就要生成签名,我这写好了个类  生成签名后 返回提交的值.....先给大家看图

  注意我这里是先生成签名,再把签名拼接到订单的参数里面并且签名排序了,下面的代码可以直接拿来用

 

 

接下来是代码

 

 public string OrderSign(WXOrder order)  

{       

       Dictionary<string, string> dic = ClassToObject.ClassToType.Test(order);

       dic = dic.OrderBy(m => m.Key).ToDictionary(m => m.Key, m => m.Value);  

       StringBuilder sb = new StringBuilder();      

       StringBuilder sbXml = new StringBuilder();     

        sbXml.Append("<xml>");    

        foreach (var item in dic)        

      { 

                sbXml.Append("<" + item.Key + ">" + item.Value + "</" + item.Key + ">");

                sb.Append(item.Key + "=" + item.Value + "&");       

      }          

       sb.Append("key=" + WXConfig.Config.KEY);          

       string str = sb.ToString().Replace(" ", "");      

       string sign = Common.Tool.GetMD5(str);        

      sbXml.Append("<sign>" + sign + "</sign></xml>");     

        return sbXml.ToString().Replace(" ", "");

}

 

接下来就是统一下单的请求了,

上面的方法会返回一个XML ,将这个XML  POST请求到 https://api.mch.weixin.qq.com/pay/unifiedorder

 

请求之后如果正确返回值是一个XML  解析方方法如下

 

 

将xml解析之后会返回一个键值对集合  我只提取了需要的四个值,注意 prepay_id是统一下单后订单的的信息,jsapi靠这个获取支付信息

 

之后将使用jsapi 发起支付    如果没有做过jsapi的请查看我的博客,有非常详细的讲解

 

我们看一下jsapi是怎么发起支付的

我是用ajax 请求的后台拿到上面的数据,返回的json  , 到此微信jsapi支付完成

 

如果你有什么不懂得可以加我的 QQ群  ASP.NET鹰组 460845632  我会倾囊相授

 

发表评论
用户名: 匿名