本帖最后由 结冰的离季 于 2023-2-15 21:49 编辑 
SakuraPurchase
简介
本项目为练手项目,可能存在一些问题,但不意味我放弃了这个项目,我会一直维护的
项目处于早期阶段,目前只实现了bukkit端的二维码支付
特点
画饼
其他
截图
bukkit端插件接入的游戏内支付 https://www.mcbbs.net/thread-1425075-1-1.html
 
 
本人不会前端,以下是改自模板
 
 
安装&配置
SakuraPurchaseServer
这是支付服务端,负责向wechat、支付宝发起支付请求,处理数据
前往 Release
下载 SakuraPurchaseServer-x.x.x-xx.jar
-full 后缀的是全包; -thin 的是瘦身包,启动时会下载依赖
选择一个即可
如果要使用前端界面则下载 web.zip 文件放到同目录下
并放到服务器的任意文件夹中,创建并配置好文件 application.yml
复制代码
接口API文档
API文档由 Knife4j 生成
请运行服务端然后输入: 服务端地址/doc.html
如
http://localhost:80/doc.html
 
 
 
 
启动服务端
创建启动脚本 Windows start.bat
复制代码
Linux start.sh
复制代码
其中 -Dthin.root 参数表示依赖存放位置,设置为.表示当前路径下 其他参数见此
最后运行 start.sh / start.bat 即可,如果是thin版第一次启动需要下载依赖
SakuraPurchase
简介
这不是一个支付平台, 而是由你自己来运营支付服务端, 你需要有营业z书并到wechat\支付宝申请接口。
本项目基于 SpringBoot 提供wechat、支付宝二维码付款方式的 RESTful 集成 API
本项目为练手项目,可能存在一些问题,但不意味我放弃了这个项目,我会一直维护的
项目处于早期阶段,目前只实现了bukkit端的二维码支付
特点
- 简易后台管理、统计界面
- 通过knif4j提供好看的网页API接口文档
- 目前提供了bukkit端的接入插件
- SpringBoot -- 企业都在用的框架以保证稳定性
 
画饼
- 更多支付方式
- 直接在网页购买游戏内商品
- ...
 
其他
- 本项目使用了best-pay-sdk支付但经过我个人修复bug与修改。
- 感谢 Springboot、Knife4j、Mybtais、Mybatis plus、thymeleaf
- 等项目提供了便利的工具让程序员专注于 业 务 代码
 
截图
bukkit端插件接入的游戏内支付 https://www.mcbbs.net/thread-1425075-1-1.html
本人不会前端,以下是改自模板
安装&配置
SakuraPurchaseServer
这是支付服务端,负责向wechat、支付宝发起支付请求,处理数据
前往 Release
下载 SakuraPurchaseServer-x.x.x-xx.jar
-full 后缀的是全包; -thin 的是瘦身包,启动时会下载依赖
选择一个即可
如果要使用前端界面则下载 web.zip 文件放到同目录下
并放到服务器的任意文件夹中,创建并配置好文件 application.yml
- server:
 
-   # 端口号
 
-   port: 80
 
- spring:
 
-   thymeleaf:
 
-     cache: true
 
-     prefix: file:templates/ #如果使用前端管理界面则位前端资源的路径
 
-   profiles:
 
-     active: dev
 
-   security:
 
-     user:
 
-       #配置 账户给bukkit端使用
 
-       name: test   # 用户名
 
-       password: 123456  # 密码
 
-       roles: # 角色
 
-         - API
 
-         - ADMIN
 
-   # 数据库设置
 
-   datasource:
 
-     driver-class-name: com.mysql.cj.jdbc.Driver
 
-     url: jdbc:mysql://localhost:3306/sakura_purchase?useSSL=false&allowPublicKeyRetrieval=true
 
-     username: username
 
-     password: password
 
-   # 初始化数据库,如果你不清楚这是什么请不要动
 
-   sql:
 
-     init:
 
-       mode: always
 
-       schema-locations: classpath:db/schema.sql
 
-   mvc:
 
