其他接口
文档说明
阅读对象
1、本规范的使用对象为服务商的技术开发人员、产品及业务。2、开发人员应该对post提交、json 格式、http/https传输、非对称秘钥和数据签名等有一定认识。
修订记录
2019-05-06:新增
相关术语
接口规则
协议规则
1、接口调用方式为http post。2、数据传输使用json格式,编码使用utf-8,请求时存放json串的参数名为: jsonData,接口传递中文或含有特殊字符的参数时应URL Encoding,接口接收返回参数时应做URL Decoding。3、如果json请求串中值为null,则json串格式应为{“test”: “”}。4、接口的除merPriv字段之外,其他所有字段不应该包含特殊字符,如:“&”、”?”和”‘’”等。5、后台通知商户返回应答参数的规则:为了表示商户交易系统已经收到交易应答,商户必须在应答接收页面输出一段特殊的字符串,组成规则为:固定字符串RECV_ORD_ID_加上交易应答中某一指定字段,指定字段请见具体接口商户应答参数。
安全规范
1、为了保证数据传输过程中的数据真实性和完整性,我们需要对数据进行数字签名,在接收签名数据之后进行签名校验。2、详情请参见接口参数checkValue参数说明。3、checkValue生成规则:目前仅支持CFCA签名方式,checkValue生成方法请参考CFCA签名。简单示例:
HashMap<String , String> jsonDataMap = new HashMap<String , String>();
jsonDataMap.put("termOrdId" , "20180820020626985855");
jsonDataMap.put("memberId" , memberId);
jsonDataMap.put("ordAmt" , ordAmt);
jsonDataMap.put("authCode" , "134755413751742262");//二维码
jsonDataMap.put("goodsDesc" , URLEncoder.encode(goodsDesc , Constant.CHARSET_UTF8));
jsonDataMap.put("merPriv" , "{\"Ic\":\"2253425259\",\"merNoticeUrl\":\"http://172.31.13.182:38087/site/testHttp/testB/\",\"callType\":\"04\"}");
jsonDataMap.put("apiVersion" , apiVersion);
String jsonData = JSON.toJSONString(jsonDataMap);
// CFCA 签名
String checkValue = CFCASignature.signature("100001.pfx","888888", jsonData, "UTF-8").getSign();
其他接口
功能描述
1、盐值获取接口2、电子回单创建接口3、电子回单查询接口4、根据省查询市5、根据省、市查询区县6、根据省、市查询总行7、根据省、市、总行查询支行
API列表
盐值获取接口
描述
签名盐值获取sha256 支付类的盐值用此接口获取 其他类的都是json+chinapnr(小写) 接口版本号:1.0.0和2.0.0(SHA256签名) 2.0.0.1及以上用cfca
发布路径
输入参数
输入参数 |
参数代码 |
参数名称 |
数据类型 |
是否必填 |
参数说明 |
traceNo |
请求跟踪号 |
String |
非必填 |
可选,用于交易请求的跟踪号 |
|
jsonData |
json数据 |
String |
必填 |
jsonData数据,内容见下方描述 |
|
checkValue |
加签密文 |
String |
必填 |
sha256盐值为:json+CHINAPNR(大写) |
|
JsonData |
参数代码 |
参数名称 |
数据类型 |
是否必填 |
参数说明 |
memberId |
商户号 |
String( 18 ) |
必填 |
汇付分配的商户号 |
|
termOrdId |
商户订单号 |
String( 1-50 ) |
必填 |
商户订单号 |
|
longitude |
经度 |
String(20) |
非必填 |
可选,变长最大20位 |
|
latitude |
纬度 |
String(20) |
非必填 |
可选,变长最大20位 |
|
imei |
设备号 |
String(20) |
非必填 |
可选,最大20位 |
|
softVersion |
软件版本号 |
String(20) |
非必填 |
可选,最大10位 |
|
osVersion |
操作系统版本 |
String(20) |
非必填 |
可选,最大10位 |
|
apiVersion |
接口版本号 |
String( 7 ) |
必填 |
可选:1.0.0(默认,SHA256签名)
2.0.0.1(CFCA签名)。
|
|
sysId |
系统ID |
String |
必填 |
必填(开户成功后线下获取) |
|
prodId |
产品ID |
String |
必填 |
必填(开户成功后线下获取) |
输出参数
输出参数 |
参数代码 |
参数名称 |
数据类型 |
是否必填 |
参数说明 |
respCode |
返回码 |
String( 6 ) |
必填 |
示例:
000000表示成功,
其余表示失败( 详见错误返回
码 )
|
|
respDesc |
返回文字说明 |
String( 256 ) |
非必填 |
||
JsonData |
参数代码 |
参数名称 |
数据类型 |
是否必填 |
参数说明 |
factor |
干扰因子 |
String |
必填 |
||
salt |
盐值 |
String |
必填 |
终端用该盐值对传输的jsonDate进行sha256加密 |
电子回单创建接口
描述
电子回单创建
发布路径
输入参数
输入参数 |
参数代码 |
参数名称 |
数据类型 |
是否必传 |
参数说明 |
checkValue |
加签密文 |
String |
必填 |
Cfca方式验签 |
|
jsonData |
json |
json |
必填 |
jsonData数据,内容见下方描述 |
|
JsonData |
参数代码 |
参数名称 |
数据类型 |
是否必传 |
参数说明 |
apiVersion |
版本号 |
String(7) |
必填 |
2.0.0.1(CFCA签名) |
|
ordId |
汇付订单号 |
String(20) |
必填 |
||
fromMerchName |
付款方商户名称 |
String(60) |
非必填 |
||
memberId |
付款方商户号 |
String(18) |
必填 |
汇付分配的商户号 |
|
bankName |
收款方银行名称 |
String(60) |
非必填 |
||
bankCardId |
银行账号 |
String(20) |
非必填 |
||
toMerchName |
收款方商户名称 |
String(60) |
非必填 |
||
remark |
备注 |
String(120) |
非必填 |
||
businessType |
业务类型 |
String(20) |
非必填 |
||
termOrdId |
商户订单号 |
String(20) |
非必填 |
||
transAmtUpper |
交易金额大写 |
String |
非必填 |
||
transAmtLower |
交易金额小写 |
String |
非必填 |
||
tranDate |
交易日期 |
String |
必填 |
输出参数
输出参数 |
参数代码 |
参数名称 |
数据类型 |
是否必填 |
参数说明 |
respCode |
返回码 |
String( 6 ) |
必填 |
示例:
000000表示成功,
其余表示失败( 详见错误返回
码 )
|
|
respDesc |
返回文字说明 |
String( 256 ) |
非必填 |
||
jsonData |
json数据 |
String |
必填 |
jsonData数据,内容见下方描述 |
|
checkValue |
加签密文 |
String |
必填 |
cfca |
|
JsonData |
参数代码 |
参数名称 |
数据类型 |
是否必填 |
参数说明 |
eReceiptId |
电子回单编号 |
String |
必填 |
||
downloadUrl |
电子回单下载地址 |
String |
必填 |
||
viewpdfUrl |
电子回单查看地址 |
String |
必填 |
电子回单查询接口
描述
电子回单查询接口
发布路径
输入参数
输入参数 |
参数代码 |
参数名称 |
数据类型 |
是否必传 |
参数说明 |
checkValue |
加签密文 |
String |
必填 |
Cfca方式验签 |
|
jsonData |
json |
json |
必填 |
jsonData数据,内容见下方描述 |
|
JsonData |
参数代码 |
参数名称 |
数据类型 |
是否必传 |
参数说明 |
apiVersion |
版本号 |
String(7) |必填 |
2.0.0.1(CFCA签名) |
||
memberId |
付款方商户号 |
String(18) |
必填 |
汇付分配的商户号 |
|
eReceiptId |
电子回单编号 |
String |
必填 |
输出参数
输出参数 |
参数代码 |
参数名称 |
数据类型 |
是否必填 |
参数说明 |
respCode |
返回码 |
String( 6 ) |
必填 |
示例:
000000表示成功,
其余表示失败( 详见错误返回
码 )
|
|
respDesc |
返回文字说明 |
String( 256 ) |
非必填 |
||
jsonData |
json数据 |
String |
必填 |
jsonData数据,内容见下方描述 |
|
checkValue |
加签密文 |
String |
必填 |
cfca |
|
JsonData |
参数代码 |
参数名称 |
数据类型 |
是否必填 |
参数说明 |
eReceiptId |
电子回单编号 |
String |
必填 |
||
downloadUrl |
电子回单下载地址 |
String |
必填 |
||
viewpdfUrl |
电子回单查看地址 |
String |
必填 |
四方消息通知接口
描述
发布路径
输入参数
输入参数 |
参数代码 |
参数名称 |
数据类型 |
是否必传 |
参数说明 |
checkValue |
加签密文 |
String |
必填 |
Cfca方式验签 |
|
jsonData |
json |
json |
必填 |
jsonData数据,内容见下方描述 |
|
JsonData |
参数代码 |
参数名称 |
数据类型 |
是否必传 |
参数说明 |
apiVersion |
版本号 |
String(7) |必填 |
2.0.0.1(CFCA签名) |
||
memberId |
商户号 |
String(18) |
必填 |
汇付分配的商户号 |
|
message |
消息体 |
String(100) |
必填 |
默认使用汇付消息体,四方可按规范自定义播报内容
编码方式需要为UNICODE,范例:u65e5uff0cu4e0au6d77uff0cu6797
|
|
apiVersion |
版本号 |
String(10) |
必填 |
版本号1.0.0 |
输出参数
输出参数 |
参数代码 |
参数名称 |
数据类型 |
是否必填 |
参数说明 |
respCode |
返回码 |
String( 6 ) |
必填 |
示例:
000000表示成功,
其余表示失败( 详见错误返回
码 )
|
|
respDesc |
返回文字说明 |
String( 256 ) |
非必填 |
根据省查询市
发布路径
输入参数
输入参数 |
参数代码 |
参数名称 |
数据类型 |
是否必传 |
参数说明 |
checkValue |
加签密文 |
String |
必填 |
Cfca方式验签 |
|
jsonData |
json |
json |
必填 |
jsonData数据,内容见下方描述 |
|
JsonData |
参数代码 |
参数名称 |
数据类型 |
是否必传 |
参数说明 |
apiVersion |
版本号 |
String(20) |
必填 |
2.0.0.1,最大20位 |
|
memberId |
商户号 |
String(18) |
必填 |
商户会员号代理商会员号渠道商会员均可 |
|
provId |
省份Id |
String(6) |
必填 |
输出参数
输出参数 |
参数代码 |
参数名称 |
数据类型 |
是否必填 |
参数说明 |
checkValue |
加签密文 |
String |
必填 |
Cfca方式验签 |
|
jsonData |
json |
json |
必填 |
jsonData数据,内容见下方描述 |
|
respCode |
返回码 |
String(5) |
必填 |
000000表示成功,其余表示失败 |
|
respResc |
返回描述 |
String(256) |
非必填 |
具体返回描述信息,如:请求参数不规范 |
|
jsonData |
参数代码 |
参数名称 |
数据类型 |
是否必填 |
参数说明 |
city |
城市集合 |
JSONArray |
必填 |
见下方字段详解 |
|
city |
参数代码 |
参数名称 |
数据类型 |
是否必填 |
参数说明 |
cityId |
城市编号 |
String |
必填 |
||
cityName |
城市名称 |
String |
必填 |
根据省、市查询区县
发布路径
输入参数
输入参数 |
参数代码 |
参数名称 |
数据类型 |
是否必传 |
参数说明 |
checkValue |
加签密文 |
String |
必填 |
Cfca方式验签 |
|
jsonData |
json |
json |
必填 |
jsonData数据,内容见下方描述 |
|
JsonData |
参数代码 |
参数名称 |
数据类型 |
是否必传 |
参数说明 |
apiVersion |
版本号 |
String(20) |
必填 |
2.0.0.1,最大20位 |
|
memberId |
商户号 |
String(18) |
必填 |
商户会员号代理商会员号渠道商会员均可 |
|
provId |
省份编号 |
String(6) |
必填 |
||
cityId |
城市编号 |
String |
必填 |
输出参数
输出参数 |
参数代码 |
参数名称 |
数据类型 |
是否必填 |
参数说明 |
checkValue |
加签密文 |
String |
必填 |
Cfca方式验签 |
|
jsonData |
json |
json |
必填 |
jsonData数据,内容见下方描述 |
|
respCode |
返回码 |
String(5) |
必填 |
000000表示成功,其余表示失败 |
|
respResc |
返回描述 |
String(256) |
非必填 |
具体返回描述信息,如:请求参数不规范 |
|
jsonData |
参数代码 |
参数名称 |
数据类型 |
是否必填 |
参数说明 |
area |
城市集合 |
JSONArray |
必填 |
见下方字段详解 |
|
area |
参数代码 |
参数名称 |
数据类型 |
是否必填 |
参数说明 |
areaId |
区县编号 |
String |
必填 |
||
areaName |
区县名称 |
String |
必填 |
根据省、市查询总行
发布路径
输入参数
输入参数 |
参数代码 |
参数名称 |
数据类型 |
是否必传 |
参数说明 |
checkValue |
加签密文 |
String |
必填 |
Cfca方式验签 |
|
jsonData |
json |
json |
必填 |
jsonData数据,内容见下方描述 |
|
JsonData |
参数代码 |
参数名称 |
数据类型 |
是否必传 |
参数说明 |
apiVersion |
版本号 |
String(20) |
必填 |
2.0.0.1,最大20位 |
|
memberId |
商户号 |
String(18) |
必填 |
商户会员号代理商会员号渠道商会员均可 |
|
provId |
省份Id |
String(6) |
必填 |
||
cityId |
城市Id |
String |
必填 |
输出参数
输出参数 |
参数代码 |
参数名称 |
数据类型 |
是否必填 |
参数说明 |
checkValue |
加签密文 |
String |
必填 |
Cfca方式验签 |
|
jsonData |
json |
json |
必填 |
jsonData数据,内容见下方描述 |
|
respCode |
返回码 |
String(5) |
必填 |
000000表示成功,其余表示失败 |
|
respResc |
返回描述 |
String(256) |
非必填 |
具体返回描述信息,如:请求参数不规范 |
|
jsonData |
参数代码 |
参数名称 |
数据类型 |
是否必填 |
参数说明 |
bank |
城市集合 |
JSONArray |
必填 |
见下方字段详解 |
|
bank |
参数代码 |
参数名称 |
数据类型 |
是否必填 |
参数说明 |
bankId |
银行编号 |
String |
必填 |
||
bankname |
银行名称 |
String |
必填 |
根据省、市、总行查询支行
发布路径
输入参数
输入参数 |
参数代码 |
参数名称 |
数据类型 |
是否必传 |
参数说明 |
checkValue |
加签密文 |
String |
必填 |
Cfca方式验签 |
|
jsonData |
json |
json |
必填 |
jsonData数据,内容见下方描述 |
|
JsonData |
参数代码 |
参数名称 |
数据类型 |
是否必传 |
参数说明 |
apiVersion |
版本号 |
String(20) |
必填 |
2.0.0.1,最大20位 |
|
memberId |
商户号 |
String(18) |
必填 |
商户会员号代理商会员号渠道商会员均可 |
|
provId |
省份Id |
String(6) |
必填 |
||
cityId |
城市id |
String |
必填 |
||
bankId |
总行Id |
String |
必填 |
输出参数
输出参数 |
参数代码 |
参数名称 |
数据类型 |
是否必填 |
参数说明 |
checkValue |
加签密文 |
String |
必填 |
Cfca方式验签 |
|
jsonData |
json |
json |
必填 |
jsonData数据,内容见下方描述 |
|
respCode |
返回码 |
String(5) |
必填 |
000000表示成功,其余表示失败 |
|
respResc |
返回描述 |
String(256) |
非必填 |
具体返回描述信息,如:请求参数不规范 |
|
jsonData |
参数代码 |
参数名称 |
数据类型 |
是否必填 |
参数说明 |
branchBank |
支行集合 |
JSONArray |
必填 |
见下方字段详解 |
|
bankId |
总行Id |
String |
必填 |
||
branchBank |
参数代码 |
参数名称 |
数据类型 |
是否必填 |
参数说明 |
bankUnionCode |
联行号 |
String |
必填 |
||
branchName |
支行名称 |
String |
必填 |
商户借贷
描述
版本号固定2.0.0.1使用CFCA证书进行签名,使用前需联系运营人员,开通服务商的接口调用权限
发布路径
输入参数
输入参数 |
参数代码 |
参数名称 |
数据类型 |
是否必填 |
参数说明 |
jsonData |
json数据 |
String |
必填 |
jsonData数据,内容见下方描述 |
|
checkValue |
加签密文 |
String |
必填 |
签名方式:CFCA |
|
jsonData |
参数代码 |
参数名称 |
数据类型 |
是否必填 |
参数说明 |
apiVersion |
版本号 |
String(7) |
必填 |
固定:2.0.0.1 |
|
memberId |
商户号 |
String(18) |
必填 |
汇付分配的商户号 |
|
clientIp |
Ip地址 |
String(128) |
必填 |
发起借款请求的客户端IP地址 |
|
reqSerialNum |
请求流水号 |
String(32) |
必填 |
用于区分每笔请求 |
输出参数
输出参数 |
参数代码 |
参数名称 |
数据类型 |
是否必填 |
参数说明 |
respCode |
返回码 |
String( 6 ) |
必填 |
示例:
000000表示成功,
其余表示失败( 详见错误返回
码 )
|
|
respDesc |
返回文字说明 |
String( 256 ) |
非必填 |
||
jsonData |
参数代码 |
参数名称 |
数据类型 |
是否必填 |
参数说明 |
accessKey |
鉴权key |
String |
必填 |
请求成功返回 |
|
url |
首页URL 路径 |
String |
必填 |
请求成功返回 |
错误码
错误码
常见错误码描述,如还未解决问题请及时联系专业技术支持人员。错误码 描述 错误码 描述 错误码 描述 000000 操作成功 000098 请求参数非法 000267 接口获取状态与订单状态不符 000093 请求参数不规范 000097 数据库异常 000268 二维码反向交易超时 000094 重复交易 000234 订单生成失败 000272 订单查询,未查询到记录 000095 验签失败 000236 PA入账失败 000273 支付通道类型不为微信或者支付宝 000100 业务系统已关闭 000238 对象属性复制异常 000277 无此交易类型 000107 业务系统不存在 000240 冻结账务对象不存在,分账串解析为空 000278 无此交易记录 000202 订单已存在 000241 订单被风控拒绝,风控未通过 000279 退货失败,该笔订单非退货交易 000203 原订单不存在 000242 风控系统调用异常 000197 控台系统异常,网络繁忙 000204 撤销金额与原订单金额不一致 000243 撤销或退货失败,PA冻结超时 000281 交易处理中 000205 撤销日期与原订单日期不一致 000244 不存在该账务类型 000099 网络繁忙,请稍后再试 000206 撤销失败,账务状态异常 000245 分账串异常 000219 订单校验失败 000207 撤销失败,PA冻结失败 000250 退货失败,PA退款失败 000220 签名上送失败,订单未完成支付 000208 撤销失败,通道失败 000256 退货失败,PA冻结超时 000221 签名上传失败,已上传 000209 撤销失败,原订单未完成 000255 确认交易失败,账务状态异常 000213 退货失败,超出退货期限 000210 退货失败,原订单未完成 000257 确认交易失败,原订单未成功 000214 退货失败,PA冻结失败 000211 退货失败,账务状态异常 000258 确认交易失败,确认金额与原交易金额不一致 000215 退货失败,通道失败 000212 退货失败,超出可退货金额 000260 消费撤销发通道扣款超时 000261 消费退货发通道扣款超时 000199 二维码交易处理中 000198 二维码交易失败
SDK与DEMO
说明
SDK和DEMO作为参考或示例,请服务商在使用过程中,要专业技术人员指导使用,注意系统兼容性。
Java版本
即将更新。
PHP版本
即将更新。