[TOC] ### **准备工作** 1、小程序绑定商户号。 2、支付程序自行完善。导步通知,定单状态处理。有公众号支付可以共用同一导步通知。 ### **操作流程** **1、授权** 小程序授权以后,在\[微信小程序支付配置\] 栏目,点击编辑配置 ![](http://h-img.bslyun.com/dc66eb0d4943b77b158472de641faea5) **2、支付相关配置** ![](http://h-img.bslyun.com/ca4482bf6ee8b51ba3e45ad06197bfc5) 窗口内填写对应的值 ![](http://h-img.bslyun.com/b86927d3567217a86212cdb2807b825f) 微信商户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) ***注***:微信异步不能带有任何参数。只能填写文件网址如:[http://www.baidu.com/wxpay.php](http://www.baidu.com/wxpay.php),具体要求查看微信相关帮助。 小程序appid:小程序【开发设置】内查找。如图 小程序secert:小程序【开发设置】内查找。如图 ![](http://h-img.bslyun.com/7b85670723b119420b2d787fc46e9cbe) 支付后跳转页面路径:要求全网址,如:[http://www.baidu.com/1.html](http://www.baidu.com/1.html) **3、网站集成** 引入微信JS文件,添加跳转小程序支付代码。 微信JS文件 ~~~ <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> ~~~ 跳转小程序支付代码,ordersn,money,key 三个参数均不能为空,空时无法跳转支付。 ordersn:定单号,系统与网站代码统一 money:支付的金额,异步确定是否支付。 goodsname: 商品名称 key:小程序配置页分配的KEY值,如图: ![](http://h-img.bslyun.com/9b8c511fd6a3ca2ef4d3688429444a57) ~~~ <script >    function topay() { //跳转支付 wx.miniProgram.getEnv(function(res) { if(res.miniprogram){ //判断是否为小程序环境 var ordersn = ''; //要支付的订单号,确保唯一 如20190329123456 var money = ''; //要支付的金额 如200 var key = ''; //你的AppKey,在小程序配置页面获取 var 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> ~~~ ### **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 = ''; //商品名称 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)