This action will force synchronization from 小柒2012/spring-boot-pay, which will overwrite any changes that you have made since you forked the repository, and can not be recovered!!!
Synchronous operation will process in the background and will refresh the page when finishing processing. Please be patient.
支付服务:支付宝,微信,银联详细 代码案例 (支付宝和微信支付测试均需要企业认证,如果没有企业推荐使用 [服务商模式] 申请开通个人商户 也可以测试 ),项目启动前请仔细阅读 注意事项 。
支付管理后台演示地址:国内领先的支付管理平台
1)为什么会有这个一个项目?
因为平台有多个项目,每个项目都有支付模块,所以就单独出来了一个服务,这样就可以复用呗。
2)服务通过什么方式调用?
当然是 RPC 了,通过注册中心调用服务,技术栈 Zookeeper + Dubbo,这两个玩意都可以做集群。
3)使用 RPC 有什么好处?
一是安全啊,我们项目部署在私有云,注册中心一般不会对外开放,那就不存在 HTTP 接口所谓的鉴权了; 二是高效啊,毕竟 RPC 是基于四层协议的,相对来说的确会高那么一点点,这个大家可以自行测试,但是我觉得对于大部分公司,这个不重要。
4)这个项目可以拿来即用吗?
当然可以,只要只配置好相关参数,把接口类打个包,扔给消费者就是了,当然了,一些业务逻辑还是需要自己去实现的。
5)如何保证高可用?
那就部署多个服务,Dubbo 默认负载均衡策略是轮询,你也可以配置成其他策略,比如根据机器配置设置加权之类的。Zookeeper 也可以啊,保证 2N+1 台就是了。
一个有温度的微信公众号,期待与你共同进步,分享美文,分享各种Java学习资源
以下所有支付Demo,测试通过,真实有效。
扫码支付、电脑支付、WAP支付、APP支付服务端
扫码支付(模式一二)、公众号H5支付、WAP支付
电脑支付、WAP支付
SpringMvc-Dubbox-pay版本(废弃不再维护)
JDK1.8、Maven、IDEA、SpringBoot2.2.6、Dubbo2.7.3、zookeeper3.5.3
配置Dubbo需要安装注册中心zookeeper(不过撸主已经在配置文件中为大家准备了公益注册中心): http://www.52itstyle.top/thread-19791-1-1.html
基础配置初始化类:com.itstyle.common.cinfig.InitPay
最后想测试相关支付效果,请自行配置支付宝、微信以及银联相关账号以及证书
启动并访问项目:http://localhost:8080/pay
此案例只是实现了部分功能,其它功能大家按需根据自己的业务逻辑自行实现,最重要的下单和回调已经实现
由于工作原因,项目正在完善中(仅供参考),随时更新日志,有疑问请留言或者加群
地址:http://localhost:8080/pay/swagger-ui.html
配置说明:https://blog.52itstyle.vip/archives/1473/
部分功能完善中!!!
签约功能列表:
支付宝网关名、partnerId和appId
open_api_domain = https://openapi.alipay.com/gateway.do
mcloud_api_domain = http://mcloudmonitor.com/gateway.do
此处请填写你的PID
pid =XXXXXXXXXXXXXX
此处请填写你当面付的APPID
appid =XXXXXXXXXXXXXX
RSA私钥、公钥和支付宝公钥
private_key = XXXXXXXXXXXXXX
public_key = XXXXXXXXXXXXXX
alipay_public_key = XXXXXXXXXXXXXX
当面付最大查询次数和查询间隔(毫秒)
max_query_retry = 5
query_duration = 5000
当面付最大撤销次数和撤销间隔(毫秒)
max_cancel_retry = 3
cancel_duration = 2000
交易保障线程第一次调度延迟和调度间隔(秒)
heartbeat_delay = 5
heartbeat_duration = 900
支付宝的SDK-alipay-sdk-java这里下载: https://docs.open.alipay.com/54/103419/
大家比较好奇的alipay-trade-sdk从这里下载的TradePayDemo项目中的额lib下面,不过是16年的,目前来说还是可以使用的: https://docs.open.alipay.com/54/104506/
服务号的应用ID
APP_ID = XXXXXXXXXXXXXX
服务号的应用密钥
APP_SECRET = XXXXXXXXXXXXXX
服务号的配置token
TOKEN = XXXXXXXXXXXXXX
商户号
MCH_ID = XXXXXXXXXXXXXX
API密钥
API_KEY = XXXXXXXXXXXXXX
签名加密方式
SIGN_TYPE = MD5
微信支付证书名称
CERT_PATH = apiclient_cert.p12
支付宝生成支付二维码Demo已经测试完成
支付宝手机端H5支付Demo已经测试完成
支付宝电脑支付Demo已经测试完成
微信二维码支付模式二Demo测试完成
微信公众号支付(需要添加认证网址)
银联支付电脑支付Demo测试完成
银联支付H5支付Demo测试完成
微信二维码支付模式一Demo测试完成
集成Dubbo服务,全注解提供RPC服务
集成logback日志组间
集成HTTPS证书安全服务
集成微信H5(WAP)支付
{"alipay_trade_precreate_response":{"code":"40003","msg":"Insufficient Conditions","sub_code":"isv.missing-signature-config","sub_msg":"应用未配置对应签名算法的公钥或者证书"}}
二维码支付报错:应用未配置对应签名算法的公钥或者证书。记得17年申请的时候貌似不需要门店,如果是18年申请二维码支付需要门店并申请签约才可以使用。
支付密钥sign_type升级为RSA2注意事项:
1)当面付(扫码支付)
pom.xml中下载最新的alipay-trade-sdk,并在配置zfbinfo.properties参数中增加以下参数:
# 签名类型: RSA->SHA1withRsa,RSA2->SHA256withRsa
sign_type = RSA2
2)电脑支付或者手机支付
需要在创建AlipayClient传入RSA2即可:
AlipayClient alipayClient = new DefaultAlipayClient(
Configs.getOpenApiDomain(), Configs.getAppid(),
Configs.getPrivateKey(), "json", "UTF-8",
Configs.getAlipayPublicKey(),"RSA2");
个人也可申请,微信、支付宝官方直连结算。快来看看吧!
个人支付演示地址:https://pay.cloudbed.vip 账号:pay 密码:123456
引入新版支付宝SDK,移除旧版依赖,开发者无须再自行把JAR打入本地私服。
让配置更加简单,调用API更加灵活便捷。
Nacos替换zk,同时升级Dubbo
第三篇:从支付宝SDK的支付流程理解什么是公钥和私钥,什么是加密和数字签名
微信支付linux下java.net.UnknownHostException: api.mch.weixin.qq.com
JAVA实现微信退款报错unexpected end of file from server
秒杀案例:https://gitee.com/52itstyle/spring-boot-seckill
任务调度:https://gitee.com/52itstyle/spring-boot-quartz
邮件服务:https://gitee.com/52itstyle/spring-boot-mail
搜索服务:https://gitee.com/52itstyle/spring-boot-elasticsearch
私人网盘:https://gitee.com/52itstyle/spring-boot-CloudDisk
作者: 小柒2012
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。