国产精品一区二区三区……-大杳蕉伊人欧美一本遒在饯-日本不卡一区免费在线观看-国产亚洲欧美中文字幕

400-800-9385
網(wǎng)站建設(shè)資訊詳細(xì)

小程序?qū)崿F(xiàn)微信支付的實(shí)現(xiàn)方法介紹及問(wèn)題解答

發(fā)表日期:2019-01-11 09:15:07   作者來(lái)源:方維網(wǎng)絡(luò)   瀏覽:5154   標(biāo)簽:小程序微信支付    
隨著小程序快速發(fā)現(xiàn),小程序的支付接口也已經(jīng)很普遍的運(yùn)用了,下面直接講小程序支付的實(shí)現(xiàn)功能(接口使用的是thinkphp代碼):
 小程序js代碼如下圖所示

微信支付小程序代碼

需要注意的是,這里需要要用到md5.js文件
 
然后是接口代碼如下圖所示:

小程序JS代碼

Openid 是通過(guò)會(huì)員表的字段獲取到小程序的唯一標(biāo)識(shí)openid,$notifi_url是異步回調(diào)的地址,這個(gè)回調(diào)地址可以自己定義,不需要在商戶賬號(hào)那里設(shè)置。$data就是返回到小程序的JSON數(shù)據(jù).
接下來(lái)小程序代碼如下圖:

JS代碼

如果設(shè)置正確,沒(méi)會(huì)彈出微信支付的窗口,提示支付完成,并跳轉(zhuǎn)到訂單列表頁(yè)面。
提前條件是必須把小程序APPID,小程序的APPSECRET,商戶號(hào)MCHID和商戶支付密鑰KEY設(shè)置正確,缺一不可,如果商戶號(hào)已經(jīng)接入過(guò)微信支付接口了,就需要問(wèn)客戶提供商戶支付密鑰,否則可以自己重置商戶支付密鑰,注意公眾號(hào)和小程序是可以使用同一個(gè)商戶的,因?yàn)樾〕绦虻幕卣{(diào)地址可以在代碼里填寫(xiě),不需要在商戶賬號(hào)那里授權(quán)地址才能使用。
 
問(wèn)題解答部分:
1.調(diào)用支付JSAPI缺少參數(shù):total_fee。
t小程序的Console里出現(xiàn)這個(gè)提示,很多人以為是金額有問(wèn)題,其實(shí)是pkg出錯(cuò)了,其中pkg='prepay_id=' + res_pay.data.pay_arr.prepay_id; 如果用 console.log(pkg),會(huì)出現(xiàn)prepay_id=undefined,即res_pay.data.pay_arr.prepay_id為空,那么哪些參數(shù)會(huì)導(dǎo)致這種情況呢?最典型的是openid獲取不正確,因?yàn)樾〕绦蛑Ц稌r(shí)需要獲得用戶的openid。如下圖所示:

代碼參數(shù)

還有一種可能是訂單號(hào)的問(wèn)題,如果訂單在該商戶已經(jīng)支付過(guò)了,就不能再使用,這個(gè)問(wèn)題出現(xiàn)的概率比較低。
支付驗(yàn)證簽名失敗這個(gè)基本是由商戶支付密鑰key出錯(cuò)引起的,不要以為接口的配置文件填寫(xiě)正確的key就可以用了,還要知道小程序里也要把商戶的key傳遞到接口里,如下圖所示:
var paySign = md5.hexMD5('appId=' + appId + '&nonceStr=' + nonceStr + '&package=' + pkg + '&signType=MD5&timeStamp=' + timeStamp + "&key=" + app.configData.wxpay_secret).toUpperCase();
其中的app.configData.wxpay_secret就是與接口里的商戶支付密鑰KEY是相同的,要填寫(xiě)正確,否則出現(xiàn)簽名失敗的問(wèn)題。
 

如沒(méi)特殊注明,文章均為方維網(wǎng)絡(luò)原創(chuàng),轉(zhuǎn)載請(qǐng)注明來(lái)自http://pdcharm.com/news/4855.html
相關(guān)網(wǎng)站設(shè)計(jì)案例
堆龙德庆县| 永丰县| 蓝山县| 叙永县| 灵丘县| 独山县| 河西区| 亳州市| 金川县| 涿州市| 建湖县| 巨野县| 将乐县| 巨野县| 井冈山市| 白玉县| 会东县| 连平县| 襄樊市| 利川市| 达孜县| 新宁县| 永新县| 彩票| 晴隆县| 丹棱县| 赤壁市| 东海县| 姚安县| 高密市| 永平县| 浙江省| 无棣县| 湟中县| 祁门县| 札达县| 闵行区| 青川县| 合作市| 阜新市| 南丰县|