真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯網站制作重慶分公司

ASP.NETMVC開發(fā)微信支付Html5的示例分析-創(chuàng)新互聯

這篇文章給大家分享的是有關ASP.NET MVC開發(fā)微信支付Html5的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名注冊、網絡空間、營銷軟件、網站建設、銀海網站維護、網站推廣。

H5支付是指商戶在微信客戶端外的移動端網頁展示商品或服務,用戶在前述頁面確認使用微信支付時,商戶發(fā)起本服務呼起微信客戶端進行支付。

主要用于觸屏版的手機瀏覽器請求微信支付的場景。可以方便的從外部瀏覽器喚起微信支付。

微信開放平臺上的也只是簡單的介紹了一下邏輯和常見問題,網上查看了很多,說的都不夠具體

首先需要在微信商戶平臺里開通 H5支付

申請入口:登錄商戶平臺-->產品中心-->我的產品-->支付產品-->H5支付

代碼邏輯:

1、用戶在商戶側完成下單,使用微信支付進行支付

2、由商戶后臺向微信支付發(fā)起下單請求(調用統(tǒng)一下單接口)注:交易類型trade_type=MWEB

3、統(tǒng)一下單接口返回支付相關參數給商戶后臺,如支付跳轉url(參數名“mweb_url”),商戶通過mweb_url調起微信支付中間頁

4、中間頁進行H5權限的校驗,安全性檢查

5、如支付成功,商戶后臺會接收到微信側的異步通知

6、用戶在微信支付收銀臺完成支付或取消支付,返回商戶頁面(默認為返回支付發(fā)起頁面)

7、商戶在展示頁面,引導用戶主動發(fā)起支付結果的查詢

8,9、商戶后臺判斷是否接到收微信側的支付結果通知,如沒有,后臺調用我們的訂單查詢接口確認訂單狀態(tài)

10、展示最終的訂單支付結果給用戶

我們需要用到的參數:

  • AppID(應用ID)

  • AppSecret(應用密鑰)

  • 微信支付商戶號

  • 微信商戶支付密鑰

我這里使用了第三方封裝的SDK。謝謝開發(fā)者SDK的幫助。

Senparc.Weixin

獻上地址:/tupian/20230522/Error>  Com.Wxpay.WxPayConfig wxConfig = new Com.Wxpay.WxPayConfig();           Senparc.Weixin.MP.TenPayLibV3.RequestHandler packageReqHandler = new Senparc.Weixin.MP.TenPayLibV3.RequestHandler(null);           packageReqHandler.SetParameter("appid", wxConfig.appid);//APPID           packageReqHandler.SetParameter("mch_id", wxConfig.mchid);//商戶號           packageReqHandler.SetParameter("nonce_str", Senparc.Weixin.MP.TenPayLibV3.TenPayV3Util.GetNoncestr());           packageReqHandler.SetParameter("body", "測試商品");           packageReqHandler.SetParameter("out_trade_no", model.OrderID);//訂單號           packageReqHandler.SetParameter("total_fee", cost.ToString()); //金額,以分為單位           packageReqHandler.SetParameter("spbill_create_ip", Request.UserHostAddress);//IP           packageReqHandler.SetParameter("notify_url", "http://" + HttpContext.Request.Url.Host + "/WxPay/PayNotifyUrl"); //回調地址           packageReqHandler.SetParameter("trade_type", "MWEB");//這個不可以改。固定為Mweb           packageReqHandler.SetParameter("sign", packageReqHandler.CreateMd5Sign("key", wxConfig.key));           string data = packageReqHandler.ParseXML();           var urlFormat = "/tupian/20230522/unifiedorder";           var formDataBytes = data == null ? new byte[0] : Encoding.UTF8.GetBytes(data);           MemoryStream ms = new MemoryStream();           ms.Write(formDataBytes, 0, formDataBytes.Length);           ms.Seek(0, SeekOrigin.Begin);           var result = RequestUtility.HttpPost(urlFormat, null, ms);           var res = System.Xml.Linq.XDocument.Parse(result);           string mweb_url = res.Element("xml").Element("mweb_url").Value;

然后我們會得到下面的Xml


 
 
 
 
 
 
 
 
 
 

提取到   mweb_url,綁定到href上即可。

立即支付

支付成功之后,在回調地址里處理業(yè)務邏輯

/// 
    /// 支付結果回調地址
    /// 
    /// 
    [HttpPost]
    public virtual ActionResult PayNotifyUrl()
    {
     
      Com.Wxpay.WxPayConfig wxConfig = new Com.Wxpay.WxPayConfig();
      Senparc.Weixin.MP.TenPayLibV3.ResponseHandler payNotifyRepHandler = new Senparc.Weixin.MP.TenPayLibV3.ResponseHandler(null);
      payNotifyRepHandler.SetKey(wxConfig.key);

      string return_code = payNotifyRepHandler.GetParameter("return_code");
      string return_msg = payNotifyRepHandler.GetParameter("return_msg");
      string xml = string.Format(@"", return_code, return_msg);

      if (return_code.ToUpper() != "SUCCESS")
      {
        return Content(xml, "text/xml");
      }

      string out_trade_no = payNotifyRepHandler.GetParameter("out_trade_no");
      //微信服務器可能會多次推送到本接口,這里需要根據out_trade_no去查詢訂單是否處理,如果處理直接返回:return Content(xml, "text/xml"); 不跑下面代碼

      //驗證請求是否從微信發(fā)過來(安全)
      if (payNotifyRepHandler.IsTenpaySign())
      {
        //TO DO
      }
      else
      {

      }
      return Content(xml, "text/xml");
    }

注意:

不要使用此url直接打開,會提示錯誤。

感謝各位的閱讀!關于“ASP.NET MVC開發(fā)微信支付Html5的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!


名稱欄目:ASP.NETMVC開發(fā)微信支付Html5的示例分析-創(chuàng)新互聯
網頁鏈接:http://weahome.cn/article/cseeii.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部