SpringBoot一梦支付系统搭建完全教程

懂Java Spring Boot的朋友可以选择性的参考被教程,小白就完全按步骤来吧!

首先Linux系统安装宝塔,这个省略

然后安装Java环境,有2种方式:

第一种下载java8 sdk 然后设置Linux环境变量

第二种简单的方式:在宝塔的软件商店里找到Java项目一键部署


安装完成后点击设置,安装Tomcat8(安装成功,再卸载即可,目的是保留安装好的Java环境)


这时可以打开宝塔终端查看Java是否安装成功,如下提示表示成功


下面将源程序拷贝到你的宝塔目录,如下图:


接着安装数据库和创建数据库,导入sql文件


下面是最重要的修改Config配置文件:

有2个文件其中application.yml里面修改数据库配置


config.properties文件修改支付宝当面付申请的appId和密钥,以及支付成功后的回调地址


#支付成功的外部回调地址
#参数userId  userName  appId  subject goodsId outTradeNo  totalAmount

#回调地址 根据充值链接中的appId参数回调。
out_notify_url=http://xxxxxx.com/notify{n}.php

#回调的密钥混淆 这个字段非常重要要,保障了接口的安全性,要保密  充值成功回掉地址会携带这个
out_sign=你的签名

# 支付宝网关名、partnerId和appId
# ali.open_api_domain=https://openapi.alipaydev.com/gateway.do
ali.open_api_domain=https://openapi.alipay.com/gateway.do

#ali.appid=2016102500759420
ali.appid=你的APP ID

# 应用私钥 支付宝开放平台开发助手生成
ali.private_key=你的私钥
#SHA256withRsa支付宝公钥 (在应用设置里用应用公钥生成的支付宝公钥)
ali.alipay_public_key=你的公钥
# 签名类型: RSA->SHA1withRsa,RSA2->SHA256withRsa
ali.sign_type=RSA2

#异步回调地址
ali.notify_url=http://127.0.0.1:8090/pay/notify
#同步回调地址
ali.return_url=http://127.0.0.1:8090/pay/return

ali.format=json
ali.charset=utf-8

#最后付款时间,创建后开始倒计时
ali.timeout_express=5m

其中参数{n}不要修改,这个值会被程序自动转换为你支付链接里传入的appId

回调接口要求通过post接受参数:

userId :充值链接传入用户标识

userName :充值链接传入用户标识

appId :充值链接传入应用标识

subject :充值商品标题

outTradeNo :订单号

totalAmount:总金额

最后:

启动服务(加nohup不在控制台打印日志,关闭终端服务不关闭)
nohup java -jar ym_payment-0.0.1-SNAPSHOT.jar &

停止服务
ps -ef|grep java 

kill -9 pid

演示支付地址: http://ymbok.com:8090/pay?appId=1&userId=1&userName=一梦
演示查看流水 http://ymbok.com:8090/pay/log



内容来源与作者发布和网络,如有版权相关问题请及时与我们取得联系,我们将立即删除。

关于作者

还如一梦中 点击这里给我发消息

相关推荐

这些你应该也会喜欢

解决Flutter输入法遮挡页面问题

这个问题看网上有很多解决方法,发现几乎都是错误的,并且麻烦,这里有个简单的方法,借助bottom:MediaQuery.of(context).padding.bottom;这个bottom的值是系统...

2021-08-20 11:29:22 还如一梦中
Flutter给页面增加滚动SingleChildScrollView

使用SingleChildScrollView可以给页面增加滚动:late ScrollController _controller = ScrollController();SingleChildS...

2021-08-20 09:10:34 还如一梦中
2021Flutter发布package到Pub终极解决方案

整整折腾了1天半终于成功吧package上传到了pub上。先花了15在淘宝找人代注册了个google账户。先取消配置的环境变量FLUTTER_STORAGE_BASE_URL https://stor...

2021-05-27 11:49:52 还如一梦中
SpringBoot一梦支付系统搭建完全教程

懂Java Spring Boot的朋友可以选择性的参考被教程,小白就完全按步骤来吧!首先Linux系统安装宝塔,这个省略然后安装Java环境,有2种方式:第一种下载java8 sdk 然后设置Lin...

2021-07-13 19:18:28 还如一梦中
Oracle之分区数据删除

---查看分区的名字SELECT a.table_name,a.partition_name FROM user_tab_partitions  a WHERE a.table_name = 'TES...

2021-07-14 16:34:52 落花飞雪
Oracle之row_number() over()函数

      row_number() over()函数,用于给数据库表中的记录进行标号,在使用的时候,其后还跟着一个函数 over(),而函数 over() 的作用是将表中的记录进行分组和排序即:RO...

2021-07-14 16:31:02 落花飞雪
Oracle之rownum不能使用大于>的问题

    今日在写sql测试突然发现rownum进行“、=、=、between...and”运算时语法不报错但查不出一条记录,而“、=、!=”运算却可以,起初以为sql写的有问题,反复确认后亦之,故网上...

2021-07-01 13:44:30 落花飞雪
Oracle之Top写法

由于Oracle不支持select top 语句,所以在Oracle中经常是用order by 跟rownum的组合来实现select top n的查询。实现方法如下所示:select 列名1 ......

2021-07-01 11:36:01 落花飞雪
StatefulBuilder实现Dialog的刷新

在Flutter中使用Dialog时,因为showDialog返回的context与当前页面的context不是同一个,所以通过setState是无法刷新Dialog里面的页面的。这时我们就可以用St...

2021-06-21 17:08:14 还如一梦中
Flutter 输入控件TextField设置内容并保持光标在末尾

///默认的Controller if (widget.controller == null) { defaultController = TextEditingController.from...

2021-06-28 17:59:23 还如一梦中
在线客服