這篇文章主要講解了“如何解決分享微信掃碼支付開(kāi)發(fā)遇到的問(wèn)題”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“如何解決分享微信掃碼支付開(kāi)發(fā)遇到的問(wèn)題”吧!
鳳陽(yáng)ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書(shū)銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書(shū)合作)期待與您的合作!開(kāi)發(fā)之前,先查看官方【掃碼支付】開(kāi)發(fā)文檔,掃碼支付分為以下兩種模式:
△模式一:
遇到的問(wèn)題:第一次掃描二維碼還能正常掃描,未付款再次掃描會(huì)提示:ok 或 請(qǐng)求商戶信息超時(shí)HttpCode非200——此問(wèn)題嘗試通過(guò)各種途徑尋找解決辦法都無(wú)果,在這里希望有知道朋友能給與解答,謝謝!
△模式二:
注意:不可以直接用商城的訂單號(hào)作為交易訂單號(hào)(out_trade_no),否則再次生成微信掃碼支付二維碼時(shí),接口會(huì)提示:商戶訂單號(hào)重復(fù),無(wú)法重新生成。
那么醬紫問(wèn)題來(lái)了,應(yīng)該怎樣設(shè)置交易訂單號(hào),還能保證后面通過(guò)接口查詢微信商戶平臺(tái)里的相應(yīng)訂單信息或?qū)崿F(xiàn)對(duì)賬?可行的辦法是:掃碼之前的統(tǒng)一下單接口,out_trade_no不要傳入商城訂單系統(tǒng)的訂單號(hào),而是重新生成一個(gè)新的流水;再增加一個(gè)訂單號(hào)和微信支付交易訂單號(hào)(out_trade_no)對(duì)應(yīng)表,如下:
上表中有個(gè)serial_is_paid字段:用于標(biāo)記此交易是否已完成,即:在支付成功通知回調(diào)處理中,根據(jù)回傳的out_trade_no更新支付狀態(tài);至于怎么查詢訂單支付狀態(tài),想必你應(yīng)該也知道了...
好了,很久沒(méi)寫(xiě)技術(shù)博客有些找不到感覺(jué),寫(xiě)的可能比較粗略,有不清楚的朋友可以留意&交流!
到處都是坑的微信支付V3之 微信支付回調(diào)頁(yè)面
據(jù)上次 到處都是坑的微信支付V3 后很多園友在被虐了千百遍后終于跳轉(zhuǎn)到了親切的微信支付界面,但輸入密碼支付后卻不知道怎么處理了,接下來(lái)補(bǔ)上支付后的處理流程。
1. html中根據(jù)前臺(tái)支付后反饋信息成功與否跳轉(zhuǎn)到相關(guān)頁(yè)面
if (res.err_msg == "get_brand_wcpay_request:ok") { // message: "微信支付成功!", window.location.replace("@Url.Content("~/WxPay/Success?ordercode=@(Model.order_no)")); }else if (res.err_msg == "get_brand_wcpay_request:cancel") { // message: "已取消微信支付!" }
2. 支付開(kāi)發(fā)教程(微信商戶平臺(tái)版) 中下載 微信支付接口文檔及demo(公眾賬號(hào)).zip
返回的參數(shù)參考接口文檔中 4.2.通用通知接口 一節(jié)。
通知 URL是 4.1 節(jié)中提交的參數(shù) notify_url ,支付完成后,微信 會(huì)把相關(guān)和用戶信息發(fā)送到該URL,商戶需要接收處理信息。
//支付回調(diào)頁(yè)面 public ActionResult notice_url() { string resultFromWx = getPostStr(); //設(shè)置支付參數(shù) RequestHandler paySignReqHandler = new RequestHandler(null); WriteLog(" 微支付notice resultFromWx=" + resultFromWx); var res = XDocument.Parse(resultFromWx); //通信成功 if (res.Element("xml").Element("return_code").Value == "SUCCESS") { if (res.Element("xml").Element("result_code").Value == "SUCCESS") { //交易成功 paySignReqHandler.SetParameter("return_code", "SUCCESS"); paySignReqHandler.SetParameter("return_msg", "OK"); string ordecode = res.Element("xml").Element("out_trade_no").Value; BLL.orders Bll = new BLL.orders(); try { if (Bll.Update(ordecode )) { WriteLog(" 微支付交易成功=" + ordecode); } else { WriteLog(" 微支付交易失敗=" + ordecode); } } catch (Exception ex) { WriteLog(ex," 微支付交易異常=" + ordecode); } } else { paySignReqHandler.SetParameter("return_code", "FAIL"); paySignReqHandler.SetParameter("return_msg", "交易失敗"); } } else { paySignReqHandler.SetParameter("return_code", "FAIL"); paySignReqHandler.SetParameter("return_msg", "簽名失敗"); } string data = paySignReqHandler.ParseXML(); var result = TenPayV3.Unifiedorder(data); WriteLog(" 微支付notice result=" + result); return View(); }
注意:
因此接收到成功支付后需要返回代碼中紅色的部分來(lái)提醒微信服務(wù)器已處理,否則會(huì)不斷收到微信服務(wù)器的反饋。
getPostStr()方法:
//獲得Post過(guò)來(lái)的數(shù)據(jù) public string getPostStr() { Int32 intLen = Convert.ToInt32(Request.InputStream.Length); byte[] b = new byte[intLen]; Request.InputStream.Read(b, 0, intLen); return System.Text.Encoding.UTF8.GetString(b); }
感謝各位的閱讀,以上就是“如何解決分享微信掃碼支付開(kāi)發(fā)遇到的問(wèn)題”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)如何解決分享微信掃碼支付開(kāi)發(fā)遇到的問(wèn)題這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
本文標(biāo)題:如何解決分享微信掃碼支付開(kāi)發(fā)遇到的問(wèn)題-創(chuàng)新互聯(lián)
文章路徑:http://jinyejixie.com/article28/cchocp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、做網(wǎng)站、營(yíng)銷型網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)、商城網(wǎng)站、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容