充值接口
文档说明
阅读对象
1、本规范的使用对象为服务商的技术开发人员、产品及业务。2、开发人员应该对post提交、json 格式、http/https传输、非对称秘钥和数据签名等有一定认识。
修订记录
2022-07-13:新增
相关术语
接口规则
协议规则
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("pyerAcctTp" , "00");
jsonDataMap.put("businessUrl" , "http://www.test.com");
jsonDataMap.put("payChannelType" , P1);
jsonDataMap.put("outOrdId" , "manual202207131341171657690877800");
jsonDataMap.put("bankId" , "01020000");
jsonDataMap.put("apiVersion" , "2.0.0.1");
jsonDataMap.put("bgRetUrl" , "http://www.test.com");
jsonDataMap.put("cBFlgCd" , "01");
jsonDataMap.put("trxDeviceIp" ,"127.0.0.1");
jsonDataMap.put("ordAmt" , "0.02");
jsonDataMap.put("lmtAcctTp" ,"01");
jsonDataMap.put("memberId" , "030147446000219844");
String jsonData = JSON.toJSONString(jsonDataMap);
// CFCA 签名
String checkValue = CFCASignature.signature("100001.pfx","888888", jsonData, "UTF-8").getSign();
场景介绍
功能描述
业务流程
API列表
充值接口
发布路径
输入参数
输入参数 |
参数代码 |
参数名称 |
数据类型 |
是否必填 |
参数说明 |
jsonData |
json数据 |
String |
必填 |
jsonData数据,内容见下方描述 |
|
checkValue |
加签密文 |
String |
必填 |
||
JsonData |
参数代码 |
参数名称 |
数据类型 |
是否必填 |
参数说明 |
apiVersion |
版本号 |
String(7) |
必填 |
固定:2.0.0.1 |
|
memberId |
会员号 |
String(18) |
必填 |
||
merOperId |
操作员号 |
String(32) |
非必填 |
||
outOrdId |
外部订单号 |
String(50) |
必填 |
同一会员号下保证唯一性 |
|
ordAmt |
充值金额 |
String(12) |
必填 |
||
payChannelType |
支付类型 |
String(2) |
必填 |
A1-支付宝 P1-网银 |
|
cBFlgCd |
网关支付类型 |
String(2) |
条件必填 |
网银必填
01-个人网关 02-企业网关
|
|
lmtAcctTp |
限定账户类型 |
String(2) |
条件必填 |
网银必填
01-借记卡
|
|
pyerAcctTp |
付款方账户类型 |
String(2) |
条件必填 |
网银必填
00-个人银行借记账户 05-对公银行账户
|
|
bankId |
银行id |
String(8) |
条件必填 |
见附录 |
|
bgRetUrl |
异步应答地址 |
String(8) |
必填 |
异步通知交易结果 |
|
businessUrl |
跳转地址 |
String(8) |
条件必填 |
网银必填,变长不超过120位,银行跳转前端地址 |
|
trxDeviceIp |
交易设备IP |
String(64) |
条件必填 |
网银必填
IPV4,此IP是网银使用用户的IP,业务系统发起网银支付申请时,应上送从商
户请求的request中获取的IP,银行将会进行强校验,如不一致则不允许交易。
|
|
gwChnnlTp |
网银充值渠道 |
Sting(2) |
非必填 |
网银充值必填
01-电脑浏览器浏览器 02-手机浏览器
03-手机应用程序程序 99-其他
默认 01
|
输出参数
输出参数 |
参数代码 |
参数名称 |
数据类型 |
是否必填 |
参数说明 |
respCode |
返回码 |
String( 6 ) |
必填 |
示例:
000000表示成功,
000199交易处理中,
其余表示失败( 详见错误返回码 )
|
|
respDesc |
返回文字说明 |
String( 256 ) |
非必填 |
||
checkValue |
加签密文 |
String |
必填 |
||
jsonData |
Json字符串 |
String |
必填 |
jsonData数据,内容见下方描述 |
|
JsonData |
参数代码 |
参数名称 |
数据类型 |
是否必填 |
参数说明 |
ordAmt |
充值金额 |
String(20) |
必填 |
||
reqSeqId |
汇付流水号 |
String(32) |
必填 |
||
outOrdId |
外部订单号 |
String(50) |
必填 |
||
productSeqDate |
请求日期 |
String(8) |
必填 |
||
productSeqTime |
请求时间 |
String(6) |
必填 |
||
qrcodeUrl |
二维码链接 |
String(120) |
非必填 |
||
formEncoding |
页面字符集 |
String(16) |
非必填 |
UTF-8、GBK |
|
bankCode |
银行返回码 |
String(32) |
非必填 |
||
bankMessage |
银行返回描述 |
String(100) |
非必填 |
||
channelTransAs
sembledUrl
|
跳转银行页面 |
String |
异步返回参数
输出参数 |
参数代码 |
参数名称 |
数据类型 |
是否必填 |
参数说明 |
respCode |
返回码 |
String( 6 ) |
必填 |
示例:
000000表示成功,
000199交易处理中,
其余表示失败( 详见错误返回码 )
|
|
respDesc |
返回文字说明 |
String( 256 ) |
非必填 |
||
checkValue |
加签密文 |
String |
必填 |
||
jsonData |
Json字符串 |
String |
必填 |
jsonData数据,内容见下方描述 |
|
JsonData |
参数代码 |
参数名称 |
数据类型 |
是否必填 |
参数说明 |
ordAmt |
充值金额 |
String(20) |
必填 |
||
reqSeqId |
汇付流水号 |
String(32) |
必填 |
||
outOrdId |
外部订单号 |
String(50) |
必填 |
||
payDate |
支付成功日期 |
String(8) |
必填 |
||
payTime |
支付成功时间 |
String(6) |
必填 |
||
transStat |
交易状态 |
String(1) |
必填 |
S-成功
F-失败
P-处理中
|
|
acctStat |
账务状态 |
String(1) |
必填 |
S-成功
F-失败
R-部分成功
|
充值查询接口
发布路径
输入参数
输入参数 |
参数代码 |
参数名称 |
数据类型 |
是否必填 |
参数说明 |
jsonData |
json数据 |
String |
必填 |
jsonData数据,内容见下方描述 |
|
checkValue |
加签密文 |
String |
必填 |
||
JsonData |
参数代码 |
参数名称 |
数据类型 |
是否必填 |
参数说明 |
apiVersion |
版本号 |
String(7) |
必填 |
固定:2.0.0.1 |
|
memberId |
会员号 |
String(18) |
必填 |
||
outOrdId |
外部订单号 |
String(50) |
非必填 |
充值请求时的外部订单号与reqSeqId不可同时为空 |
|
reqSeqId |
汇付流水号 |
String(32) |
非必填 |
汇付充值订单号与 outOrdId不可同时为空 |
输出参数
输出参数 |
参数代码 |
参数名称 |
数据类型 |
是否必填 |
参数说明 |
respCode |
返回码 |
String( 6 ) |
必填 |
示例:
000000表示成功,
000199交易处理中,
其余表示失败( 详见错误返回码 )
|
|
respDesc |
返回文字说明 |
String( 256 ) |
非必填 |
||
checkValue |
加签密文 |
String |
必填 |
||
jsonData |
Json字符串 |
String |
必填 |
jsonData数据,内容见下方描述 |
|
JsonData |
参数代码 |
参数名称 |
数据类型 |
是否必填 |
参数说明 |
memberId |
会员号 |
String(18) |
必填 |
||
ordAmt |
充值金额 |
String(20) |
必填 |
||
outOrdId |
外部订单号 |
String(50) |
必填 |
||
bankName |
银行名称 |
String(30) |
非必填 |
||
merFee |
商户手续费 |
String(12) |
非必填 |
||
transStat |
交易状态 |
String(1) |
必填 |
S-成功
F-失败
P-处理中
|
|
acctStat |
账务状态 |
String(1) |
必填 |
S-成功
F-失败
R-部分成功
|
附录
编码 |
银行简称 |
借 |
贷 |
综合 |
对公 |
01020000 |
中国工商银行 |
√ |
√ |
√ |
√ |
01030000 |
中国农业银行 |
√ |
√ |
√ |
√ |
01040000 |
中国银行 |
√ |
√ |
√ |
√ |
01050000 |
中国建设银行 |
√ |
√ |
√ |
√ |
03010000 |
交通银行 |
√ |
√ |
√ |
√ |
03020000 |
中信银行 |
√ |
√ |
√ |
√ |
03030000 |
中国光大银行 |
√ |
√ |
√ |
√ |
03040000 |
华夏银行 |
√ |
√ |
√ |
× |
03050000 |
中国民生银行 |
√ |
√ |
√ |
× |
03060000 |
广发银行 |
√ |
√ |
√ |
√ |
03080000 |
招商银行 |
√ |
√ |
√ |
√ |
03090000 |
兴业银行 |
√ |
√ |
√ |
√ |
03100000 |
上海浦东发展银行 |
√ |
√ |
√ |
√ |
03130011 |
北京银行 |
√ |
× |
× |
√ |
03130031 |
上海银行 |
√ |
√ |
√ |
× |
03133201 |
南京银行 |
√ |
√ |
√ |
× |
03133301 |
杭州银行 |
√ |
√ |
√ |
× |
03134402 |
平安银行 |
√ |
√ |
√ |
√ |
03160000 |
浙商银行 |
√ |
√ |
√ |
× |
03180000 |
渤海银行 |
√ |
√ |
√ |
× |
04020011 |
北京农村商业银行 |
√ |
√ |
√ |
× |
04020031 |
上海农村商业银行 |
√ |
√ |
√ |
√ |
04030000 |
中国邮政储蓄银行 |
√ |
√ |
√ |
√ |
错误码
错误码
常见错误码描述,如还未解决问题请及时联系专业技术支持人员。
错误码 描述 错误码 描述 错误码 描述
000000 操作成功 000098 请求参数非法 000093 请求参数不规范
SDK与DEMO
说明
SDK和DEMO作为参考或示例,请服务商在使用过程中,要专业技术人员指导使用,注意系统兼容性。
Java版本
即将更新。
PHP版本
即将更新。