前段時(shí)間幫一個(gè)朋友的基于ecshop開發(fā)的商城加入微信掃描支付功能,本以為是很簡(jiǎn)單的事兒——下載官方sdk或開發(fā)幫助文檔,按著里面的做就ok了,誰(shuí)知折騰了兩三天的時(shí)間才算搞定,中間也帶著疑問(wèn)在網(wǎng)上找了不少技術(shù)文章,卻發(fā)現(xiàn)都只是比較粗略的寫他們是怎么開發(fā)接入的,并沒(méi)有解決我遇到的問(wèn)題...,唉,有時(shí)候真心的感覺(jué)‘只能靠自己’。本文就是想把自己遇到的問(wèn)題及解決辦法寫出來(lái),讓做這方面開發(fā)的朋友有所幫助!
開發(fā)之前,先查看官方【掃碼支付】開發(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)寫技術(shù)博客有些找不到感覺(jué),寫的可能比較粗略,有不清楚的朋友可以留意&交流!
參考網(wǎng)站>>
Ecshop微信支付插件.rar

我的微信訂閱號(hào):zxcknowmore,你的關(guān)注與支持,是我多寫博文的動(dòng)力!
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注