企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## 一、概述 用于公众号内开发的网页应用,就是在微信浏览器页面中,提供的支付手段; 在微信商户中配置好JASPI支付的相关配置,如域名等; ## 二、开通条件 ### **支付产品配置** ![](https://img.kancloud.cn/7b/84/7b84991e402973235f544fb083ef00d7_1366x736.png) ![](https://img.kancloud.cn/b3/7f/b37f3f2b2ccc7e3377b535d7d23c4c47_1366x736.png) 设置好回调授权域名: ![](https://img.kancloud.cn/5d/82/5d824f994d17df464a667660361e79e3_1366x736.png) ### **公众号配置** ![](https://img.kancloud.cn/a5/26/a5264bea03f4c6d5e1a2ac45a79090ed_1920x942.png) >[danger] 网页授权域名一定要正确配置,前后端分离架构的,必须配置后端部署所在服务器的域名; ## 三、公众号内H5应用使用方案 ``` /api/system/payment/wechat/jsapi/order ``` 免登陆版本: ``` /api/system/payment/wechat/jsapi/order/everywhere ``` 1、调用上述接口,进行统一下单,获取订单信息; 2、将订单信息返回给前端; 3、前端基于订单数据,调出微信app的支付窗口,完成支付,即可; >[danger] 公众号内使用,可以在登陆的时候,就可以获取openId,获取openId的方法,请参考下面的章节; ## 四、公众号外H5应用使用方案 如果是在公众号之外,仅仅是通过普通的H5页面,因为微信浏览器访问的时候,不允许用H5支付,这个时候需要用JSAPI支付才能实现支付;那么,在支付的时候,如果已经有了当前用户的openId,则直接调用即可,如果没有,则要获取openId,具体的方法,请参考下面的章节;然后再调用JSAPI支付接口即可; ``` /api/system/payment/wechat/jsapi/order ``` 免登陆版本: ``` /api/system/payment/wechat/jsapi/order/everywhere ``` ### **平台配置** 支付配置部分,参考微信H5支付即可; 提供绑定了微信支付商户的公众号的参数配置; ``` rayframework.open.weixin-official-account-app-id=wx269b4dcca0dc0179 rayframework.open.weixin-official-account-app-secret=7018d610c743b9e715c0ecda50b97319 ``` ## 五、获取openId 如何获取openId的问题,请参考; [获取OpenId](../../../%E5%BC%80%E6%94%BE%E5%B9%B3%E5%8F%B0/%E5%BE%AE%E4%BF%A1%E5%85%AC%E5%8F%B7/%E6%8A%80%E6%9C%AF%E6%96%B9%E6%A1%88/%E8%8E%B7%E5%8F%96OpenId.md) ## 六、注意事项 1、支付授权域名: 前端访问域名、后端服务域名以及`rayframework.callback.wechat-pay-url`配置的服务地址,它们可以分布在不同的服务器(不同域名)中,但要求这些服务器域名都必须设置到`支付授权域名`中; 2、网页授权域名: 如果是公众号外使用的微信支付,不能忘记配置`网页授权域名`(且必须配置后端服务器部署的域名),因为需要用到oauth2来获取openId(公众号内使用微信支付的时候,当然也需要配置,只是这种情况下一般都不会忘记配置`网页授权域名`);