小程序?qū)崿F(xiàn)微信支付的實現(xiàn)方法介紹及問題解答
隨著小程序的迅速發(fā)現(xiàn),小程序的支付接口得到了廣泛的應(yīng)用。下面是小程序 payment的實現(xiàn)函數(shù)(界面使用thinkphp代碼):
下圖顯示了小程序js代碼。
需要注意的是,這里需要md5.js文件。
那么界面代碼如下圖所示:
Openid是通過成員表的字段獲得的小程序的唯一標(biāo)識openid,$notifi_url是異步回調(diào)的地址。這個回撥地址可以自己定義,不需要在商家賬號里設(shè)置。$data是返回給小程序的JSON數(shù)據(jù)。
接下來,小程序代碼如下:
如果設(shè)置正確,不會彈出微信支付窗口,提示支付完成,跳轉(zhuǎn)到訂單列表頁面。
進階條件是小程序APPID、小程序的APPSECRET、商戶號MCHID、商戶支付密鑰必須設(shè)置正確,兩者缺一不可。如果商戶號已經(jīng)接入微信支付接口,則需要要求客戶提供商戶支付密鑰,否則可以自行重置商戶支付密鑰。注意,微信官方賬號和小程序可以用同一個商家,因為/
問答部分:
1.調(diào)用支付JSAPI的參數(shù)缺失:total_fee。
該提示符出現(xiàn)在t 小程序的控制臺中。很多人覺得金額有問題,其實pkg搞錯了,這里pkg = & # 39prepay _ id = & # 39+RES _ pay . data . pay _ arr . prepay _ id;如果使用console.log(pkg)會出現(xiàn)prepay_id=undefined,即res_pay.data.pay_arr.prepay_id為空,那么是哪些參數(shù)會造成這種情況呢?通常不會正確獲取openid,因為小程序在付費時需要獲取用戶的openid。如下圖所示:
另一種可能是訂單號的問題。如果訂單已經(jīng)在商家支付,則不能再次使用。這個問題的概率比較低。
支付簽名驗證失敗,基本都是因為商家的支付鍵錯誤造成的。不要只為接口的配置文件填寫正確的密鑰,還要知道商家的密鑰要在小程序中傳遞給接口,如下圖所示:
var pay sign = MD5 . hex MD5(& # 39;appId = & # 39+appId+& # 39;& ampnonceStr = & # 39+non centr+& # 39;& amppackage = & # 39+pkg+& # 39;& ampMD5 & amp時間戳= & # 39;+時間戳+& quot;& ampkey = & quot+ app.configData.wxpay_secret)。toupper case();
app.configData.wxpay_secret與界面中的商戶支付密鑰相同,所以要正確填寫,否則簽名會失敗。
云崛起專注于商城開發(fā)小程序在會員、訂單、支付方面經(jīng)驗豐富。歡迎客戶咨詢010-57278867。
寒武紀(jì). render(“尾巴”)
本文由“云崛起”原創(chuàng)發(fā)布,未經(jīng)許可,禁止轉(zhuǎn)載!本文原創(chuàng)鏈接:http://www.ijcxpl.cn/weixinfenxiao/2470.html