进件接口测试与生产流程

Posted CPOS

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进件接口测试与生产流程相关的知识,希望对你有一定的参考价值。

测试测试可以用所发客户端代码中的样例参数来调试。

测试时样例参数中manageOrgIdpayChennelexpanderCdaccountTypeaccount这几个不要改



切入生产流程:

1.在测试调试完成后进件一个数据尽量齐全的商户,然后将数据报文发送给我方。这

会对照报文做最后的确认。待确认无误后可切到生产。

2.在切到生产时,需要客户方将生产用证书发送给我方,我方给客户方配置。

 生产进件用到的expanderCd要到拓展商服务中心网站自行申请


注:生产和测试的URL已在文档中写出

拓展商服务中心网站:https://cpos.cmbc.com.cn:18080/tbm-expander/login.html


写在前面:

文档中一些字段因兼容历史版本原因没有设为必输字段,但分行要求必输。

一些字段在早期非必输,但随着业务发展及风控把关的严格,业务上要求必输所以,字段填入越详细越好。

故:文档更大程度上作为技术文档,而不作为分行业务标准。文档上一些标为非必输的字段及附件需求按分行业务要求来。


字段详解:

客户号:customeId

填入进件成功后返回的客户号

变更商户信息时填入,当填入时走商户变更功能,会更改该商户的信息

该字段可能遇到的问题:

  1. 不存在该商户 

原因;(1)填入了错误的客户号(2)改商户已作废


拓展商号:expanderCd

填入在拓展商服务中心网站申请成功后获得的拓展商号(字段其它要求参照进件文档)

申请成功后可在  拓展商管理---------拓展商申请   该页面的拓展商号看到

该字段可能遇到的问题:

1.不存在该拓展商

原因;填入了错误的拓展商号   

注意:拓展商号(expanderCd)是类似0199982118这样的纯数字编号,

不是以字母T开头的


商户名称:merchantName

填入商户名称有全局判重校验(字段其它要求参照进件文档)

该字段可能遇到的问题:

1.该名称已存在  

原因:该商户名称已在我方系统中存在 (此种情况换一个名称即可通过)


商户简称:merchantShortName

填入商户简称即可(字段其它要求参照进件文档)

 

商户类型:merchantType

填入商户对应的类型即可(字段其它要求参照进件文档)

 

商户级别:merchantLevel

填入该商户对应级别(字段其它要求参照进件文档)

注意:分店级别商户要填入上级商户名(上级商户的客户号),且上级商户必须是集团商户级别


上级商户名parentCustormerId

填入商户的客户号(字段其它要求参照进件文档)

只有子商户(分店级别的商户)才需要填入上级商户,它的上级商户必须是集团商户。


开户类型:openType

填入商户对应的类型(字段其它要求参照进件文档)

注意:个人类型的商户,资质信息中必须填入有身份证这组信息。

企业类型的商户,资质信息中必须填入有营业执照这组信息


工商注册名:gszcName

填入商户的工商注册名,有全局判重校验  (字段其它要求参照进件文档)

注意:企业类型的商户该字段必填

 

第三方应用名称:thdSysNme

该字段为报文验签使用,贵方将CER格式的证书发给我方,由我方配置好后给贵方分配这个参数

测试环境也可以使用demo工程中的样例参数

 

摘要明文:summaryPlain

该字段为报文验签使用,由程序生成,请参照demo工程代码。

 

签名串(密文):encryptedSign

该字段为报文验签使用,由程序生成,请参照demo工程代码。

 

时间戳:timestamp

该字段为报文验签使用,由程序生成,请参照demo工程代码。

 

资质信息:qualificationInfos

填入证件信息,如姓名,身份证号,营业执照号等(字段其它要求参照进件文档)

注意:个人类型的商户,资质信息中必须填入有身份证这组信息。

企业类型的商户,资质信息中必须填入有营业执照这组信息

照片附件不需在这里传,附件问题后面详述


