OETY欧亿|Home

135-2716-3909
网站建设资讯详细

小程序实□□□□现微信支□□□付的实现□□□□方法介绍□□□□及问题解◆答

发表日期:2026-06-18 09:15:07   作者来源:OETY欧亿   浏览:6308   标签:小程序微信支付    
随着小程□□序快速发□□现,小程序的□□□支付接口◇也已经很□□普遍的运□□□□用了,下面直接□□□□讲小程序□□□支付的实□□□□现功能(接口使用丨的是thinkphp代码):
 小程序js代码如下图所示

微信支付小程序代码

需要注意□□□的是,这里需要◤要用到md5.js文件
 
然后是接□□口代码如□□□□下图所示:

小程序JS代码

Openid 是通过会员表的字段获取到小程序的唯一标识openid,$notifi_url是异步回调的地址,这个回调地址可以自己定义,不需要在商户账号那里设置。$data就是返回到小程序的JSON数据.
接下来小□□程序代码□□□□如下图:

JS代码

如果设置□□□□正确,没会弹出□□微信支付□□□的窗口,提示支付□□□□完成,并跳转到□□□□订单列表□□□页面。
提前条件是必须把小程序APPID,小程序的APPSECRET,商户号MCHID和商户支付密钥KEY设置正确,缺一不可,如果商户号已经接入过微信支付接口了,就需要问客户提供商户支付密钥,否则可以自己重置商户支付密钥,注意公众号和小程序是可以使用同一个商户的,因为小程序的回调地址可以在代码里填写,不需要在商户账号那里授权地址才能使用。
 
问题解答□□□部分:
1.调用支付JSAPI缺少参数:total_fee。
t小程序的Console里出现这·个提示,很多人以□□□□为是金额□□有问题,其实是pkg出错了,其中pkg='prepay_id=' + res_pay.data.pay_arr.prepay_id; 如果用 console.log(pkg),会出现prepay_id=undefined,即res_pay.data.pay_arr.prepay_id为空,那么哪些□□参数会导□□致这种情□□□□况呢?最典型的□□□是openid获取不正□□□□确,因为小程□□□□序支付时□□需要获得※用户的openid。如下图所★示:

代码参数

还有一种□□□可能是订□□□□单号的问□□□□题,如果订单□□在该商户□□□□已经支付▽过了,就不能再□□□使用,这个问题◣出现的概◤率比较低。
支付验证□□□签名失败□□□□这个基本□□是由商户□□□□支付密钥key出错引起□□□□的,不要以为□□□□接口的配□□□置文件填□□□写正确的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是相同的,要填写正□□□□确,否则出现◇签名失败□□□□的问题。
 

如没特殊注明,文章均为OETY欧亿原创,转载请注明来自https://www.hd-banhen.com/news/4855.html