第一篇:第三方软件测试报告
第三方软件测试报告(暂定)
1.引言 1.1.编写目的
本文档作为该系统测试的测试标准,内容关系到本次系统测试可能涉及到的测试内容和测试技术解决方案。
1.2.系统概述
略
2.测试描述 2.1.测试范围与内容
我方(北京圆规创新公司)对XX公司“XX”项目进行测试,保证使用方的功能正确,保证系统核心模块的稳定和安全,为项目的验收提供参考。以此,本计划列出了在此次功能测试过程中所要进行的内容和实施的方案及测试资源的安排,作为测试活动的依据和参考。
本次测试的对象为XX公司“XX”项目,测试范围为:略。本次测试的主要内容有功能测试(含容错测试)、易用性测试。
2.2.测试依据
本次测试所依据的文档包含开发方提供的《需求规格说明书》、《操作手册》、《用户手册》,《维护手册》,《设计文档》等相关开发文档。并依据IT行业项目的通用标准,包括功能测试标准、缺陷标准、易用性标准。对于项目的易用性标准,原则上由测试方提出易用性问题修改的建议,由开发方对测试方提交的问题进行确认。
3.测试解决方案
我公司针对用户方提出的测试要求,根据以往项目的实际经验,撰写测试技术解决方案。该解决方案包含了本次系统测试可能涉及到的测试类型,并分别介绍不同测试类型的内容和相关标准。
3.1.系统功能测试
实施系统功能测试,完成对被测系统的功能确认。
采用黑盒测试方法,根据需求规格说明书和用户手册,将功能点转换为功能测试需求,根据测试需求编写测试用例,保证所有功能点必须被测试用例覆盖。
测试用例的编写采用基于场景的测试用例编写原则,便于以使用者的角度进行测试。用例设计上兼顾正常业务逻辑和异常业务逻辑。测试数据的选取可采用GUI测试,等价类划分、边界值分析、错误推测、比较测试等测试方法中的一种或者几种数据的组合,一般以等价类划分和边界值法为主。
3.1.1.系统功能项测试
对《软件需求规格说明书》中的所有功能项进行测试(列表);
3.1.2.系统业务流程测试
对《软件需求规格说明书》中的典型业务流程进行测试(列表);
3.1.3.系统功能测试标准
可测试的功能点100%作为测试需求(如未作为测试需求,必须在测试计划中标注原因并通知用户方负责人); 测试需求100%被测试用例覆盖;
测试用例100%被实施(如未实施,在测试报告中标注未测试的原因并通知用户方负责人);
含有一类缺陷的系统不建议上线发布(缺陷严重等级见附录,需确认); 含有二类缺陷的系统不建议上线发布(缺陷严重等级见附录,需确认); 含有三类缺陷10个以上不建议上线发布(缺陷严重等级见附录,需确认); 权限矩阵测试覆盖率100%。
3.2.易用性测试
本系统的易用性测试不是本次测试的重点。我方的原则是在测试过程中如果发现有完全不符合IT行业习惯的操作、完成一次业务过多操作步骤和弹出窗口、界面颜色严重影响阅读、提示信息过于复杂或者简单、业务逻辑完全不符合思维逻辑的情况下,我方测试人员会提出易用性类型的缺陷,此类缺陷由用户方最终确认。
易用性测试的内容包括: 软件的用户界面是否友好,是否出现中英文混杂的界面;
软件中的提示信息是否清楚、易理解,是否存在原始的英文提示;
软件中各个模块的界面风格是否一致;
软件中的查询结果的输出方式是否比较直观、合理。
3.3.容错测试
本系统的容错测试不是本次测试的重点。我方的原则是在测试的过程中检查对系统对非常规操作或业务流程的容错性处理,是否影响系统的正常运行,是否给与用户明确的提示信息等,此类缺陷由用户方最终确认。
容错测试的检查内容包括: 软件对用户常见的误操作是否能进行提示;
软件对用户的的操作错误和软件错误,是否有准确、清晰的提示;
软件对重要数据的删除是否有警告和确认提示;
软件是否能判断数据的有效性,屏蔽用户的错误输入,识别非法值,并有相应的错误提示。
3.4.安全性测试
如用户方有明确的安全测试需求,可根据用户实际情况,进行安全性测试。安全性测试的检查内容包括: 软件中的密钥是否以密文方式存储;
软件是否有留痕功能, 即是否保存有用户的操作日志;
软件中各种用户的权限分配是否合理;
3.5.性能测试
对软件需求规格说明书中明确的软件性能进行测试。测试的准则是要满足规格说明书中的各项性能指标(需明确说明)。
3.6.适应性测试
参照用户的软、硬件使用环境和需求规格说明书中的规定,列出开发的软件需要满足的软、硬件环境(包括服务器环境、客户端环境)。对部署环境进行测试(需明确说明)。
3.7.文档测试
用户文档包括: 安装手册、操作手册和维护手册(需明确说明)。对用户文档测试的内容包括: 操作、维护文档是否齐全、是否包含产品使用所需的信息和所有的功能模块;
用户文档描述的信息是否正确, 是否没有歧义和错误的表达;
用户文档是否容易理解, 是否通过使用适当的术语、图形表示、详细的解释来表达;
用户文档对主要功能和关键操作是否提供应用实例;
用户文档是否有详细的目录表和索引表;
文档描述与程序当前版本符合
3.8.用户有特别要求的测试
用户对于系统是否有特别的要求(需明确说明)
4.预期提交文档
本次系统测试可能提交的文档包括《测试需求》、《测试计划》、《测试用例》、《测试报告》等。其中测试计划、报告等根据测试回归次数而产生多份。
4.1.测试需求文档
首先完成测试需求的整理,阅读项目功能性说明的相关文档,挑选出可以测试的功能点,完成测试需求的整理。
4.2.测试用例文档
测试需求作为今后测试活动的指导和目标,且为测试工作量的估算提供可计算的依据。我方制定测试需求后将测试需求提交相关人员进行审查。通过之后,将根据测试需求完成功能性测试用例的编写。
4.3.测试日志文档
测试用例设计完成之后,我方将测试用例提交给相关各方评审。评审通过后测试人员按照测试用例实施测试。测试人员在实施测试的时候,将每日填写测试日志。
4.4.测试报告
完成一次完整的功能测试之后,我方将汇总缺陷,完成测试报告。
5.测试工作流程 5.1.测试启动
开发方提供项目相关文档,包括《需求规格说明书》、《设计文档》、《用户手册》等相关文档;
开发方搭建测试环境,提供必要的软、硬件; 开发方进行系统讲解,完成对测试方的培训; 测试方阅读相关文档并学习使用被测系统;
测试方对依据的文档中的不足提出意见,由开发方补充完善文档。
5.2.测试准备
测试方制定必要的标准,提交开发方和用户方审阅; 测试方整理测试需求,提交开发方和用户方审阅; 测试方书写测试计划,提交开发方和用户方审阅;
测试方编写测试用例,开发测试脚本,可提交开发方和用户方审阅; 5.3.测试实施
测试方按照测试计划,按照设计的测试用例实施测试,记录测试过程中的问题。测试方每日完成测试日志,并将测试日志提交开发方和用户方。
5.4.测试总结
测试方对每次回归测试提交缺陷列表,编写测试报告。
6.三方职责分工
测试过程中需要开发方精悍有素的人员的大力支持与配合,并且为测试方提供现场技术支持。开发方有义务配合测试方完成本次的系统测试,并提供必要的支持工作。
由于测试阶段的根本目标是尽可能多发现并排除软件中潜藏的错误,最终把一个高质量的软件系统交给用户使用,因此用户方在测试阶段的直接参与、指正和确认起着十分重要的作用。开发方需要有专人负责本次系统测试工作,组织测试现场和相关硬件设备,沟通和协调各方关系。
测试方严格按照软件工程理论进行测试,提供专业测试人员和必要的测试工具,并以用户方的根本利益为工作原则指导。
7.附录
7.1.软件错误的严重性等级
7.1.1.Critical:1级错误
这一级别的错误一般包括以下内容: 没有实现或错误地实现重要的功能; 业务流程存在重大隐患;
软件在操作过程中由于软件自身的原因自动退出系统或出现死机的情况;
软件在操作过程中由于软件自身的原因对系统或数据造成破坏; 在现有的软、硬建设环境下不能实现应有的功能; 特殊软件在操作过程中可能危及系统和人身安全等。
7.1.2.Major:2级错误
这一级别的错误一般包括以下内容: 没有实现基本功能,并且不存在替代办法;
没有实现重要功能中的部分功能,并且不存在替代办法; 业务流程衔接错误; 用户的权限分配不合理; 不可继续使用的异常错误;
系统不明原因资源占用增大,导致性能不断下降; 界面与需求不符;
7.1.3.Averagte:3级错误
这一级别的错误一般包括以下内容: 没有实现基本功能,但存在替代办法;
没有实现重要功能中的部分功能,但存在替代办法; 可继续使用的异常错误; 提示信息存在错误
7.1.4.Minor:4级错误
这一级别的错误通常为易用性方面的错误: 界面不友好、前后风格不一; 中英文混杂;
查询结果输出不直观;
错别字,提示信息轻微错误; 界面控件缺陷; 快捷键错误;
7.1.5.Enhancement:5级错误
通常为不影响正常使用下的用户方提出的改进性建议,或者文档方面的错误。
界面调整
功能改进调整建议
颜色,字体,图像等不合适 基本操作过于复杂
使用手册与功能不符(功能使用正常)
第二篇:软件测试报告格式
软件测试报告模板
XXX公司
XXX(产品或软件)/XXX(模块)测试报告
1.概述
测试目的 简述本次测试的目的,如:验证某模块是否符合设计
项目背景 简述测试所在项目的背景,如:XXX(项目)目前进入什么阶段,以及其他信息
2.测试环境
硬件环境 仅针对测试对象的硬件环境及其版本信息加以说明软件环境 仅针对测试对象的软件环境及其版本信息加以说明
3.测试人员
人员
角色
4.实际进度
占用时间 描述整个测试过程的时间跨度,如:xxxx-xx-xx至xxxx-xx-xx进度情况 原因 如果测试提前或延后完成,请说明具体原因
5.测试参考文档
《XXX测试计划》
《XXX测试用例》
《文档三》
《文档四》
版本信息 V1.0
6.测试数据
测试数据
测试项总数 0
PASS 0 PASS率 #DIV/0!
FAIL 0 FAIL率 #DIV/0!
严重度——高 0 其中:高--#DIV/0!
严重度——中 0 中--#DIV/0!
严重度——低 0 低--#DIV/0!
测试项编号 测试项 通过与否 问题描述 问题严重度
注: 问题严重度的界定:
高——导致系统死机或后续部分测试项功能不能实现;中——影响该部分的测试功能的完整性且急需解决;
低——仅属于系统中的小bug,或根据测试过程发现的需要调整的部分,但并非急需解决。
7.项目的总结 对整个测试项目进行总结性阐述,如:测试是否通过,导致FAIL的主要原因。
8.意见和建议 针对本次测试工作,提出自己的意见或建议。没有可填“无”。
第三篇:软件测试报告1.0
测试报告模板1.0
目录 测试报告模板............................................................................................................1 简介..........................................................................................................................2 1.1 编写目的........................................................................................................2 1.2 1.3 1.4 1.5 2 2.1 2.2 3 项目背景........................................................................................................2 系统简介........................................................................................................2 术语和缩写词.................................................................................................2 参考资料........................................................................................................2 测试用例设计.................................................................................................3 测试环境与配置..............................................................................................3 测试概要...................................................................................................................2 2.3 测试方法(和工具)...........................................................................................3 测试结果及缺陷分析.................................................................................................3 3.1 3.2 测试执行情况与记录.......................................................................................4 覆盖分析........................................................................................................5 4 5 3.3 缺陷的统计与分析..........................................................................................5 测试结论...................................................................................................................6 建议..........................................................................................................................6
简介
1.1 编写目的
本测试报告的具体编写目的,指出预期的读者范围。
实例:本测试报告为XXX项目的测试报告,目的在于总结测试阶段的测试以及分析测试结果,描述系统是否符合需求(或达到XXX功能目标)。预期参考人员包括用户、测试人员、、开发人员、项目管理者、其他质量管理人员和需要阅读本报告的高层经理。
提示:通常,用户对测试结论部分感兴趣,开发人员希望从缺陷结果以及分析得到产品开发质量的信息,项目管理者对测试执行中成本、资源和时间予与重视,而高层经理希望能够阅读到简单的图表并且能够与其他项目进行同向比较。此部分可以具体描述为什么类型的人可参考本报告XXX页XXX章节,你的报告读者越多,你的工作越容易被人重视,前提是必须让阅读者感到你的报告是有价值而且值得浪费一点时间去关注的。
1.2 项目背景
对项目目标和目的进行简要说明。必要时包括简史,这部分不需要脑力劳动,直接从需求或者招标文件中拷贝即可。
1.3 系统简介
如果设计说明书有此部分,照抄。注意必要的框架图和网络拓扑图能吸引眼球。
1.4 术语和缩写词
列出设计本系统/项目的专用术语和缩写语约定。对于技术相关的名词和与多义词一定要注明清楚,以便阅读时不会产生歧义。
1.5 参考资料
1.需求、设计、测试用例、手册以及其他项目文档都是范围内可参考的东东。2.测试使用的国家标准、行业指标、公司规范和质量手册等等 测试概要
测试的概要介绍,包括测试的一些声明、测试范围、测试目的等等,主要是测试情况简介。(其他测试经理和质量人员关注部分)2.1 测试用例设计
简要介绍测试用例的设计方法。例如:等价类划分、边界值、因果图,以及用这类方法(3-4句)。提示:如果能够具体对设计进行说明,在其他开发人员、测试经理阅读的时候就容易对你的用例设计有个整体的概念,顺便说一句,在这里写上一些非常规的设计方法也是有利的,至少在没有看到测试结论之前就可以了解到测试经理的设计技术,重点测试部分一定要保证有两种以上不同的用例设计方法。
2.2 测试环境与配置
简要介绍测试环境及其配置。
提示:清单如下,如果系统/项目比较大,则用表格方式列出 数据库服务器配置 CPU: 内存:
硬盘:可用空间大小 操作系统: 应用软件: 机器网络名: 局域网地址: 应用服务器配置 …….客户端配置 …….对于网络设备和要求也可以使用相应的表格,对于三层架构的,可以根据网络拓扑图列出相关配置。
2.3 测试方法(和工具)
简要介绍测试中采用的方法(和工具)。
提示:主要是黑盒测试,测试方法可以写上测试的重点和采用的测试模式,这样可以一目了然的知道是否遗漏了重要的测试点和关键块。工具为可选项,当使用到测试工具和相关工具时,要说明。注意要注明是自产还是厂商,版本号多少,在测试报告发布后要避免大多工具的版权问题。测试结果及缺陷分析
整个测试报告中这是最激动人心的部分,这部分主要汇总各种数据并进行度量,度量包括对测试过程的度量和能力评估、对软件产品的质量度量和产品评估。对于不需要过程度量或者相对较小的项目,例如用于验收时提交用户的测试报告、小型项目的测试报告,可省略过程方面的度量部分;而采用了CMM/ISO或者其他工程标准过程的,需要提供过程改进建议和参考的测试报告-主要用于公司内部测试改进和缺陷预防机制-则过程度量需要列出。3.1 测试执行情况与记录
描述测试资源消耗情况,记录实际数据。(测试、项目经理关注部分)
3.1.1 测试组织
可列出简单的测试组架构图,包括:
测试组架构(如存在分组、用户参与等情况)测试经理(领导人员)主要测试人员 参与测试人员
3.1.2 测试时间
列出测试的跨度和工作量,最好区分测试文档和活动的时间。数据可供过程度量使用。例如 XXX子系统/子功能 实际开始时间-实际结束时间 总工时/总工作日
任务 开始时间 结束时间 总计
合计
对于大系统/项目来说最终要统计资源的总投入,必要时要增加成本一栏,以便管理者清楚的知道究竟花费了多少人力去完成测试。
测试类型 人员成本 工具设备 其他费用
总计
在数据汇总时可以统计个人的平均投入时间和总体时间、整体投入平均时间和总体时间,还可以算出每一个功能点所花费的时/人。用时人员 编写用例 执行测试 总计
合计
这部分用于过程度量的数据包括文档生产率和测试执行率。生产率人员 用例/编写时间 用例/执行时间平均
合计
3.1.3 测试版本
给出测试的版本,如果是最终报告,可能要报告测试次数回归测试多少次。列出表格清单则便于知道那个子系统/子模块的测试频度,对于多次回归的子系统/子模块将引起开发者关注。3.2 覆盖分析
3.2.1 需求覆盖
需求覆盖率是指经过测试的需求/功能和需求规格说明书中所有需求/功能的比值,通常情况下要达到100%的目标。
需求/功能(或编号)测试类型 是否通过 备注 [Y][P][N][N/A]
根据测试结果,按编号给出每一测试需求的通过与否结论。P表示部分通过,N/A表示不可测试或者用例不适用。实际上,需求跟踪矩阵列出了一一对应的用例情况以避免遗漏,此表作用为传达需求的测试信息以供检查和审核。
需求覆盖率计算 Y项/需求总数 ×100%
3.2.2 测试覆盖
需求/功能(或编号)用例个数 执行总数 未执行 未/漏测分析和原因
实际上,测试用例已经记载了预期结果数据,测试缺陷上说明了实测结果数据和与预期结果数据的偏差;因此没有必要对每个编号在此包含更详细的说明的缺陷记录与偏差,列表的目的仅在于更好的查看测试结果。
测试覆盖率计算 执行数/用例总数 ×100%
3.3 缺陷的统计与分析
缺陷统计主要涉及到被测系统的质量,因此,这部分成为开发人员、质量人员重点关注的部分。
3.3.1 缺陷汇总
被测系统 系统测试 回归测试 总计
合计
按严重程度 严重 一般 微小 按缺陷类型
用户界面 一致性 功能 算法 接口 文档 用户界面 其他 按功能分布
功能一 功能二 功能三 功能四 功能五 功能六 功能七
最好给出缺陷的饼状图和柱状图以便直观查看。俗话说一图胜千言,图标能够使阅读者迅速获得信息,尤其是各层面管理人员没有时间去逐项阅读文章。图例 3.3.2 缺陷分析
本部分对上述缺陷和其他收集数据进行综合分析 缺陷综合分析
缺陷发现效率 = 缺陷总数/执行测试用时 可到具体人员得出平均指标
用例质量 = 缺陷总数/测试用例总数 ×100% 缺陷密度 = 缺陷总数/功能点总数
缺陷密度可以得出系统各功能或各需求的缺陷分布情况,开发人员可以在此分析基础上得出那部分功能/需求缺陷最多,从而在今后开发注意避免并注意在实施时予与关注,测试经验表明,测试缺陷越多的部分,其隐藏的缺陷也越多。测试曲线图
描绘被测系统每工作日/周缺陷数情况,得出缺陷走势和趋向 重要缺陷摘要
缺陷编号 简要描述 分析结果 备注
3.3.3 残留缺陷与未解决问题
残留缺陷 编号:BUG号
缺陷概要:该缺陷描述的事实
原因分析:如何引起缺陷,缺陷的后果,描述造成软件局限性和其他限制性的原因 预防和改进措施:弥补手段和长期策略 未解决问题 功能/测试类型:
测试结果:与预期结果的偏差 缺陷:具体描述
评价:对这些问题的看法,也就是这些问题如果发出去了会造成什么样的影响 4 测试结论与建议
报告到了这个部分就是一个总结了,对上述过程、缺陷分析之后该下个结论,此部分为项目经理、部门经理以及高层经理关注,请清晰扼要的下定论。测试结论
1.测试执行是否充分(可以增加对安全性、可靠性、可维护性和功能性描述)2. 对测试风险的控制措施和成效 3. 测试目标是否完成 4. 测试是否通过
5. 是否可以进入下一阶段项目目标 建议 1.对系统存在问题的说明,描述测试所揭露的软件缺陷和不足,以及可能给软件实施和运行带来的影响 2.可能存在的潜在缺陷和后续工作 3.对缺陷修改和产品设计的建议 4.对过程改进方面的建议
测试报告的内容大同小异,对于一些测试报告而言,可能将第四和第五部分合并,逐项列出测试项、缺陷、分析和建议,这种方法也比较多见,尤其在第三方评测报告中,此份报告模板仅供参考。
第四篇:“第三方委托软件”用户协议书
中证期货有限公司
“第三方委托软件”用户协议书
甲方(投资者):资金帐号:
联系电话:身份证号码:乙方:中证期货有限公司
甲乙双方根据国家有关法律、法规、规章、期货交易规则,经友好协商,就“第三方委托软件”进行网上委托交易的有关事项达成如下协议:
第一条甲方已详细阅读本协议,认识到“第三方委托软件”除具有普通网上自助委托所有的风险外,还应充分了解和认识到其具有以下风险:
1、由于客户计算机故障以及互联网数据传输等原因,交易指令可能会出现中断、停顿、延迟、数据错误等情况;
2、因为“第三方委托软件”程序在客户的电脑上执行,电脑的故障或互联网故障引起的行情中断和错误,都可能会造成无法下达委托、委托失败或下达错误的交易指令;
3、投资者的电脑设备以及网络与“第三方委托软件”不相匹配,会造成无法下达委托或委托失败;
4、如投资者不具备一定的网上委托下单经验或者对于软件的使用不熟悉,可能因操作不当造成委托失败或委托错误;
5、由于软件本身存在的问题而导致甲方在下单过程中出现的其它问题;
第二条上述风险可能会导致投资者(甲方)发生的损失,由甲方自身承担,乙方不予以负责。
第三条本协议所表述的“第三方委托软件”是指在乙方提供的现有金仕达网上委托程序服务的基础上,由非金仕达公司的第三方软件公司或个人开发的委托软件。
第四条甲方使用的“第三方委托软件”必须是在“第三方委托软件”公司的官方网站或者乙方官方网站上下载,甲方使用其他途径获得的软件,由此产生的后果由甲方自行承担。
第五条 使用“第三方委托软件”进行委托过程中,甲方的网上交易资金帐号、交易 密码以及发送的交易指令均视为甲方亲自委托,由此所产生的一切后果由甲方负责。
第六条 本协议作为甲乙双方《期货经纪合同》的附属部分,争议解决方式参照《期货 经纪合同》的约定,同时乙方有权根据市场情况对该协议作出调整或乙方单方面终止甲方对于软件的使用。
第七条 本协议自双方签字盖章后生效。
甲方授权签字:签署日期:年月日
乙方经办人签字:开通时间:年月日
第五篇:第三方支付软件大致支付流程
Webpay支付
一、接受商户订单请求信息
test.jsp界面跳转到test2.jsp界面,此跳转主要是进行MD5加密,加密字符串=“MERCHANTID=”+商户ID(comm_code)+“&ORDERSEQ=”+订单号+“&ORDERDATE=”+订单日期+“&ORDERAMOUNT=”+订单金额;
如果clientIP不为空加密字符串+“&CLIENTIP”=ip+“&KEY=”+key Key 根据商户的商户ID 获取商户key(comm_key)
调用CryptTool.md5Digest(加密字符串);
得到test2.jsp页面上mac的值
订单号:日期字符串,调用StringTools.getCurrentDate订单日期:日期字符串,调用StringTools.getTodayDate2()订单金额:测试页面默认
1二、根据请求得到界面数据
三、对界面数据非空判断
四、校验商户域名
request.getHeader(“Referer”)得到商户请求域名
根据得到的商户请求域名和商户Id检验商户域名:请求的域名正则处理跟商户表中domain_name域名是否相同(equalsIgnoreCase:不区分大小比较)。
检验为true为正常,否则检验不通过在UP_ANTIFISH_NOTICE表中插入异常信息。
五、分账校验
取商户关系,根据界面传入的商户代码作为分账父商户代码(parent_comm_code)查询商户表得到所有符合条件的商户代码集。(divDetailes)商户代码:金额 | 商户代码:金额...中间以“|”分开的格式。
取出每个商户的交易金额叠加跟结算金额比对,商户集若包含商户代码,如有一个不符合则分账明细参数不正确。
六、商户IP校验
首先获取clientIp(客户端Ip)不为空则校验,再得到商户的商户IP是否校验(IS_IP_VAL),该字段为空则表明商户配置IP不校验,不为空则判断商户真正请求ip不为空且跟clientIp相等否则IP地址异常,交易存在风险,记录异常信息。
七、对MAC码校验
字符:check = “MERCHANTID=” + merchantID + “&ORDERSEQ=” + orderId+ “&ORDERDATE=” + orderDate + “&ORDERAMOUNT=” + transAmount+= “&CLIENTIP=”+clientIp+“&KEY=”+key;
对check MD5处理。
由界面test2.jsp得到的mac校验域跟check对比
八、检查商户业务类型和支付类型开通情况
调用UP_COMM_ORDER_CHECK_CORE.best_comm_check过程查询业务类型和支付方式开通情。
根据商户ID(comm_code)和支付方式ID(pay_type_id)且状态(status=0:开通的情况下)查询up_comm_open_paytype(商户开通支付方式表),得到支付方式代码(pay_type_id)
根据商户ID(comm_code)和业务类型(comm_busi_code)且状态(status=0:开通的情况下)查询up_comm_open_busi(商户开通业务类别表),得到商户开通的业务类型(comm_busi_code)
返回值:
0000:成功
1010:商户未开通相应支付方式
1020:商户未开通相应业务类型
1030:没有配置商户业务类型或者商户支付方式
九、封装界面数据位payModel实体
十、数据校正
十一、接收商户订单请求
1)对支付请求验证
调用UP_COMM_ORDER_CHECK_CORE.UP_COMM_ORDER_CHECK_CORE_main对支付请求验证
a)对商户注册情况和状态检查
查询商户表(up_comm)status字段,A、商户已注册但未审批;
B、商户已注册,已审批,但未开通;
C、商户已开通;
D、商户已注销。
b)商户业务开通情况检查
根据业务代码查询商户开通业务表(up_comm_open_busi),如查询到记录则商户已开通此业务,可以正常交易,否则商户未开通此业务或商户为注册等其他异常。
c)商户订单检查
查询商户交易信息表(up_comm_tran_detail)表,根据商户代码、订单流水、订单日期来检查,检查 TRAN_STATUS 的状态。
i.ii.iii.首先判断交易金额是否小于等于0 部分商户限制金额 判断订单请求流水当天是否唯一
查商户订单请求信息表(up_comm_order_detail)order_req_tran_seq=商户请求交易流水号或者(order_seq =商户定单号且order_status=A)
如果有记录,订单正在交易中,不允许再次交易。
iv.判断是否有订单交易成功的记录
首先查询出当天该订单号是否支付过,并且状态是B
from up_comm_tran_detail uc,up_bank_tran_detail ub
where uc.up_tran_seq = ub.up_tran_seq
and uc.comm_code = in_comm_code
and(ub.tran_status = 'B' or ub.tran_status = 'D')
如有记录:订单交易成功,不允许再次交易。
v.商户订单查询
首先查询出当天该订单号支付过,但状态是A或C的调用过程check_bank_tran_status银行交易是否成功检查
from 银行交易日志信息表(up_bank_tran_detail)
and(tran_status = 'B' or tran_status = 'D')
如果无记录:订单交易失败,允许再次交易
如商户订单不存在或订单支付失败,可以正常交易。
d)商户订单插入订单信息表
插入商户订单信息表UP_COMM_ORDER_DETAIL。
2)支付请求验证成功
调用UP_COMM_ORDER_ATTACH_INSERT.insert_order_attach_web过程 插入商户订单请求附加表up_comm_order_attach,成功后
调用UP_COMM_TRAN_ATTACH_INSERT.insert_comm_attach 插入商户交易附加表up_comm_tran_attach。
十二、新增某些支付机构需要借记卡和信用卡通道 select
t.*,ubs.description,ubs.logo_img_path,ubs.pay_info_html_path,ubs.TAB_SIGN
from up_bank_comm_relation t,up_bank_sub ubs
wheret.comm_code = '0018888888'
andt.bank_code = ubs.bank_code and t.sub_bank_id = ubs.sub_bank_id andt.status = '0' and t.sub_bank_type = '1002'
order by sort_numasc
十三、查询商户是否已开通的双通道银行
0210000008_BOC;0210000008_CIB;0210000008_GDB;
select * from up_bank_comm_relationt,up_bank_sububs where
t.comm_code = '“+commCode+”' and t.sub_bank_id like
'“+subBankCode+”_%' escape ''and t.bank_code='“+bankCode+”' and t.bank_code = ubs.bank_code and t.sub_bank_id = ubs.sub_bank_id and t.status = '0' and t.sub_bank_type = '1002' order by
t.sub_bank_id";
十四、查询商户信息
十五、跳转选择银行界面
(up_payment.jsp)
页面显示对商户所见的所以银行
select
t.*,ubs.description,ubs.logo_img_path,ubs.pay_info_html_path,ubs.TAB_SIGN
fromup_bank_comm_relationt,up_bank_sububs
wheret.comm_code = '0018888888'
andt.bank_code = ubs.bank_code and t.sub_bank_id = ubs.sub_bank_id andt.status = '0' and t.sub_bank_type = '1002'
order by sort_numasc
根据TAB_SIGN的值:
List subBank_1 = newArrayList();//存放个人网银用户列表 List subBank_2 = newArrayList();//存放企业网银用户列表 List subBank_3 = newArrayList();//存放翼支付账户列表 List subBank_4 = newArrayList();//存放信用卡无密支付 List subBank_5 = newArrayList();//存放积点卡列表 List subBank_6 = newArrayList();//存放快捷支付列表 List subBank_7 = newArrayList();//存放号码百事通账户列表 List subBank_8 = newArrayList();//存放号码百事通充值卡列表
十六、点击去支付
点击去支付进入PayWebTwoAction
有填写的订单信息分装payModel实体
插入交易表:
将payModel信息传入
UP_COMM_ORDER_TRAN_CORE.up_comm_order_tran_core_main存储过程插入订单交易表插入up_comm_tran_detail表中
先检查商户订单交易状态A 订单支付请求中
B 订单支付成功
C 订单支付失败
D 订单支付结果未知
0000--商户订单不存在或订单支付失败,可以正常交易
1101--订单正在交易中,不允许再次交易对应 A
1102--订单交易成功,不允许再次交易对应 B
1103--订单交易结果未知,不允许再次交易对应 D
若返回0000,则插入商户交易信息表up_comm_tran_detail