理财类接口¶
118 开通接口¶
功能说明¶
该接口用于开通理财功能。用户开通理财接口前可以先调用 312风险测评题目接口 以便了解用户的风险偏好等级。
调用方式:系统调用
- 注:若是企业开户想开通理财功能,则先联系汇付商务向运营申请配置sftp,需先上传相关图片资料到汇付的sftp服务器以便审核并顺利开通理财账号。
图片资料要求如下:
方式一:sftp方式上传:1、图片资料上传的路径要求:/sftp配置的目录/pict/图片名称。(sftp配置的目录默认为商户简称首字母缩写,如商户名称为汇付天下,首字母简写为hftx,目录为:/hftx/pict/图片名称)
2、图片名称要求:商户号_用户客户号_{type}_{自定义}.jpg (限制长度36位,自定义不建议中文,仅支持jpg格式),如:NP0561_6666000000026086_01_12.jpg
Type对应关系:
type FileId 01 开户证件副本FileId 02 税务登记证副本FileId 03 组织机构代码副本FileId 04 法人证件副本FileId 05 经办人证件FileId 06 银行开户证明FileId 07 身份证正面FileId 08 身份证反面FileId 方式二:调用122文件上传接口上传:
1.业务类型( trans_type 传02生利宝开户),详情参考122文件上传接口定义
2.各附件FileId请传入122接口返回的id, 并且要一一对应
请求参数¶
参数中文名称 | 参数名称 | 数据格式 | 是否必须 | 说明 |
---|---|---|---|---|
版本号 | version | 定长2位String | 必须 | 目前固定为10 |
消息类型 | cmd_id | 定长3位String | 必须 | 118 |
商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
用户客户号 | user_cust_id | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识 |
银行账户名 | bank_acct_name | 变长100位String | 可选 | 用户类型user_type为0则必填 |
银行卡号 | bank_no | 变长32位String | 可选 | 用户类型user_type为0则必填 |
电子邮件 | user_email | String | 可选 | |
订单日期 | order_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 |
订单号 | order_id | 变长20位String | 必须 | 由商户生成,必须保证唯一, |
商户后台应答地址 | bg_ret_url | 变长128位的String | 必须 | 通过后台异步通知结果 注意: 1) 使用时不要包含中文 2) 必须是外网地址 |
商户私有域 | mer_priv | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 |
扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数 |
身份证有效期 | certid_valid_date | 变长8位的String | 可选 | 用户类型user_type为0则必填;格式为YYYYMMDD,例如:20160307; |
职业 | occupation | 定长2位String | 可选 | 用户类型user_type为0则必填;职业:00-党政机关/事业单位、21-企业单位、04-金融、20-其他; |
风险测评域 | user_protocol_filed | 变长512位的String | 可选 | 个人的:{“assessResult” : “s1=3&s2=4&s3=1&s4=1&s5=1&s6=1&s7=1&s8=1&s9=1&s10=4”, “time” : “20180226100055”} 企业的:{“assessResult” : “s1=3&s2=4&s3=1&s4=1&s5=1&s6=1&s7=1&s8=1&s9=1&s10=4&s11=4&s12=4”, “time” : “20180226100055”} 具体参考风险测评文档 个人为10道题目 企业为12道题目 |
尽职调查域 | cust_research_filed | 变长512位的String | 可选 | { “taxFlag”: “1”, “address” : “地址”, “birthDate” : “20100909”, “taxCountry” : “中国”, “taxSId” : “”, “reason” : “”} birthDate格式为yyyymmdd |
用户类型 | user_type | 定长1位String | 必填 | 0:个人用户;1:企业用户 |
开户证件副本FileId | acct_open_lice_fileid | String36 | 可选 | 用户类型user_type为1必填;图片名称(必须带上图片扩展名jpg) NP0561_6666000000056735_02_12.jpg; 调用122文件上传接口上传时传入返回的id值 |
税务登记证副本FileId | tax_reg_fileid | String36 | 可选 | 用户类型user_type为1必填;图片名称(必须带上图片扩展名jpg) NP0561_6666000000056735_02_12.jpg 同上 |
组织机构代码副本FileId | org_code_fileid | String36 | 可选 | 用户类型user_type为1必填;图片名称(必须带上图片扩展名jpg) NP0561_6666000000056735_03_12.jpg 同上 |
法人证件副本FileId | legal_license_fileid | String36 | 可选 | 用户类型user_type为1必填;图片名称(必须带上图片扩展名jpg) NP0561_6666000000056735_04_12.jpg 同上 |
经办人证件FileId | opera_license_fileid | String36 | 可选 | 用户类型user_type为1必填;图片名称(必须带上图片扩展名jpg) NP0561_6666000000056735_05_12.jpg 同上 |
银行开户证明FileId | bank_acct_open_lice_fileid | String36 | 可选 | 用户类型user_type为1必填;图片名称(必须带上图片扩展名jpg) NP0561_6666000000056735_06_12.jpg 同上 |
经办人姓名 | operator_person | 变长20位的String | 可选 | 用户类型user_type为1必填; |
经办人身份证号码 | operator_certid | String | 可选 | 用户类型user_type为1必填; |
经办人证件类型 | operator_certtype | String | 可选 | 用户类型user_type为1必填;0:身份证(目前仅支持身份证) |
经办人身份证有效期 | operator_certid_expires | String | 可选 | 用户类型user_type为1必填;格式:YYYYMM,例如20201201 证件长期有效:20991231 |
经办人手机号 | operator_mobile | String | 可选 | 用户类型user_type为1必填; |
返回参数¶
参数中文名称 | 参数名称 | 数据格式 | 是否必须 | 说明 |
---|---|---|---|---|
消息类型 | cmd_id | 定长3位String | 必须 | 118 |
应答返回码 | resp_code | 定长6位String | 必须 | 118305: 开通成功、 其他见返回码表 |
本平台交易唯一标识号 | platform_seq_id | 定长18位String | 必须 | 组成规则:8位本平台日期+ 10位系统流水号 |
应答返回描述 | resp_desc | 变长String | 必须 | 返回码的对应中文描述 |
商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
用户客户号 | user_cust_id | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识 |
订单日期 | order_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 |
订单号 | order_id | 变长20位String | 必须 | 由商户生成,必须保证唯一, 20位内的字母或数字组合 |
商户后台应答地址 | bg_ret_url | 变长128位的String | 必须 | 通过后台异步通知结果(企业用户会异步通知) 注意: 1) 使用时不要包含中文 2) 必须是外网地址 |
职业 | occupation | 定长2位String | 必须 | 职业 00:党政机关/事业单位、21:企业单位、04:金融、20:其他 |
风险测评域 | user_protocol_filed | 变长512位的String | 可选 | |
尽职调查域 | cust_research_filed | 变长512位的String | 可选 | |
经办人姓名 | operator_person | 变长20位的String | user_type为1必填 | |
经办人身份证号码 | operator_certid | String | user_type为1必填 | |
经办人证件类型 | operator_certtype | String | user_type为1必填 | 0:身份证 |
经办人身份证有效期 | operator_certid_expires | String | user_type为1必填 | 格式:YYYYMM,例如20201201 证件长期有效:20991231 |
经办人手机号 | operator_mobile | String | user_type为1必填 | |
商户私有域 | mer_priv | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 |
扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数 |
银行账户名 | bank_acct_name | 变长100位String | 可选 | |
银行卡号 | bank_no | 变长32位String | 可选 | |
生利宝账户号 | slb_acct_id | 变长64位的String | 可选 | 开户成功返回 |
商户后台应答返回参数¶
备注:审核之后通知,仅**企业开户**才有异步返回
参数 | 中文名 | 定义 | 长度 | 非空 | 说明 |
---|---|---|---|---|---|
respCode | 返回码 | string | |||
respDesc | 返回描述 | string | |||
userCustId | 客户号 | string | |||
merCustId | 商户号 | String | |||
trdStatus | 开户结果 | string | 成功:S 处理中:P 失败:F | ||
reqFlag | 请求类型 | string | 新增:1 修改:2 |
代码示例¶
java
String valueObj = "{
"version": "10",
"cmd_id": "118",
"mer_cust_id": "6666000000026086",
"user_cust_id": "6666000000072600",
"bank_acct_name": "张三",
"bank_no": "6222031752341267",
"user_email": "8312341234@qq.com",
"order_date": "20180816",
"order_id": "201808161308536194",
"bg_ret_url": "http://192.168.0.74:8001/npayCallBack/asyncHandle.json",
"mer_priv": "商户私有域随便填写",
"extension": "扩展域随便填写",
"certid_valid_date": "20190707",
"occupation": "00",
"user_protocol_filed": "",
"cust_research_filed": "",
"user_type": "0",
"acct_open_lice_fileid": "",
"tax_reg_fileid": "",
"org_code_fileid": "",
"legal_license_fileid": "",
"opera_license_fileid": "",
"bank_acct_open_lice_fileid": "",
"operator_person": "",
"operator_certid": "",
"operator_certtype": "",
"operator_certid_expires": "",
"operator_mobile": ""
}";
String testUrl = "http://192.168.3.170:8083/npay/merchantRequest";
String checkValue = sign(valueObj);
String cmdId = "118";
String merCustId = "6666000000026086";
String version = "10";
String contentType = "application/x-www-form-urlencoded";
String charset = "UTF-8";
String postStr = "cmd_id=" + cmdId + "&version=" + version + "&mer_cust_id=" + merCustId + "&check_value=" + checkValue;
jodd.http.HttpRequest httpRequest = jodd.http.HttpRequest.post(testUrl).charset(charset);
jodd.http.HttpResponse httpResponse = httpRequest.contentType(contentType).body(postStr).send();
String body = httpResponse.bodyText();
String resultObj = parseResult(body);//解密
成功响应:
200
{
"cmd_id": "118",
"resp_code": "118000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000026086",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应:
200
{
"cmd_id": "118",
"resp_code": "118099",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000026086",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
返回码¶
开通理财(cmd_id=118) | |
---|---|
118330 | 您的开通请求已经受理,一个工作日后会返回审核结果。 |
118305 | 开通生利宝账户成功 |
118102 | 验证签名失败 |
118103 | 商户状态异常 |
118104 | 用户状态异常 |
118107 | 消息类型与签名内容不一致 |
118108 | 商户客户号与签名内容不一致 |
118109 | 版本号与签名内容不一致 |
118304 | 开通生利宝账户失败 |
118340 | 请联系管理员,配置SFTP服务!!! |
118339 | 银行开户证明图片格式名称错误 |
118338 | 经办人证件图片格式名称错误 |
118337 | 法人证件副本图片格式名称错误 |
118336 | 组织机构代码副本图片格式名称错误 |
118335 | 税务登记证副本图片格式名称错误 |
118334 | 开户证件副本图片格式名称错误 |
118226 | 该账户开户处理中,请勿重复提交 |
118099 | 系统异常 |
118202 | 交易订单号重复 |
119 关闭接口¶
请求参数¶
参数中文名称 | 参数名称 | 数据格式 | 是否必须 | 说明 |
---|---|---|---|---|
版本号 | version | 定长2位String | 必须 | 目前固定为10 |
消息类型 | cmd_id | 定长3位String | 必须 | 119 |
商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
用户客户号 | user_cust_id | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识 |
订单日期 | order_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 |
订单号 | order_id | 变长20位String | 必须 | 由商户生成,必须保证唯一, |
商户后台应答地址 | bg_ret_url | 变长128位的String | 必须 | 通过后台异步通知结果 注意: 1) 使用时不要包含中文 2) 必须是外网地址 |
商户私有域 | mer_priv | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 |
扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数 |
生利宝账户号 | slb_acct_id | 变长64位的String | 可选 | 118开户接口返回,不传默认关闭所有生利宝账户 |
返回参数¶
参数中文名称 | 参数名称 | 数据格式 | 是否必须 | 说明 |
---|---|---|---|---|
消息类型 | cmd_id | 定长3位String | 必须 | 119 |
应答返回码 | resp_code | 定长6位String | 必须 | 119308—关闭成功 其他见返回码表 |
应答返回描述 | resp_desc | 变长String | 必须 | 返回码的对应中文描述 |
商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
用户客户号 | user_cust_id | 定长16位String | 可选 | 由汇付生成,用户的唯一性标识 |
订单日期 | order_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 |
订单号 | order_id | 变长20位String | 必须 | 由商户生成,必须保证唯一, 20位内的字母或数字组合 |
本平台交易唯一标识号 | platform_seq_id | 定长18位String | 必须 | 组成规则:8位本平台日期+ 10位系统流水号 |
商户后台应答地址 | bg_ret_url | 变长128位的String | 必须 | 通过后台异步通知结果 注意: 1) 使用时不要包含中文 2) 必须是外网地址 |
商户私有域 | mer_priv | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 |
扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数 |
代码示例¶
java
String valueObj = "{
"version": "10",
"cmd_id": "119",
"mer_cust_id": "6666000000026086",
"user_cust_id": "6666000000072600",
"order_date": "20180816",
"order_id": "2018081613100075",
"bg_ret_url": "http://192.168.0.74:8001/npayCallBack/asyncHandle.json",
"mer_priv": "商户私有域随便填写",
"extension": "扩展域随便填写",
"slb_acct_id":"6666000000072600:110200644"
}";
String testUrl = "http://192.168.3.170:8083/npay/merchantRequest";
String checkValue = sign(valueObj);
String cmdId = "119";
String merCustId = "6666000000026086";
String version = "10";
String contentType = "application/x-www-form-urlencoded";
String charset = "UTF-8";
String postStr = "cmd_id=" + cmdId + "&version=" + version + "&mer_cust_id=" + merCustId + "&check_value=" + checkValue;
jodd.http.HttpRequest httpRequest = jodd.http.HttpRequest.post(testUrl).charset(charset);
jodd.http.HttpResponse httpResponse = httpRequest.contentType(contentType).body(postStr).send();
String body = httpResponse.bodyText();
String resultObj = parseResult(body);//解密
成功响应:
200
{
"cmd_id": "119",
"resp_code": "119000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000026086",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应:
200
{
"cmd_id": "119",
"resp_code": "119099",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000026086",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
返回码¶
关闭理财(cmd_id=119) | |
119099 | 系统异常 |
119100 | 请求参数非法 |
119101 | 商户无此接口权限 |
119102 | 验证签名失败 |
119103 | 商户状态异常 |
119104 | 用户状态异常 |
119107 | 消息类型与签名内容不一致 |
119108 | 商户客户号与签名内容不一致 |
119109 | 版本号与签名内容不一致 |
119308 | 关闭生利宝账户成功 |
119309 | 生利宝账户已经关闭 |
119202 | 交易订单号重复 |
224 申购接口¶
请求参数¶
参数中文名称 | 参数名称 | 数据格式 | 是否必须 | 说明 |
---|---|---|---|---|
版本号 | version | 定长2位String | 必须 | 默认为10,可扩展 |
消息类型 | cmd_id | 定长String | 必须 | 224 |
商户客户号 | mer_cust_id | 定长16位String | 必须 | 汇付生成,唯一 |
订单号 | order_id | 定长20位String | 必须 | 商户系统生成,商户下唯一 |
订单日期 | order_date | 定长8 位String | 必须 | YYYYMMDD |
客户号 | user_cust_id | 变长16位的String | 必须 | 汇付生成,用户的唯一性标识 |
出款账户 | out_acct_id | 变长9位的String | 必须 | |
申购金额 | purchase_amt | 变长14位的String | 必须 | 泛指交易金额,如充值、支付、取现、冻结和解冻金额(金额格式必须是###.00)比如2.00,2.01 |
商户后台应答地址 | bg_ret_url | 变长128位的String | 必须 | 通过后台异步通知,商户网站都应在应答接收页面输出RECV_ORD_ID字样的字符串,表明商户已经收到该笔交易结果 注意: 1) 使用时请注意不要包含中文 2) 必须是外网地址 |
商户私有域 | mer_priv | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 注意: 如果该字段中包含了中文字符请对该字段的数据进行Base64加密后再使用 |
入参扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数 |
生利宝账户号 | slb_acct_id | 变长64位的String | 可选 | 118开户接口返回,不传默认第一个生利宝账户 |
返回参数¶
参数中文名称 | 参数名称 | 数据格式 | 是否必须 | 说明 |
---|---|---|---|---|
消息类型 | cmd_id | 变长String | 必须 | 224 |
应答返回码 | resp_code | 定长6位的String | 必须 | 成功返回224000 |
应答描述 | resp_desc | 变长String | 必须 | |
商户客户号 | mer_cust_id | 定长16位String | 必须 | 汇付生成,唯一 |
用户客户号 | user_cust_id | 变长16位的String | 必须 | 汇付生成,用户的唯一性标识 |
订单号 | order_id | 定长20位String | 必须 | 商户系统生成,商户下唯一 |
订单日期 | order_date | 定长8 位String | 必须 | YYYYMMDD |
本平台交易唯一标识号 | platform_seq_id | 定长18位String | 必须 | 组成规则:8位本平台日期+ 10位系统流水号 |
转账金额 | purchase_amt | 变长14位的String | 必须 | 泛指交易金额,如充值、支付、取现、冻结和解冻金额(金额格式必须是###.00)比如2.00,2.01 |
商户后台应答地址 | bg_ret_url | 变长128位的String | 必须 | 通过后台异步通知,商户网站都应在应答接收页面输出RECV_ORD_ID字样的字符串,表明商户已经收到该笔交易结果 注意: 1) 使用时请注意不要包含中文 2) 必须是外网地址 |
商户私有域 | mer_priv | 变长120位的String | 可选 | 为商户的自定义字段 |
返参扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数 |
生利宝账户号 | slb_acct_id | 变长64位的String | 可选 |
返回码¶
代码示例¶
java
String valueObj = "{
"version": "10",
"cmd_id": "224",
"mer_cust_id": "6666000000026086",
"user_cust_id": "6666000000040420",
"order_date": "20180118",
"order_id": "20180218510102",
"purchase_amt": "0.58",
"out_acct_id": "97095",
"bg_ret_url": "http://loasi.com",
"slb_acct_id":"6666000000072912_140319"
}";
String testUrl = "http://192.168.3.170:8083/npay/merchantRequest";
String checkValue = sign(valueObj);
String cmdId = "224";
String merCustId = "6666000000026086";
String version = "10";
String contentType = "application/x-www-form-urlencoded";
String charset = "UTF-8";
String postStr = "cmd_id=" + cmdId + "&version=" + version + "&mer_cust_id=" + merCustId + "&check_value=" + checkValue;
jodd.http.HttpRequest httpRequest = jodd.http.HttpRequest.post(testUrl).charset(charset);
jodd.http.HttpResponse httpResponse = httpRequest.contentType(contentType).body(postStr).send();
String body = httpResponse.bodyText();
String resultObj = parseResult(body);//解密
成功响应:
200
{
"cmd_id": "224",
"resp_code": "224000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000026086",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应:
200
{
"cmd_id": "224",
"resp_code": "224099",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000026086",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
225 赎回接口¶
请求参数¶
参数中文名称 | 参数名称 | 数据格式 | 是否必须 | 说明 |
---|---|---|---|---|
版本号 | Version | 定长2位String | 必须 | 默认为10,可扩展 |
消息类型 | cmd_id | 定长String | 必须 | 225 |
商户客户号 | mer_cust_id | 定长16位String | 必须 | 汇付生成,唯一 |
订单号 | order_id | 定长20位String | 必须 | 商户系统生成,商户下唯一 |
订单日期 | order_date | 定长8 位String | 必须 | YYYYMMDD |
客户号 | user_cust_id | 变长16位的String | 必须 | 汇付生成,用户的唯一性标识 |
入款账户 | in_acct_id | 变长9位的String | 必须 | |
赎回金额 | redeem_amt | 变长14位的String | 必须 | 泛指交易金额,如充值、支付、取现、冻结和解冻金额(金额格式必须是###.00)比如2.00,2.01 |
商户后台应答地址 | bg_ret_url | 变长128位的String | 必须 | 通过后台异步通知,商户网站都应在应答接收页面输出RECV_ORD_ID字样的字符串,表明商户已经收到该笔交易结果 注意: 1) 使用时请注意不要包含中文 2) 必须是外网地址 |
商户私有域 | mer_priv | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 注意: 如果该字段中包含了中文字符请对该字段的数据进行Base64加密后再使用 |
入参扩展域 | Extension | 变长512位的String | 可选 | 用于扩展请求参数 |
生利宝账户号 | slb_acct_id | 变长64位的String | 可选 | 118开户接口返回,不传默认第一个生利宝账户 |
返回参数¶
参数中文名称 | 参数名称 | 数据格式 | 是否必须 | 说明 |
---|---|---|---|---|
消息类型 | cmd_id | 变长String | 必须 | 225 |
应答返回码 | resp_code | 定长6位的String | 必须 | 成功:225000 |
应答描述 | resp_desc | 变长String | 必须 | |
商户客户号 | mer_cust_id | 定长16位String | 必须 | 汇付生成,唯一 |
客户号 | user_cust_id | 变长16位的String | 必须 | 汇付生成,用户的唯一性标识 |
订单号 | order_id | 定长20位String | 必须 | 商户系统生成,商户下唯一 |
订单日期 | order_date | 定长8 位String | 必须 | YYYYMMDD |
本平台交易唯一标识号 | platform_seq_id | 定长18位String | 必须 | 组成规则:8位本平台日期+ 10位系统流水号 |
转账金额 | redeem_amt | 变长14位的String | 必须 | 泛指交易金额,如充值、支付、取现、冻结和解冻金额(金额格式必须是###.00)比如2.00,2.01 |
商户后台应答地址 | bg_ret_url | 变长128位的String | 必须 | 后台异步通知商户开户结果 |
商户私有域 | mer_priv | 变长120位的String | 可选 | 为商户的自定义字段 |
返参扩展域 | Extension | 变长512位的String | 可选 | 用于扩展请求参数 |
生利宝账户号 | slb_acct_id | 变长64位的String | 可选 |
返回码¶
代码示例¶
java
String valueObj = "{
"version": "10",
"cmd_id": "225",
"mer_cust_id": "6666000000026086",
"user_cust_id": "6666000000040420",
"order_date": "20180117",
"order_id": "201801175001102",
"redeem_amt": "0.29",
"in_acct_id": "97095",
"bg_ret_url": "http://loasi.com",
"slb_acct_id":"6666000000072912_140319"
}";
String testUrl = "http://192.168.3.170:8083/npay/merchantRequest";
String checkValue = sign(valueObj);
String cmdId = "225";
String merCustId = "6666000000026086";
String version = "10";
String contentType = "application/x-www-form-urlencoded";
String charset = "UTF-8";
String postStr = "cmd_id=" + cmdId + "&version=" + version + "&mer_cust_id=" + merCustId + "&check_value=" + checkValue;
jodd.http.HttpRequest httpRequest = jodd.http.HttpRequest.post(testUrl).charset(charset);
jodd.http.HttpResponse httpResponse = httpRequest.contentType(contentType).body(postStr).send();
String body = httpResponse.bodyText();
String resultObj = parseResult(body);//解密
成功响应:
200
{
"cmd_id": "225",
"resp_code": "225000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000026086",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应:
200
{
"cmd_id": "225",
"resp_code": "225099",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000026086",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
307 交易明细查询接口¶
请求参数¶
参数中文名称 | 参数名称 | 数据格式 | 是否必须 | 说明 |
---|---|---|---|---|
版本号 | version | 定长2位String | 必须 | 目前固定为10 |
消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为307 |
商户客户号 | mer_cust_id | 定长16位String | 必须 | 商户的唯一标识 |
用户客户号 | user_cust_id | 定长16位String | 必须 | 用户标识 |
开始日期 | begin_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 (最多查询100天) |
结束日期 | end_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 |
交易查询类型 | trans_type | 定长2位String | 必须 | 申购:10 赎回:11 |
商户私有域 | mer_priv | 变长120 位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 |
扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数 |
生利宝账户号 | slb_acct_id | 变长64位的String | 可选 | 118开户接口返回,不传默认查第一个生利宝账户 |
页数 | page_num | int | 可选 | 不传默认为1 |
每页记录数 | page_size | int | 可选 | 不传默认为100 |
返回参数¶
参数中文名称 | 参数名称 | 数据格式 | 是否必须 | 说明 |
---|---|---|---|---|
消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为307 |
商户客户号 | mer_cust_id | 定长16位String | 必须 | 商户的唯一标识 |
返回码 | resp_code | 定长3位String | 必须 | 000:成功 099:系统异常 213:订单信息不存在 |
返回内容 | resp_desc | 变长String | 可选 | |
交易明细 | trans_detail | 变长String | 必须 | 数据格式:json串 |
总数 | total_num | 变长String | 是 | 总条数 |
商户私有域 | mer_priv | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 |
扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数 |
交易明细(trans_detail)
订单号 | order_id | 变长20位String | 必须 | 由商户生成,必须保证唯一, 20位内的字母或数字组合 |
订单日期 | order_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 |
交易查询类型 | trans_type | 定长2位String | 必须 | 申购:10 赎回:11 |
汇付交易状态 | transfer_stat | 变长8位的String | 可选 | 成功 00 失败01 |
交易金额 | transfer_amt | 变长14位的String | 可选 | 泛指交易金额,金额格式必须是###.00,比如2.00,2.01 |
分账账户串 | div_detail | 变长String | 可选 | 数据格式:json串 |
分账账户串(div_detail)
参数中文名称 | 参数名称 | 数据格式 | 是否必须 | 说明 |
---|---|---|---|---|
分账客户号 | divCustId | 定长16位的String | 必须 | |
分账账户号 | divAcctId | 变长9位String | 必须 | |
分账金额 | divAmt | 变长14位String | 必须 | 分账金额,保留两位小数 |
冻结标记 | divFreezeFg | 定长2位String | 必须 | 不冻结:00 冻结:01 |
返回码¶
代码示例¶
java
String valueObj = "{
"version": "10",
"cmd_id": "307",
"mer_cust_id": "6666000000026086",
"user_cust_id": "6666000000056735",
"begin_date": "20180102",
"end_date": "20180131",
"trans_type": "10",
"mer_priv": "mer_priv",
"extension": "extension",
"slb_acct_id":"6666000000056735_139076",
"page_num":"1",
"page_size":"10"
}";
String testUrl = "http://192.168.3.170:8083/npay/merchantRequest";
String checkValue = sign(valueObj);
String cmdId = "307";
String merCustId = "6666000000026086";
String version = "10";
String contentType = "application/x-www-form-urlencoded";
String charset = "UTF-8";
String postStr = "cmd_id=" + cmdId + "&version=" + version + "&mer_cust_id=" + merCustId + "&check_value=" + checkValue;
jodd.http.HttpRequest httpRequest = jodd.http.HttpRequest.post(testUrl).charset(charset);
jodd.http.HttpResponse httpResponse = httpRequest.contentType(contentType).body(postStr).send();
String body = httpResponse.bodyText();
String resultObj = parseResult(body);//解密
成功响应:
200
{
"cmd_id": "307",
"resp_code": "307000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000026086",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应:
200
{
"cmd_id": "307",
"resp_code": "307003",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000026086",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
308 收益查询接口¶
请求参数¶
字段名 | 参数中文名称 | 数据格式 | 是否必须 | 说明 |
---|---|---|---|---|
version | 版本号 | 定长2位String | 必须 | 目前固定为10 |
cmd_id | 消息类型 | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为308 |
mer_cust_id | 商户号 | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
user_cust_id | 用户号 | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识 (查法人用户时填法人用户号) |
begin_date | 开始时间 | 定长8 位String | 可选 | YYYYMMDD查询时间 不超过365天;不传默认查前一天 |
end_date | 结束时间 | 定长8 位String | 可选 | YYYYMMDD查询时间 每次最多查询100条记录 |
mer_priv | 商户私有域 | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 |
extension | 扩展域 | 变长512位的String | 可选 | 用于扩展请求参数 |
slb_acct_id | 生利宝账户号 | 变长64位的String | 可选 | 118开户接口返回,不传默认查第一个生利宝账户 |
返回参数¶
参数中文名称 | 参数中文名称 | 数据格式 | 是否必须 | 说明 |
---|---|---|---|---|
cmd_id | 消息类型 | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为308 |
respCode | 应答返回码 | 定长6位的String | 必须 | |
respDesc | 应答描述 | 变长String | 必须 | |
mer_cust_id | 商户号 | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
user_cust_id | 用户号 | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识 |
profit_ detail | 收益信息 | 变长String (json串) | 必须 | 格式:[{incomedate:‘20171212’, incomeamt:‘123.00’, annurate:‘3%’}, { incomedate: ‘20171213’, incomeamt:‘123.00’, annurate:‘3%’}] |
total_num | 记录数 | 变长3位String | 必须 | 总录数 |
mer_priv | 商户私有域 | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 |
extension | 扩展域 | 变长512位的String | 可选 | 用于扩展请求参数 |
slb_acct_id | 生利宝账户号 | 变长64位的String | 可选 | 118开户接口返回,不传默认查第一个生利宝账户 |
profit_ detail | ||||
incomedate | 收益到账日期 | 定长8位的String | 可选 | yyyyMMdd |
incomeamt | 收益金额 | 变长String | 可选 | 单位:元,精确到分,如123.00 |
annurate | 7日年化收益率 | 变长String | 可选 | % |
返回码¶
代码示例¶
java
String valueObj = "{
"version": "10",
"cmd_id": "308",
"mer_cust_id": "6666000000026086",
"user_cust_id": "6666000000056735",
"begin_date": "20180102",
"end_date": "20180131",
"mer_priv": "mer_priv",
"extension": "extension",
"slb_acct_id":"6666000000056735_139076"
}";
String testUrl = "http://192.168.3.170:8083/npay/merchantRequest";
String checkValue = sign(valueObj);
String cmdId = "308";
String merCustId = "6666000000026086";
String version = "10";
String contentType = "application/x-www-form-urlencoded";
String charset = "UTF-8";
String postStr = "cmd_id=" + cmdId + "&version=" + version + "&mer_cust_id=" + merCustId + "&check_value=" + checkValue;
jodd.http.HttpRequest httpRequest = jodd.http.HttpRequest.post(testUrl).charset(charset);
jodd.http.HttpResponse httpResponse = httpRequest.contentType(contentType).body(postStr).send();
String body = httpResponse.bodyText();
String resultObj = parseResult(body);//解密
成功响应:
200
{
"cmd_id": "308",
"resp_code": "308000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000026086",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应:
200
{
"cmd_id": "308",
"resp_code": "308099",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000026086",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
309 收益率查询接口¶
请求参数¶
字段名 | 参数中文名称 | 数据格式 | 是否必须 | 说明 |
---|---|---|---|---|
version | 版本号 | 定长2位String | 必须 | 目前固定为10 |
cmd_id | 消息类型 | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为309 |
mer_cust_id | 商户号 | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
user_cust_id | 用户号 | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识 |
begin_date | 开始时间 | 定长8 位String | 可选 | YYYYMMDD查询时间 不超过365天;不传默认查前一天 |
end_date | 结束时间 | 定长8 位String | 可选 | YYYYMMDD查询时间 最多查询一个月的记录 |
mer_priv | 商户私有域 | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 |
extension | 扩展域 | 变长512位的String | 可选 | 用于扩展请求参数 |
返回参数¶
参数中文名称 | 参数中文名称 | 数据格式 | 是否必须 | 说明 | |
---|---|---|---|---|---|
cmd_id | 消息类型 | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为309 | |
respCode | 应答返回码 | 定长6位的String | 必须 | ||
respDesc | 应答描述 | 变长String | 必须 | ||
mer_cust_id | 商户号 | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 | |
user_cust_id | 用户号 | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识 | |
rate_detail | 收益率信息 | 变长string | 必须 | 格式:json串 | |
mer_priv | 商户私有域 | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 | |
extension | 扩展域 | 变长512位的String | 可选 | 用于扩展请求参数 | |
total_num | 记录数 | 变长3位String | 必须 | 总录数 | |
rate_detail | |||||
prddate | 日期 | 定长8位String | 可选 | yyyyMMdd | 多条记录 |
prdrate | 每万份收益率 | 变定String | 可选 | % | |
annurate | 7日年化收益率 | 变长String | 可选 | % |
返回码¶
代码示例¶
java
String valueObj = "{
"version": "10",
"cmd_id": "309",
"mer_cust_id": "6666000000026086",
"user_cust_id": "6666000000056735",
"days": "5",
"mer_priv": "mer_priv",
"extension": "extension"
}";
String testUrl = "http://192.168.3.170:8083/npay/merchantRequest";
String checkValue = sign(valueObj);
String cmdId = "309";
String merCustId = "6666000000026086";
String version = "10";
String contentType = "application/x-www-form-urlencoded";
String charset = "UTF-8";
String postStr = "cmd_id=" + cmdId + "&version=" + version + "&mer_cust_id=" + merCustId + "&check_value=" + checkValue;
jodd.http.HttpRequest httpRequest = jodd.http.HttpRequest.post(testUrl).charset(charset);
jodd.http.HttpResponse httpResponse = httpRequest.contentType(contentType).body(postStr).send();
String body = httpResponse.bodyText();
String resultObj = parseResult(body);//解密
成功响应:
200
{
"cmd_id": "309",
"resp_code": "309000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000026086",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应:
200
{
"cmd_id": "309",
"resp_code": "309099",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000026086",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
314 生利宝余额查询接口¶
请求参数¶
参数中文名称 | 参数名称 | 数据格式 | 是否必须 | 说明 |
---|---|---|---|---|
版本号 | version | 定长2位String | 必须 | 目前固定为10 |
消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为314 |
商户客户号 | mer_cust_id | 定长16位String | 必须 | 商户的唯一标识 |
用户客户号 | user_cust_id | 定长16位String | 必须 | 查询商户本身时,同商户客户号 |
生利宝账户号 | slb_acct_id | 变长64位的String | 可选 | 118开户接口返回,不传默认查第一个生利宝账户 |
返回参数¶
参数中文名称 | 参数名称 | 数据格式 | 是否必须 | 说明 |
---|---|---|---|---|
消息类型 | cmdId | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为314 |
返回码 | respCode | 定长3位String | 必须 | 000:成功 099:系统异常 |
返回内容 | respDesc | 变长String | 可选 | |
商户客户号 | merCustId | 定长16位String | 必须 | 商户的唯一标识 |
用户客户号 | userCustId | 定长16位String | 必须 | 查询商户本身时,同商户客户号 |
商户可用余额 | balance | 变长String | 必须 | |
商户账户余额 | acctBalance | 变长String | 必须 | |
商户冻结余额 | freezeBalance | 变长String | 必须 | |
商户在途余额 | inTransBalance | 变长String | 必须 | |
商户账户状态 | acctStat | 定长1位 | 必须 | N:正常 C:关闭 |
返回码¶
代码示例¶
java
String valueObj = "{"version":"10","cmd_id":"314","mer_cust_id":"6666000000026086","user_cust_id":"6666000000072600"}";
String testUrl = "http://192.168.3.170:8083/npay/merchantRequest";
String checkValue = sign(valueObj);
String cmdId = "314";
String merCustId = "6666000000026086";
String version = "10";
String contentType = "application/x-www-form-urlencoded";
String charset = "UTF-8";
String postStr = "cmd_id=" + cmdId + "&version=" + version + "&mer_cust_id=" + merCustId + "&check_value=" + checkValue;
jodd.http.HttpRequest httpRequest = jodd.http.HttpRequest.post(testUrl).charset(charset);
jodd.http.HttpResponse httpResponse = httpRequest.contentType(contentType).body(postStr).send();
String body = httpResponse.bodyText();
String resultObj = parseResult(body);//解密
成功响应:
200
{
"cmd_id": "314",
"resp_code": "314000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000026086",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应:
200
{
"cmd_id": "314",
"resp_code": "314003",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000026086",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
312 风险测评题目接口¶
请求参数¶
参数中文名称 | 参数名称 | 数据格式 | 是否必须 | 说明 |
---|---|---|---|---|
版本号 | version | 定长2位String | 必须 | 目前固定为10 |
消息类型 | cmd_id | 定长3位String | 必须 | 312 |
商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
用户客户号 | user_cust_id | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识 |
商户后台应答地址 | bg_ret_url | 变长128位的String | 可选 | 通过后台异步通知结果 注意: 1) 使用时不要包含中文 2) 必须是外网地址 |
商户私有域 | mer_priv | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 |
扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数 |
返回参数¶
参数中文名称 | 参数名称 | 数据格式 | 是否必须 | 说明 |
---|---|---|---|---|
消息类型 | cmd_id | 定长3位String | 必须 | 312 |
应答返回码 | resp_code | 定长6位String | 必须 | 312000—成功 其他见返回码表 |
本平台交易唯一标识号 | platform_seq_id | 定长18位String | 必须 | 组成规则:8位本平台日期+ 10位系统流水号 |
应答返回描述 | resp_desc | 变长String | 必须 | 返回码的对应中文描述 |
商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
用户客户号 | user_cust_id | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识 |
商户后台应答地址 | bg_ret_url | 变长128位的String | 可选 | 通过后台异步通知结果 注意: 1) 使用时不要包含中文 2) 必须是外网地址 |
商户私有域 | mer_priv | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 |
扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数 |
风险测评串 | riskJson | jsonString | 必须 |
风险测评串(riskJson)
riskJson | ||||
问题 | Q | String | 必须 | |
答案A | A | String | ||
答案B | B | String | ||
答案C | C | String | ||
答案D | D | String | ||
答案E | E | String | ||
序号 | order | int |
代码示例¶
java
String valueObj = "{
"version": "10",
"cmd_id": "312",
"mer_cust_id": "6666000000026086",
"user_cust_id": "6666000000072600",
"bg_ret_url": "http://192.168.0.74:8001/npayCallBack/asyncHandle.json",
"mer_priv": "商户私有域随便填写",
"extension": "扩展域随便填写"
}";
String testUrl = "http://192.168.3.170:8083/npay/merchantRequest";
String checkValue = sign(valueObj);
String cmdId = "312";
String merCustId = "6666000000026086";
String version = "10";
String contentType = "application/x-www-form-urlencoded";
String charset = "UTF-8";
String postStr = "cmd_id=" + cmdId + "&version=" + version + "&mer_cust_id=" + merCustId + "&check_value=" + checkValue;
jodd.http.HttpRequest httpRequest = jodd.http.HttpRequest.post(testUrl).charset(charset);
jodd.http.HttpResponse httpResponse = httpRequest.contentType(contentType).body(postStr).send();
String body = httpResponse.bodyText();
String resultObj = parseResult(body);//解密
成功响应:
200
{
"cmd_id": "312",
"resp_code": "312000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000026086",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应:
200
{
"cmd_id": "312",
"resp_code": "312099",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000026086",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
返回码¶
风险测评题目接口(cmd_id=312) | |
312000 | 成功 |
312099 | 系统异常 |
312331 | 风险测评域参数错误!!!! |
312332 | 尽职调查域参数错误!!!! |