银行普通支付快捷支付银企直连对接操作手册

更新时间:2023-10-24 19:41:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

银行普通支付、快捷支付、B2B、银企直连

对接操作手册

一、 普通支付

1. 普通网银支付整体流程时序图

图1-1 网银支付整体流程时序图(可另存下来或放大看)

2. 代码结构图

图1-2普通支付代码结构图

3. 对接银行开发步骤

1) 首先应该有框架代码,IPaymentService、PaymentServiceImpl、IBankPaymentService、

AbstractBankPaymentServiceImpl;

2) 新建maven项目,命名为ccb,建立package com.rrtx.payment.ccb.service及

com.rrtx.payment.ccb.service.impl;

3) 在com.rrtx.payment.ccb.service下编写ICcbPaymentService接口,扩展自

IBankPaymentService接口;

4) 在package com.rrtx.payment.ccb.service.impl下创建CcbPaymentServiceImpl,继承

AbstractBankPaymentServiceImpl并实现刚定义的ICcbPaymentService接口,按提示添加须实现的方法,添加完后如下图:

5) 在CcbPaymentServiceImpl中添加com.rrtx.payment.service.IPaymentService.Bank的对象

属性bank,并复写父类的init方法,在init方法中对bank对象的相关属性初始化,此属性主要封装了本银行服务的相关信息,比如显示的图标、银行编号、在平台的代码、简称等,该部分可能需要读取配置文件config.properties,该文件约定放在src/main/resources/目录下,文件里一般还包含了提交的银行接口地址、在银行开立的商户号、证书、密钥、返回通知本系统的url等信息:

6) 在prePayment方法里写逻辑,将我们平台的PaymentInput转换成建设银行对应的报文

格式,部分字段可能需要根据PaymentInput中的字段去数据库查询;

7) 在afterPayment方法中,根据建行的接口文档将银行返回的Map解析出我们平台的数

据PaymentOutput对象返回;

8) 如果要使用模拟银行,我们一般在shopDemo中的simBank目录下放置模拟银行的应答

jsp,里面模拟银行返回信息,然后将上面提到的提交银行接口的url改成该jsp的请求url。

9) 至此银行普通支付的对接工作基本完成。

二、 快捷支付

1. 代码结构图

图2-1 快捷支付代码结构图

2. 交互流程描述

客户操作流程:

1) 选择支付方式“快捷支付”,从支持快捷支付的银行列表中选择银行;

2) 输入银行卡、银行预留手机号等等信息,阅读并勾选签约协议,提交信息; 3) 提示支付成功;

系统前后端交互流程:

1) 用户在支付方式页面选择快捷支付选项卡后,页面向后台请求系统支持的快捷支付的银

行列表并展示银行快捷支付图标;

2) 用户选择银行后点击下一步,进入快捷支付页面,该页面首先发起请求判断当前用户是

否已签约该银行的快捷支付;

3) 如果没有则显示签约录入表单,用户输入签约所需的所有信息,并点击发送手机短信验

证码,用户收到短信验证码后输入并一起提交表单,后台将该用户提交的信息发送至银行的鉴权接口,鉴权返回成功后系统验证用户提交的短信验证码和支付密码等信息;验证通过后系统调用银行的签约接口签约,完成后前端转入步骤4);

4) 如果已签约则提示输入手机号等关键支付信息,提交到后台,后台发送短信验证码后,

前端弹出验证码输入框,再次提交到后台验证,后台验证正确后发送银行快捷支付接口,成功后返回到前端,提示支付结果;

3. 对接快捷支付开发步骤

开发步骤和普通网银支付基本一样,但是我们有几项约定:

1) 快捷银行的项目和银行的简称我们都以quick结尾,比如中信银行快捷支付项目名叫

citicquick;

2) 因为不同银行的快捷支付接口功能统一性不高,因此相对网银支付我们加了一层适配器

来屏蔽接口方法,银行服务中只需实现我们本银行有的接口。

3) 因为对快捷支付来说,我们平台输出的数据与网银支付不同,因此我们封装的快捷支付

的QuickBank与网银支付的Bank类中的属性也不同;

三、 B2B银行对接

1. 代码结构图

图3-1 B2B银行对接代码结构图

2. 与普通支付及快捷支付的异同

B2B银行对接的开发相对以上两种方式来说都要简单,主要区别在以下几个方面: 1) 所有功能都是一次调用接口完成,没有复杂的前后端交互;

2) 类图与快捷支付结构完全一样,因为不同银行接口功能统一度很低,因此我们也是用了

Adapter来屏蔽各种各样的接口方法,每个银行服务中只须实现本行提供的功能方法即可;

3) 与快捷支付相似,我们约定B2B的银行服务的简称都以B2B结尾,比如农业银行服务简

称为ABCB2B

四、 银企直连

因为银企直连几乎与B2B银行对接完全一样,因此这里不再重复描述。 不同之处只在于代码结构

五、 收单系统对接银行

1. 收单业务与银行交互流程

图5-1 业务逻辑与银行服务交互流程图

2. 银行对接开发步骤

因为收单银行服务与银企直连和B2B银行类似都是一步交互返回数据,因此对接时参照B2B银行即可;

本文来源:https://www.bwwdw.com/article/0492.html

Top