-     static-path-pattern: /static/**
 
 
- # 支付宝支付,自行注册申请 https://certifyweb.alipay.com/certify/reg/guide#/
 
- alipay:
 
-   # 应用ID,您的APPID,收款账号既是您的APPID对应支付宝账号,在沙箱应用中获取
 
-   appId:
 
-   # 商户私钥,您的PKCS8格式RSA2私钥,通过开发助手生成的应用私钥
 
-   privateKey:
 
-   # 支付宝公钥,在沙箱应用获取,通过应用公钥生成支付宝公钥
 
-   aliPayPublicKey:
 
-   # 服务器异步回调接口,不填也没事 需https://格式的完整路径
 
-   notifyUrl: http://localhost:80/api/pay/notify
 
-   # 签名方式
 
-   sandbox: false
 
 
- # ** 支付设置 APIv2,自行去申请 https://pay.weixin.qq.com/index.php/apply/applyment_home/guide_normal
 
- wechat:
 
-   appId:
 
-   mchId:
 
-   mchKey:
 
-   # 证书pkcs12格式 apiclient_cert.p12
 
-   keyPath: 'C:\Users\Iseason2000\Desktop\apiclient_cert.p12'
 
-   # 服务器异步回调接口,不填也没事 http://格式的完整路径
 
-   notifyUrl: http://localhost:80/api/pay/notify
 
 
- #日志管理
 
- logging:
 
-   file:
 
-     path: ./logs
 
-   level:
 
-     root: info
 
-     okhttp3: warn
 
-     com.lly835.bestpay: warn
 
-   logback:
 
-     rollingpolicy:
 
-       max-history: 7
 
-       max-file-size: 10MB
 
-       clean-history-on-start: true
 
接口API文档
API文档由 Knife4j 生成
请运行服务端然后输入: 服务端地址/doc.html
如
http://localhost:80/doc.html
启动服务端
创建启动脚本 Windows start.bat
- java -Dthin.root=. -jar SakuraPurchaseServer-1.x.x.jar 
 
- pause
Linux start.sh
- java -Dthin.root=. -jar SakuraPurchaseServer-1.x.x.jar 
 
- pause
其中 -Dthin.root 参数表示依赖存放位置,设置为.表示当前路径下 其他参数见此
最后运行 start.sh / start.bat 即可,如果是thin版第一次启动需要下载依赖
项目部分代码来自第三方库,但主要接口逻辑均为原创,MIT协议
 本帖最后由 倾奥 于 2023-2-17 13:49 编辑 
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) ~[na:1.8.0_351]
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) ~[na:1.8.0_351]
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) ~[na:1.8.0_351]
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) ~[na:1.8.0_351]
at java.net.AbstractPlainSocketImpl.connect(Unknown Source) ~[na:1.8.0_351]
at java.net.PlainSocketImpl.connect(Unknown Source) ~[na:1.8.0_351]
at java.net.SocksSocketImpl.connect(Unknown Source) ~[na:1.8.0_351]
at java.net.Socket.connect(Unknown Source) ~[na:1.8.0_351]
at com.mysql.cj.protocol.StandardSocketFactory.connect(StandardSocketFactory.java:153) ~[mysql-connector-java-8.0.30.jar!/:8.0.30]
at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:63) ~[mysql-connector-java-8.0.30.jar!/:8.0.30]
... 51 common frames omitted
如何解决emm
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) ~[na:1.8.0_351]
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) ~[na:1.8.0_351]
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) ~[na:1.8.0_351]
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) ~[na:1.8.0_351]
at java.net.AbstractPlainSocketImpl.connect(Unknown Source) ~[na:1.8.0_351]
at java.net.PlainSocketImpl.connect(Unknown Source) ~[na:1.8.0_351]
at java.net.SocksSocketImpl.connect(Unknown Source) ~[na:1.8.0_351]
at java.net.Socket.connect(Unknown Source) ~[na:1.8.0_351]
at com.mysql.cj.protocol.StandardSocketFactory.connect(StandardSocketFactory.java:153) ~[mysql-connector-java-8.0.30.jar!/:8.0.30]
at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:63) ~[mysql-connector-java-8.0.30.jar!/:8.0.30]
... 51 common frames omitted
如何解决emm
倾奥 发表于 2023-2-17 13:44
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketI ...
数据库配置不对