Skip to content

Commit

Permalink
update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
Martin404 authored Jul 13, 2016
1 parent 2f7fa7f commit d6e75ab
Showing 1 changed file with 2 additions and 5 deletions.
7 changes: 2 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
# PayMap
PayMap是一个使用Java语言集成三方支付的小Demo,现已集成支付宝(国内、国际、移动端、PC端)、微信、银联(acp、upop)、光大(网关、网页)、邮政支付,
采用的技术栈为:SpringMVC+Spring+MyBatis+Shiro+RabbitMQ+Redis。
PayMap是一个使用Java语言集成三方支付的小Demo,现已集成支付宝(国内、国际、移动端、PC端)、微信、银联(acp、upop)、光大(网关、网页)、邮政支付,采用的技术栈为:SpringMVC+Spring+MyBatis+Shiro+RabbitMQ+Redis。
## 特性
* 支持前面提到的各种**支付
* 支付请求调用支持http和异步MQ
Expand All @@ -16,9 +15,7 @@ PayMap是一个使用Java语言集成三方支付的小Demo,现已集成支付
这里不多说,先去看官方文档,如有疑问可以跟我交流。

## 补充
由于是Demo,银联支付支持acp和upop,upop属于老平台文档较少有可能有人会用到,现在用的基本都是acp。另外三方支付对接由于各种网络原因,支付可能存在通知失败
还有MQ消息有可能失败的情况,这里需要补偿机制,一般的补偿方案是:消息落地数据库,流程成功删掉指定消息,对于失败的消息有专门的定时任务轮询重发
重发次数可以参考指数退避算法,至于具体的补偿方案请自行查阅本Demo没有提供。对于支付通知失败的情况官方建议的流程是:业务方主动向三方支付查询消费交易状态然后进行后续业务处理,查询接口本Demo中也没有提供请自行实现。
由于是Demo,银联支付会支持acp和upop,upop属于老平台文档较少有可能有人会用到,现在用的基本都是acp。另外三方支付对接由于各种网络原因,支付可能存在通知失败或者MQ消息有可能失败的情况,这里需要采用补偿机制,一般的补偿方案是:消息落地数据库,流程成功删掉指定消息,对于失败的消息有专门的定时任务轮询重发,重发次数可以参考指数退避算法,业务方也要做好接口幂等,至于具体的补偿方案请自行查阅,本Demo没有提供。对于支付通知失败的情况官方建议的流程是:业务方主动向三方支付查询消费交易状态然后进行后续业务处理,查询接口本Demo中也没有提供请自行实现。最后一点是涉及到支付证书一类的配置文件均为空文件请自行替换,如果出现“hugnew”字符的均需修改为您自己的配置信息。

## 交流
微信:crackxb
Expand Down

0 comments on commit d6e75ab

Please sign in to comment.