法人姓名:legalIdName

该字段分行业务要求填入

 

法人证件:legalIdType

该字段在企业开户类型时,分行业务要求身份证和营业执照都要传入

 

 

管理机构:manageOraId

填入合作分行相应的编码。合作分行为济南分行则填1600,为深圳分行填1800,为北京分行填0100

 

 

 

省份:province

填入省份对应编码。编码文档在其他相关文件压缩包中。(字段其它要求参照进件文档)

该字段测试环境数据不多,请用demo中样例参数

 

 

城市:city

填入城市对应编码。编码文档在其他相关文件压缩包中。(字段其它要求参照进件文档)

该字段测试环境数据不多,请用demo中样例参数

 『进件接口的Demo流程:http://pan.baidu.com/s/1gfy592z』

 

区县:county

填入区县对应编码。编码文档在其他相关文件压缩包中。(字段其它要求参照进件文档)

该字段测试环境数据不多,请用demo中样例参数

该字段分行业务要求传入


账户类型:accountType

填入账户对应的类型(字段其它要求参照进件文档)

注意:该字段与账户校验有关,所以请填入正确的账户类型,如不正确,会使账户校验不通过


账号:accountType

填入账户或银行卡号(字段其它要求参照进件文档)

描述:该账号为结算账号,即商户资金将结算到该账号

注意:该字段与账户校验有关

该字段可能遇到的情况:

1.账户名与银行预留客户名不一致           原因:没有填入开户时在银行留的开户名


账户名:accountName

填入上面账号在银行开户时的账户名(字段其它要求参照进件文档)

注意:该字段与账户校验有关

该字段可能遇到的情况:

1.账户名与银行预留客户名不一致           原因:没有填入开户时在银行留的开户名


开户行号:bankCode

填入联行号,精确到总行。(字段其它要求参照进件文档)该字段非民生对公账户类型必填

注意:总行联行号在其他相关文件压缩包中  总行联行号.txt(第一列值)

该字段可能遇到的情况:

1.输入的联行号长度不符       原因:联行号长度为12,没有填入正确的联行号


开户行名:bankName

填入账户所在银行的总行名称(字段其它要求参照进件文档)


开户网点:openBranch

填入联行号,精确到支行。(字段其它要求参照进件文档)该字段非民生对公账户类型必填

注意:支行联行号在其他相关文件压缩包中  支行联行号.txt(第一列值)


该字段可能遇到的情况:

1.输入的联行号长度不符       原因:联行号长度为12,没有填入正确的联行号


联系人:merchantConsacts

填入联系人姓名(字段其它要求参照进件文档)该字段指的是商户的联系人

 

 

联系人类型:consactsType

填入相应类型(字段其它要求参照进件文档)

 

支付通道:payChennel

填入相应的通道代码:    与济南分行合作则填入御付通道代码


 

业务模式:businessModel

填入相应业务模式:

 

 

垫资方:repaidPerson

填入垫资方名称

 

垫资费率:repaidRate

填入费率(单位千分位)

 

支付服务:payService

描述:一次可开通一个或多个,开通多个则在payServices中传入多组支付服务Map

注意:微信类型的只能开通一个,比如开通了微信千一则不能再开通其他微信支付服务。

商户开通的支付服务是在其拓展商也开通了相应支付服务的前提下的,(如果其有上级商户,则上级商户也要开通该支付服务)。比如拓展商没有开通QQ支付服务,则其下所有商户都不能开通QQ支付服务。


费率:scale

注意:各支付服务费率不能低于拓展商成本费率

拓展商成本费率是和分行签约的代理成本,和分行签约申请。商户各通道成本在进件中上送,一般要大于或等于代理成本才有分润


结算主体:countRole

改字段填入 与业务模式有关     

可参照业务模式与结算主体关系文件(其他相关文件压缩包中)


行业类型:tradeType

填入各个支付服务相关的行业类型

