Appearance
常见问题 ¶
在调用需要证书的接口时,出现 javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)错误 ¶
原因:ssl 握手失败,使用了java.security不支持的版本,换一下最新的JDK即可, 例如 corretto Jdk
支付订单有效期是多久,如何进行设置? ¶
支付订单有效期默认是30分钟,如果超过30分钟,支付订单会自动失效。可以在管理后台设置默认的支付订单有效期。也可以通过调用接口设置支付订单有效期,接口如果传输了过期时间,优先使用接口传入的过期时间。
点击登录时报未开启超级管理员权限
错误提示 ¶
系统中没有开启超级管理员用户的登录权限,可以在配置文件中设置
bootx.starter.auth.enable-admin
属性为true
,开启超级管理员权限即可。
如何在生产环境关闭Swagger
接口文档? ¶
可以在配置文件中设置
knife4j.production
属性为true
,关闭Swagger接口文档。
yaml
knife4j:
# 开启knife4j接口文档增强特性
enable: true
# 是否为生产环境, 为true关闭swagger接口
production: true
本地运行正常,部署到服务器上报 "/xx/xx" 没有对应的权限错误 ¶
通常是Nginx接口转发时路径转发错误,可以查看服务或者Nginx端输出日志,确定路径是否转发正确,根据错误信息修改Nginx配置文件。
微信OAuth2认证和OpenId获取时的一种方案 ¶
问题说明
由于微信部分支付类型需要上送OpenId
信息,OpenId
信息的获取需要走微信OAuth2认证,同时微信OAuth2认证需要使用到授权回调地址
只可以配置两个。 多数时候我们一个微信账号会对应多个系统,此时将无法为每个系统配置不同的回调地址,所以我们可以通过重定向的方式来绕过可配置授权回调地址
数量的限制,具体方式如下:
- 使用
Nginx
起一个转发服务,通过二级目录区分业务系统并进行重定向,如https://nginx.xxxx.com/daxpay/
,nginx.xxxx.com为Nginx转发服务的地址,daxpay为区分业务系统的二级目录 - 将这个
Nginx服务转发地址
配置为微信的授权回调地址
中,来处理后续的授权回调请求 - 在服务商通道配置或支付通道配置中
微信OAuth2认证服务地址
配置为该地址加用于区分使用的二级目录,后续生成的授权回调地址中经过转发服务进行重定向,从而绕开授权回调地址
数量的限制
这里的说明只针对通过DaxPay系统获取OpenId的情况,如果自行获取OpenId,则进行自行处理,但收银台、聚合支付、码牌等网关支付方式将不可以选择使用需要获取OpenId的支付方式