支付服务:支付宝,微信,银联详细 代码案例 (支付宝和微信支付测试均需要企业认证,如果没有企业推荐使用 [服务商模式] 申请开通个人商户 也可以测试 ),项目启动前请仔细阅读 注意事项 。
支付管理后台演示地址:国内领先的支付管理平台
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、Dubbo、Nacos
~~ 配置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
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
Activity
Community
Health
Trend
Influence
:Code submit frequency
:React/respond to issue & PR etc.
:Well-balanced team members and collaboration
:Recent popularity of project
:Star counts, download counts etc.