`
ljh2008
  • 浏览: 47183 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论

项目集成第三方支付设计方案

阅读更多

现在越来越多的项目都要求集成第三方的支付平台,特别是在互联网项目中,下面简单说说项目中集成第三方支付平台的设计实现思路。
目前用得比较多的 第三方支付平台有支付宝、易宝、财付通、移动支付等,每种支付平台都提供了详细的支付接口文档及示例代码,要在自己的项目中实现集成第三方支付还是比较容 易的,但主要的问题在于,一个项目中一般都会集成多种支付方式,以方便用户的选择,那么,我们的项目中如何设计才能即保存业务层的稳定,又能方便地加入新 的 支付方式(开闭原则体现哦)。设计的思路就是抽象定不变的东西封装起来,变化的部分设计为接口单独封装,以达到灵活的扩展的目的。
对一些平台的支付流程进行研究总结后,我们发现,无论支付工具的接口怎么的不相同,但总的支付流程几乎是一样的,这个支付流程应该可以抽象出来,下面是一个支付过程的活动图:



在 这个活动图中,首先用户要选择购买的服务(虚拟点卡、金币、或会员服务等);在接下来进入支付方式(支付宝、易宝等)选择页面,服务器将根据用户选择的不 同支付方式,生成要向第三方支付服务器的请求参数,放回响应页面中;在新的页面中显示用户要支付的款项金额等信息,要求用户再次确认,如果用户确认后,用 户界面将转到第三方支付服务器,这个支付的过程我们就不用管了;如果用户在第三方支付服务器上付款成功,第三方服务器将会通知我们的服务器,告知我们一些 支付细节,这个时候,我们再在项目中再进行业务处理,比如:更改用户的业务状态。(注:支付参数提交过程可用get或post,参数后都要附加md5签名 字符串,安全性不用担忧,本人建议以get方式提交。)
经过上面的流程分析,我们可以把支付过程进一步总结为:支付请求参数的提交,以及支付成功回调的业务处理两个过程,根据这两个过程,我设计了类图(原图高清晰,请右键单独查看图片),并对之进行解释。


领域对象:
A、服务项目:可供用户选择的服务项目,包括名称、金额、时长等信息,这些信息在用户支付前进行选择;
B、用户:保存用户支付成功后的一些业务状态;
C、 支付记录:在用户离开我们的网站到第三支付界面前,我们的系统必须要保存一份支付记录,这个记录中有我方系统产生的唯一交易编号,交易状态为未成功;在支 付成功的回调中,我们从回调参数中取出我方系统产生的唯一交易编号,找到这条没有成功的交易记录,再填上第三方系统产生的唯一交易号(对账时要用),更改 支付记录状态为成功,最后更改用户业务状态。支付记录中会聚合服务项目及用户信息这两个对象,以方便在回调时找到支付的一些情况。
业务类设计:
PaymentAction 为支付处理控制器(可选择struts action或servlet做为父类),preparePay方法的主要作用是生成向第三方支付服务器提交的URL(有很多的支付信息要拼接),代码实 现步骤我已在图中进行了注明。其中有一点我要强调一下:我们页面中的付款金额,名称,描述等信息是固定的,而用户选择了不同的支付方式后,要生成不同支付 平台的参数,我的实现思路是,在控制器中通过request.getParameterMap()得到我们页面中输入的键值对,再转换成目标支付平台的参 数键值对,由于每个支付平台参数不同,我们就得把这个对应关系找一个地方单独存起来。
我设计了一个PayConfigurationReader 接口,里面包括读取键值映射、得到商户(我们系统)的ID,密钥等方法,这些方法都是通过对多个平台支付流程的理解后设计出来的,每个平台有一个自己的 properties参数存储文件,用来存放这个平台的配置信息,刚才我们所说的键值映射关系,就写在这个配置文件中。
具体支付平台实现类将实现PayConfigurationReader接口,完成自身平台相关操作。
如果你对流程不清楚的,或需要源代码的,可给我留言。

分享到:
评论
1 楼 melon 2012-02-20  
求源码学习,helcq@hotmail.com。谢谢

相关推荐

    第三方支付组件设计方案

    在IT行业中,第三方支付组件是电子商务系统不可或缺...以上就是关于“第三方支付组件设计方案”的详细阐述,涵盖了从接口集成、安全控制到用户体验优化等多个方面,为构建高效、安全的第三方支付系统提供了全面的指导。

    第三方支付系统总体设计方案.pdf

    本文档将详细阐述第三方支付系统的总体设计方案,涵盖其功能需求、技术需求以及设计原则。 1.1 文档说明 本文档旨在为开发团队提供一个清晰的指导框架,以便于理解项目的整体结构、目标和实施策略。它涵盖了项目...

    基于Java的全能第三方支付对接开发工具包设计源码

    本源码项目是基于Java的全能第三方支付对接开发工具包设计,包含323个文件,主要使用Java、JavaScript和HTML编程语言。该工具包提供了优雅的轻量级支付模块,可以集成微信、支付宝、银联、友店、富友等多种支付方式...

    第三方支付-融托付的集成SDK和Demo

    第三方支付是指非银行金融机构作为中介机构,提供在线支付解决方案,帮助商家接收来自消费者的支付,并确保资金的安全流转。这种方式避免了商家直接处理敏感的用户银行卡信息,降低了安全风险。 融托付的SDK...

    即时到账支付系统第四方支付,第三方支付平台源码价值15万

    这种系统通常由第三方支付平台提供,它们作为商家和消费者之间的中介,处理金融交易并确保安全。在本案例中,源码的价值被提及为15万,暗示了其复杂性和专业性。 第三方支付平台是不直接隶属于银行但能够提供支付...

    白云易支付源码/第三方第四方支付系统源码 含有搭建说明

    在IT领域,第三方支付系统指的是独立于商家和银行的中介平台,它连接商家的支付接口与消费者的支付工具,如支付宝、微信支付等。第四方支付系统则在此基础上,进一步聚合了多家第三方支付渠道,为商家提供一站式接入...

    最新php易支付源码第三方支付系统源码打造自己的第三方第四方支付平台.txt

    - **第四方支付**:又称为聚合支付,是指在第三方支付的基础上,通过集成多种支付接口,为商户提供统一的支付解决方案。它不直接处理资金,而是作为一个接口服务商,帮助商户对接多个第三方支付平台。 ##### 2. PHP...

    支付宝第三方支付.NET MVC版(含有手机版)

    总结来说,"支付宝第三方支付.NET MVC版(含有手机版)"是一个全面的支付解决方案,它利用.NET MVC框架构建,支持PC和移动端,可以帮助开发者快速集成支付宝支付功能,提升应用的商业价值。通过深入理解和运用其中的...

    第三方支付系统

    第三方支付系统是现代电子商务中不可或...综上所述,第三方支付系统,如pingpp,为开发者提供了高效、便捷的支付集成方案。通过理解和利用这些工具,企业可以更好地适应不断变化的支付环境,满足用户多样化的支付需求。

    第三方支付系统架构设计与实践V1.3_2018608.pdf

    根据提供的文件信息,我们可以推断出,文件《第三方支付系统架构设计与实践V1.3_2018608.pdf》主要讲述了第三方支付系统的设计和实施过程中的关键知识点和技术细节。下面我将基于文件标题和内容片段进行知识点的总结...

    在线支付系统源码第三方支付系统

    对于开发者来说,理解和集成第三方支付系统的API(应用程序接口)是实现在线支付功能的重要技能。 在开发在线支付系统时,开发者需要关注以下几个核心知识点: 1. **支付网关**:支付网关是连接商家服务器和银行...

    业界主流的第三方支付接口文档

    在IT行业中,第三方支付接口是电子商务和线上交易的核心组成部分,它们为商家提供了便捷、安全的收款方式,同时保障了消费者的支付体验。以下是对标题、描述和标签中涉及的知识点的详细说明: 1. **第三方支付**:...

    基于微信支付、支付宝支付等第三方支付的Android框架.rar

    在移动应用开发中,尤其是Android平台,集成第三方支付接口已经成为必不可少的功能之一。"基于微信支付、支付宝支付等第三方支付的Android框架"是一个针对这一需求的开源解决方案,它可以帮助开发者快速地在自己的...

    基于PHP的支付聚合第三方SDK设计源码

    本项目是一个基于PHP语言开发的支付聚合第三方SDK,包含154个文件,主要文件类型包括PHP源代码、HTML页面、Markdown文档、Git忽略文件、PHP编码规范文件、LICENSE文件、YAML配置文件、JSON配置文件、SVG图形、SSL...

    全能第三方支付对接Java开发工具包.zip

    【标题】"全能第三方支付对接Java开发工具包.zip" 是一个专门为Java开发者设计的库,旨在简化与各种第三方支付平台的集成过程。这个工具包涵盖了常见的支付接口,如支付宝(Alipay)、微信支付(WeChat Pay)以及...

    支付猫asp版 第三第四方码支付系统源码+监听工具

    4. 安全支付接口:学习如何安全地集成第三方支付接口,包括API调用、签名验证和加密技术。 5. 异常处理和错误恢复:掌握在支付过程中可能出现的错误类型,以及如何编写健壮的代码来处理这些问题。 6. 监控和日志记录...

    支付宝第三方

    总结起来,支付宝第三方支付涉及到的技术点包括:移动支付应用的用户界面设计、API接口开发与维护,特别是与电商流程紧密相关的发货确认和担保交易功能。这些技术和服务的实现,使得支付宝成为了一个深受商家和消费...

    PHP第三方支付连连支付SDK

    PHP第三方支付连连支付SDK是一个专为PHP开发者设计的集成工具,用于方便地在Web应用中接入连连支付的服务。连连支付是中国知名的第三方支付平台,提供了丰富的支付解决方案,包括但不限于在线支付、移动支付、跨境...

Global site tag (gtag.js) - Google Analytics