🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
### **配置支付** 小程序授权以后,在\[微信小程序支付配置\] 栏目,点击编辑配置 ![](http://h-img.bslyun.com/004fe4460e12cb67f961c8124711a01b) 配置完成后得到AppKEY值。 ![](http://h-img.bslyun.com/01cf115260990e956a3dad45bea13038) ### **支付配置** ![](http://h-img.bslyun.com/8fa3b877f2da552e179314ad6d437433) 微信商户ID:微信商户分配的ID号。[微信帮助](https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=3_1) 微信商户秘钥:微信商户平台配置的密钥。[微信帮助](https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=3_1) 异步通知地址:网站程序对应的导步通知网址,支付完成后微信回复此网址。[微信帮助](https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_7&index=3) 小程序appid:小程序【开发设置】内查找。如图 小程序secert:小程序【开发设置】内查找。如图 ![](http://h-img.bslyun.com/7b85670723b119420b2d787fc46e9cbe) 支付后跳转页面路径:要求全网址,如:http://www.baidu.com/1.html > 微信异步不能带有任何参数。只能填写文件网址如:http://域名/wxpay.php ,具体要求查看微信相关帮助。 > ### **网站集成** 代码 ``` <script src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script> <script src="https://passport.cnblogs.com/scripts/jsencrypt.min.js"></script> <script src="https://wxservice.appbsl.com.cn/public/static/js/encryption.js"></script> <script >    function topay() { //跳转支付,topay可自定义。 wx.miniProgram.getEnv(function(res) { // wx.miniProgram.getEnv小程序定义 if(res.miniprogram){ //判断是否为小程序环境,res.miniprogram小程序定义 var ordersn = ''; //要支付的订单号,确保唯一 如20190329123456,不能空。 var money = ''; //要支付的金额 如200,不能空。 var key = ''; //配置完成后得到平台AppKEY值。,不能空。 var goodsname = ''; //商品名称,不能空。 goodsname = goodsname.length>8?goodsname.substr(0,8)+'…':goodsname; var encrypt_str = encryption(ordersn,money,key,goodsname);//跳转小程序需要带的参数 var url = "/zsk_browser/pages/pay/pay?encrypt_str=" + encrypt_str;//跳转小程序的路径 wx.miniProgram.redirectTo({ //跳转小程序方法 url: url }); } }) } </script> ``` 跳转小程序支付代码,ordersn,money,key 三个参数均不能为空,空时无法跳转支付。 ordersn:定单号,系统与网站代码统一 money:支付的金额,异步确定是否支付。 goodsname: 商品名称 key:小程序配置页分配的KEY值,如图: ![](http://h-img.bslyun.com/01cf115260990e956a3dad45bea13038) ### **DEMO** 不能直接使用,补全信息才可以正常使用。 ``` <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=0"> <title>小程序支付demo</title> <script src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script> <script src="https://passport.cnblogs.com/scripts/jsencrypt.min.js"></script> <script src="https://wxservice.appbsl.com.cn/public/static/js/encryption.js"></script> </head> <body> <script >    function topay() { //跳转支付 wx.miniProgram.getEnv(function(res) { if(res.miniprogram){ //判断是否为小程序环境 var ordersn = ''; //要支付的订单号,确保唯一 如20190329123456 var money = ''; //要支付的金额 如200 var key = ''; //你的AppKey,在小程序配置页面获取 var goodsname = ''; //商品名称 goodsname = goodsname.length>8?goodsname.substr(0,8)+'…':goodsname; var encrypt_str = encryption(ordersn,money,key,goodsname);//跳转小程序需要带的参数 var url = "/zsk_browser/pages/pay/pay?encrypt_str=" + encrypt_str;//跳转小程序的路径 wx.miniProgram.redirectTo({ //跳转小程序方法 url: url }); } }) } </script> <a href="#" onclick="topay()">小程序微信支付</a> </body> </html> </html> ``` #### ***常见问题*** **支付完成后跳转网址** 在支付相关配置里面配置 **支付完成后如何知道用户是否支付** 异步通知,每种支付平台都有异步,请查看对应平台帮助。导步的网址在支付相关配置内置。 **无法付提示:获取定单失败** ![](http://h-img.bslyun.com/eedc85c2d4eb1017cd066d386ee50b6c) 1、查看小程序支付相关配置是否正确。 2、如果该网站支持公众号支付,需要确保小程序支付传递的订单号ordersn在公众号支付中未使用过微信统一下单接口,否则将无法调起微信小程序支付。 (建议小程序支付订单号加后缀用来区分订单号,避免订单号重复。如:公众号支付订单号为:20190329123456,则小程序订单号为:20190329123456a)