交流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 我會傾囊相授