充值接口
文档说明
阅读对象
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版本
即将更新。