作為日常支付業(yè)務(wù),微信的接入逐漸進(jìn)入了大家的視野。今天以PC端接入微信支付的基本流程來(lái)說(shuō)明。
先看圖

這個(gè)序例圖比較復(fù)雜,涵蓋了當(dāng)前微信支持的H5,PC掃碼等。其實(shí)都是大同小異。
簡(jiǎn)單來(lái)說(shuō),如下圖

微信里面提到的掃碼支付,就同上。一般來(lái)說(shuō),掃碼支付是有兩種模式的。一種就是先根據(jù)productid,調(diào)用微信接口,它會(huì)返回一個(gè)微信的二維碼,當(dāng)用戶(hù)掃碼之后,調(diào)用你在微信掃碼支付的回調(diào)地址,再發(fā)起一次統(tǒng)一下單請(qǐng)求。用戶(hù)打開(kāi)微信后支付。這一段,在模式二的情況下省略成一步了。
動(dòng)手碼代碼:
準(zhǔn)備工作
A 微信SDK調(diào)用封裝,https://github.com/foxinmy/weixin4j(作者是湖南人),整個(gè)SDK封裝還不錯(cuò)。能大大簡(jiǎn)化我們?nèi)腴T(mén)的開(kāi)發(fā)。
B 二維碼顯示 用來(lái)顯示微信生成的二維碼,https://github.com/Mrironcc/jquery-qrcode-master
1 封裝業(yè)務(wù)參數(shù),生成二維碼

2 微信二維碼

3 調(diào)用jquery的qrcode

對(duì)應(yīng)的二維碼

3 回調(diào)的處理

這段邏輯有一個(gè)比較重要的簽名驗(yàn)證,實(shí)際就是驗(yàn)證這個(gè)回調(diào)請(qǐng)求是不是微信發(fā)起的。如果非篡改,則告訴微信成功。
以上代碼塊,部分可以在https://github.com/foxinmy/weixin4j的項(xiàng)目里面找到。其它,是經(jīng)過(guò)整理的。比較適合入門(mén)的一篇文章。
本文沒(méi)有涉及其它如訂單查詢(xún)(這個(gè)其實(shí)在掃碼支付的時(shí)候,一定會(huì)用到的。異步查詢(xún)訂單狀態(tài),定位用戶(hù)掃碼支付后的頁(yè)面),訂單關(guān)閉,退款等輔助流程。
我的微信公眾號(hào),歡迎溝通學(xué)習(xí)。
