交流QQ群 ASP.NET鹰组 460845632 我会倾囊相授php
咱们要作微信支付当配置好微信微信商户和支付配置以后咱们首先应该看 https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1#ajax
这是微信统一下单的参数,我将这个参数作成了一个数据模型json
当作好这个数据模型以后仔细看一下里面那些参数是必须的,支付金额要注意,微信是按分来计算的api
接下来咱们就要生成签名,我这写好了个类 生成签名后 返回提交的值.....先给你们看图微信
注意我这里是先生成签名,再把签名拼接到订单的参数里面而且签名排序了,下面的代码能够直接拿来用app
接下来是代码微信支付
public string OrderSign(WXOrder order) ui
{ spa
Dictionary<string, string> dic = ClassToObject.ClassToType.Test(order);xml
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 我会倾囊相授