小程序开发

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

编辑时间:2019-11-13 10:51  浏览次数:浏览次数

伴随小程序迅速发现,小程序的支付接口也已经很一般的利用了,下面直接讲小程序支付的实现功能(接口采取的是thinkphp代码):需求留意的是,这里需求要用到md5.js文件。Openid 是通过顾客表的字段获得到小程序的唯一标识openid,$notifi_url是异步回调的地址,这个回调地址能够自己定义,不需求在商户账号那里设立。$data就是返回到小程序的JSON数据.

假如设立恰当,没会弹出微信支付的窗口,提醒支付完结,并跳转到订单列表页面。提早条件是必须把小程序APPID,小程序的APPSECRET,商户号MCHID和商户支付密钥KEY设立恰当,缺一不可,假如商户号已经接入过微信支付接口了,就需求问客户提供商户支付密钥,否则能够自己重置商户支付密钥,留意公众号和小程序是能够采取同1个商户的,因为小程序的回调地址能够在代码里填写,不需求在商户账号那里授权地址才能采取。
 
问题回答部分:
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是一样的,要填写恰当,否则出现签名失败的问题。



本文地址:http://app.qd-ljr.com/opertion/xcx2728.html

免责声明:我司网站转载此文,不代表本网的观点和立场。不以盈利为目的,如有侵犯公司或个人权益,我司会第一时间删除文章。 软为科技是小程序开发公司,欢迎咨询免费获取思维导图!
推荐阅读
软件开发

软为科技是一家2009年成立于的IT外包公司,我们致力于为企业提供app软件开发和微信小程序开发服务。公司成立10年来,我们为民政部、方正电子、神州数码、联想控股、壹基金、首钢集团、大学、师范大学、今麦郎、丰汇租赁、万通控股等上百家企业提供了IT外包服务。我们努力实现每一位客户的托付,为客户创造实在的效益,让您与梦想走得更近。

微信咨询

扫描微信二维码
同市场经理沟通需求

感受专业服务,从来电咨询开始
QQ306963448178-3663-9926