小程序冻结

资金解冻

1. 接口介绍

功能简述:

本接口用于商户对已冻结成功的交易进行解冻,支持部分资金解冻。

约束条件:

1、 已存在冻结成功的交易

正常流程:

1、 报文合性校验
2、 资金解冻处理
3、 同步返回交易处理结果

异常流程:

1、 商户在招行侧开通IP白名单控制,请求源IP不在IP白单中
2、 报文验签失败
3、 报文参数非法
4、 无冻结交易

2. 请求地址

测试环境URL:

http://121.15.180.66:801/netpayment_directlink_nosession/UnFreeze.do

生产环境URL:

https://merchserv.netpay.cmbchina.com/merchserv/UnFreeze.do

3. 请求报文

请求报文参数类型(长度)必填描述示例
jsonRequestDataStringMjson格式的请求参数,详见jsonRequestData定义

jsonRequestData参数定义

参数名类型(长度)必填描述示例
versionString(3)M固定为2.02.0
charsetString(8)M编码格式,固定为UTF-8UTF-8
signStringM使用商户支付密钥对reqData内的数据进行签名
signTypeStringM固定为SHA-256SHA-256
reqData请求数据


dateTimeString(14)M请求时间,商户发起该请求的时间,精确到秒。
格式:yyyyMMddHHmmss
20160623101430
branchNoString(4)M商户分行号,4位数字0755
merchantNoString(6)M商户号,6位数字002346
merchantSerialNoString(32)M商户解冻交易流水号,全局唯一。6到32位数字或字母,商户生成。2016062310143088
origDateString(8)M原商户资金冻结交易日期YYYYMMDD20160623
origMerchantSerialNoString(32)M原商户资金冻结订单号2016062310143011
amountString(16)M解冻金额,以元为单位,格式XXXX.XX200.00
descString(100)O解冻描述,请不要使用特殊字符+、/、“停车费

请求示例:

json报文组织:

{
    "version":"2.0",
    "charset":"UTF-8",
    "sign":"见签名处理章节",
    "signType":"SHA-256",
    "reqData":{
        "dateTime":"20201129144111",
        "branchNo":"0755",
        "merchantNo":"000054",
        "merchantSerialNo":"99990000005",
        "origDate":"20201129",
        "origOrderNo":"9999000003",
        "amount":"0.01",
        "desc":"aaa"
        }
}

表单组织:

<form action="请求地址" method="post" >
      <input type="hidden" name="jsonRequestData" value='以上json字符串' /> 
      <input type="hidden" name="charset"  value='UTF-8' />
</form>

待签名字符串(未包含支付密钥):

amount=0.01&branchNo=0755&dateTime=20201129144111&desc=aaa&merchantNo=000054&merchantSerialNo=99990000005&origDate=20201129&origOrderNo=9999000003

4. 响应报文

参数名类型(长度)必填描述示例
versionString(3)M固定为2.02.0
charsetString(8)M参数编码,固定为UTF-8UTF-8
signStringM报文签名,使用商户支付密钥
对rspData内的数据进行验签

signTypeStringM签名算法,固定为SHA-256SHA-256
rspData应答数据


rspCodeStringM处理结果返回码

SUC0000:请求处理成功

其他:请求处理失败
SUC0000
rspMsgStringM处理结果返回码的描述信息资金冻结成功
dateTimeString(14)M银行响应该请求的时间,格式yyyyMMddHHmmss20160623101430
merchantSerialNoString(32)M商户解冻交易请求流水号2016062310143088
bankSerialNoString(20)M银行处理该请求的流水号2016062310143099
bankDateString(8)M银行解冻处理日期,格式yyyyMMdd20160623
bankTimeString(6)M银行解冻处理时间,格式HHmmss101430
currencyString(2)M币种,固定为:“10”10
amountString(16)M解冻金额,格式XXXX.XX10.01
以下字段联系招行配置控制参数后返回(默认不返回):
uniqueUserIDString(30)C支付用户ID,由身份证+姓名生成(推荐使用)UQwanCunLbp6cl1RbDFODrhLrAa48=
expandUserIDString(30)C一网通用户ID,由一网通ID生成(招行一网通用户的身份标识)EUfirwdVQVKhffJmjQhMod0dS6GYY=

相应示例:

正常json报文组织:

{
    "sign":"见签名处理章节",
    "signType":"SHA-256",
    "version":"2.0",
    "charset":"UTF-8",
    "rspData":{
        "expandUserID":"EUqF6oCJ1RZ3dW3jVCXVblyFk/hR8=",
        "uniqueUserID":"UQKqeWHDJKoO85gQhrobXHpTxWWeM=",
        "rspCode":"SUC0000",
        "rspMsg":"",
        "dateTime":"20201129144558",
        "merchantSerialNo":"99990000005",
        "bankSerialNo":"115W609A00039300000A",
        "bankDate":"20201129",
        "bankTime":"144303",
        "currency":"10",
        "amount":"0.01"
        }
}

异常json报文组织:

{
    "sign":"xxx",
    "signType":"SHA-256",
    "version":"2.0",
    "charset":"UTF-8",
    "rspData":{
        "rspCode":"MSS3823",
        "rspMsg":"MSS3823.解冻失败.重复解冻 [DJ141104]"
    }
}

5. 错误码

错误码描述解决方案
MSS9900请求数据Json转换异常检验并修改请求报文数据
MSS9002版本号错误Version固定为“1.0”
MSS9003签名算法错误目前仅支持“SHA-256”
MSS3411签名错误验证签名是否正确,请参考签名示例
MSS1016分行号格式错误分行号格式应为4位数字
MSS1017商户号格式错误商户号格式应为6位数字
MSS1020金额格式错误金额格式应xxxx.xx
MSS1022订单日期或者时间格式错误日期应为yyyyMMdd格式,
时间应为yyyyMMddHHmmss格式
MSS1113商户交易流水号格式错误格式应为6—32位字母或数字
MSS8011主机无此商户定义检查商户号、分行号是否正确
MSS2038非法商户:商户参数未定义检查商户数据是否正确
MSS1104请求时间延迟检查dateTime参数,不能早于服务器时间前30分钟
MSS3209该IP不允许发起此交易请检查商户管理系统配置参数
MSS1114原冻结交易商户订单号格式错误格式应为6—32位字母或数字
MSS3414描述内容超长长度不超过100位
MSS3823解冻失败具体失败原因参考报错信息