Darwin平台-聚合支付平台

我要开发同款
程序员小金鱼2022年02月19日
143阅读

作品详情

系统名称:Darwin平台-聚合支付平台使用技术:SpringBoot+jenkins+ApiDoc+Maven系统描述:构建微服务聚合支付平台,整合第三方支付接口(支付宝、银联支付、微信支付等),封装成接口提供给服务接口使用。责任描述:a) 与第三方支付接口平台技术人员对接b) 聚合支付平台数据库表结构设计c) 基于设计模式构建聚合支付平台d) 基于MQ实现分布式事务解决方案e) 使用xxl-job实现聚合支付对账f) 常用遇到支付难题问题解决技术描述:a) 与第三方支付接口平台技术人员对接负责支付宝、微信支付、银联支付等支付接口技术人员沟通对接b) 聚合支付平台数据库表结构设计负责聚合支付平台数据库表结构设计,payment_channel渠道表、payment_transaction流水表、payment_transaction_log日志表等实现完全可视化界面支付开关控制支付渠道。c) 基于设计模式构建聚合支付平台使用策略+工厂设计模式实现支付接口提交html表单元素重构、使用模版方法+工厂设计模式实现共同异步回调代码重构,采用多线程+MQ实现支付回调日志收集d) 使用xxl-job实现聚合支付对账使用分布式任务调度平台XXL-JOB实现支付接口产生延迟导致订单状态不同步实现自动化补偿,每天晚上两点钟时间定时触发任务,商户端主动使用支付id调用第三方支付渠道接口查询支付状态是否已经支付过,如果第三方支付渠道接口已经支付过,同步商户端订单状态。e) 基于MQ实现分布式事务解决方案在微服务系统中,支付服务调用积分服务接口增加对应积分,该场景存在分布式事务问题,我们采用rabbitMQ实现+补单形式保证最终一致性实现双方数据同步f) 常用遇到支付难题问题解决问题1:支付回调接口中,产生延迟通知?导致支付状态不一致问题解决方案:商户端使用任务调度平台主动调用第三方接口查询,实现数据同步问题2:重试支付回调接口时,如何保证回调接口通知幂等性问题解决方案:因为第三方支付接口采用间隔性重试机制,使用支付全局id查询支付状态已经支付,及时响应成功状态通知给第三方支付平台不在继续重试问题3:支付金额与商品金额如果不一致时,如何处理解决方案:在支付回调中查询待支付表记录金额与实际回调金额是否一致,如果不一致该笔订单纳为异常订单问题4:第三方支付平台如何与对接系统保证分布式事务问题解决方案:使用重试+补偿+日志记录形式保证最终一致性实现数据的统一问题5:支付服务如何与其他系统保证分布式事务问题解决方案:LCN分布式事务解决框架解决分布式事务问题
查看全文
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论