该字段测试环境数据不多,请用demo中样例参数

注意:完整版进件接口参照  微信支付QQ京东-经营类目表与百度经营类目表文件

         调整版进件接口参照  行业类别编码文件


其他问题:

微信的费率是指对于谁的费率?

微信的费率是指对于商户的费率。

 

商户进件后想开通新的支付服务或对商户信息做变动?

1.     可以到拓展商服务中心网站对该商户做相应的信息变动。

2.     可以用进件接口的修改功能。

 

关于商户类型与行业类型:

1、之间的关系:这两者之间没有关系。

2、行业类型选填与开通的支付服务有关系,只能选填相应的支付服务中的行业类型

请参照压缩包中经营类目表。(其他相关文件压缩包中)

 

附件上传问题:

上传的附件统一在支付服务中上传,在开通的支付服务中选取一组上传附件,上传一组附件就可以。不需将重复的附件在各个支付服务中上传多次

 

生产上开户行名显示为null的解答:

当账户类型为对公时(民生对公与非民生对公)页面上开户行名值取的是开户行名即bankName,当账户类型为对私时,页面上开户行名值实际上取的是开户网点即openBrach. 所以当账户为对私时,没传开户网点这个会显示为null,但这个不影响结算。


关于加密问题:

大致加密流程为:贵方先用自己的私钥加签,在用我方公钥加密。我方接到后先用私钥解密,再用贵方公钥验签。


测试环境贵方可使用demo中提供的私钥(已在jks文件中),公钥已经配置在jar包中,利用我方给出的加密方法即可加密。(不需向我方索要)

贵方也可自己生成jks文件,放于测试环境测试,但需给我放提供相应CER格式证书,我方将其部署在测试服上后贵方即可用自己jks来发送测试。 

注意:我方要求贵方提供的是CER格式证书(此文件中包含有公钥),不是单纯的字符串公钥

 

 

第三方应用名称指什么呢?

答:应用名称一般指代工程名称,也可以填写贵方公司名称拼音缩写,也可不传,不传情况下我方将按证书名称配置thdSysNme(第三方应用名)。

 

password 和alias是什么参数,我该怎么确定这两个参数的值?

答:这两个参数是生成证书时的参数,在生产上请换用贵方自己的,测试上如不要求配测试证书的情况下,用demo中的就可以。

详情可百度查询java 使用keytool生成cer格式证书相关资料


生成证书问题:

按照文档上写的方法生成证书,其中相关参数替换为自己的参数,参数含义可自行百

度。

注意:生成过程中有两个密码要设置为相同的,不然报错

详情可百度查询java 使用keytool生成cer格式证书相关资料


关于生产上配置证书验签失败问题原因:

生产上有个别对接方配置证书后验签失败,常见原因如下:

1.   证书问题:

(1)生成证书时jks文件和导出的cer证书文件,两文件名称要保持一致。

(2)生成的证书有问题,秘钥格式不对。

(3)对接方使用的jks文件和生成的cer证书不匹配,jks文件要使用于交于我方配置的证书相匹配的jks文件。

(4)传入参数不对,生产上别名和密码参数要换用贵方生成证书时的参数。

(5)加密方式不对,请使用我方提供demo中的加密方法加密。


写在最后:

进件失败返回的信息都是含有业务提示作用的,请各个对接方在进件失败后先查看返回信息,以此来提升效率


开发人员每期也都是有开发任务的,任务繁忙,有时不会第一时间注意到对接群中的

提问信息,所以望各方对接人员在遇到问题时能首先查看此文档和注意到返回信息提

示,以此提升双方效率。




以上是关于进件接口测试与生产流程的主要内容,如果未能解决你的问题,请参考以下文章

流程封装与基于加密接口的测试用例设计(接口测试框架实战)

小白也能读懂的接口测试,接口测试并没有那么难

接口测试全流程

接口测试全流程扫盲

接口测试全流程扫盲

接口测试全流程扫盲