版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 企业支付网关架构设计 一、企业支付网关介绍 企业支付网关由统一支付服务、统一支付通知、统一支付后台三部分组成,我们今天主要介绍前两个部分。企业支付网关独立出来非常有必要,它是企业做大后金融事业部的基础,当前价值如下:1、集中研发工作:集中研发封装公司使用的各种支付方式,如支付宝、财付通、预付款等,同时统一各应用系统的支付调用方式。2、集中运维工作:集中发布、监控、维护、安全等工作。3、集中财务工作:集中各支付方式的对账、统计、日志追踪、异常处理等结算运营工作。二、统一支付服务 2.1 统一支付接口 以上接口有支付、代扣、分润、退款、退分润、补差、转账、冻结、解冻、预付款。支付接口服务仅负责生
2、成和返回支付链接,由调用的业务应用来负责 URL 跳转。2.2 分层架构设计 按照公司统一应用分层架构,把第三方支付放在 DataLayer 里的同时,每种支付方式都是一个独立的组件,里面的 Model 放在各自组件中,不放在 EntityLayer 层,因为不涉及到跨层对象访问;BusinessLayer 核心类有 xxxLogic、xxxHelper、xxxVerify,如 AlipayLogic、AlipayHelper、AlipayVerify,采用统一的接口编写;Notify 采用 RESTful 接口,同时允许外网访问,并可指定 IP 安全设置,如仅允许淘宝相关的 IP 访问,这个
3、可以在网络层进行设置,为了高可用,部署时也可用金融级硬件或集群。2.3 业务逻辑代码 1、PaymentFacade:提供对外访问的门面。2、ThirdPaymentFactory:根据请求的支付类型,创建相应的支付业务逻辑处理类。3、关键点:面向接口编程。public class ThirdPaymentFactory public static IPaymentService Create(PayChannels channels) if (channels.ToString().ToLower() = alipay) return new ThirdPayment.AlipayLogic
4、(); if (channels.ToString().ToLower() = alipayptp) return new ThirdPayment.AlipayPTPLogic(); if (channels.ToString().ToLower() = tenpay) return new ThirdPayment.TenpayLogic(); if (channels.ToString().ToLower() = tenpayptp) return new ThirdPayment.TenpayPTPLogic(); /. throw new NotImplementedExceptio
5、n(); public class PaymentFacade : IPaymentService public TradePayResponse TradePay(TradePayRequest request) IPaymentService paymentService = ThirdPaymentFactory.Create(request.payChannels); return paymentService.TradePay(request); public TradeRefundResponse TradeRefund(TradeRefundRequest request) IP
6、aymentService paymentService = ThirdPaymentFactory.Create(request.payChannels); return paymentService.TradeRefund(request); /2.4 具体接入情况 我们的各支付方式接口封装情况具体如下:1、支付宝支付接口封装:包含支付、代扣、分润、无密退款、补差、转账、冻结、解冻。2、财付通支付接口封装:包含支付、分润、退分润、退款。3、预付款支付接口封装:包含支付、分润、退款、余额查询。4、微信支付接口封装:包含支付、退款。三、统一支付通知 统一支付通知包括同步回调和异步通知。支付流程
7、是这样的:用户完成支付后,第三方支付平台会分别回调企业支付网关的同步回调处理服务和异步通知处理服务;企业支付网关接收到回调信息后,会调用业务应用系统的接口进行支付后处理。统一第三方支付通知的接入有利于安全、可靠性以及满足功能方面的需求,如统一处理支付接口的数据签名,提高支付服务器的物理级别安全,记录支付相关的安全审计日志,支付通知重试等等,让业务系统更简单,更专注自己的业务处理。统一支付通知的实现与第三方支付的通知接口有些类似,只是减少了不必要的安全验证,我们以两个问题来探讨这点。企业支付网关是如何通知业务调用方的呢?调用方即业务应用系统在支付时将一个同步回调地址 ReturnUrl 和一个异步通知地址 NotifyUrl,传给企业支付网关即可,这与第三方支付一样,只是内网的支付后处理 Restful 接口仅需处理业务逻辑,无需关心安全验证和支付日志。企业支付网关为什么有了同步回调,还需要引入异步通知机制呢?这是为了提高可靠性。如果同步通知处理服务失败,那么第三方支付平台的服务器会不断重发给异步通知处理服务,但是重发又不能过于频繁,以支付宝为例:企业支付网关的异步通知处理服务执行完成后必须打印输出 success 字符,否则支付宝服务器会不断重发,直到超过 2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年证券从业证券投资分析科目模拟试题及详解
- 2026年保健知识培训计划
- 2026广东肇庆广宁县人民医院医共体总医院第二次招聘编外人员2人考试参考试题及答案解析
- 2026年中医药健康知识培训高血压
- 2026浙江台州玉环市人力资源配置服务有限公司招聘1人考试参考题库及答案解析
- 2026四川内江市隆昌市人力资源和社会保障局招聘公益性岗位1人考试参考题库及答案解析
- 2026上海财经大学浙江学院招聘紧缺专任教师16人考试备考题库及答案解析
- 2026福建汉吉斯冷链物流有限公司招聘考试参考题库及答案解析
- 2026广西南宁市青秀区南湖街道办事处招聘1人(劳务派遣)考试备考题库及答案解析
- 2026江苏盐城市大丰区施耐庵纪念馆招聘劳务派遣人员2人考试参考题库及答案解析
- 民营控股采购制度
- 2026年国际数学奥林匹克国家集训队测试试题真题(含答案详解)
- 绵阳市事业单位笔试真题2025年(附答案)
- 2026年社工考试《初级社会工作综合能力》真题及答案
- GB/T 338-2025工业用甲醇
- 阴道炎患者护理实践指南(2025年版)
- 数据安全技术选型
- 一百个心理测试题及答案
- 牙冠修复知情同意书
- 《生产安全事故应急演练基本规范》培训课件
- 汽车行业轮胎框架:替代加速拐点、高端配套突破26戴维斯双击之年
评论
0/150
提交评论