代扣类接口 ========== 绑卡短信发送接口 -------------------------- 功能说明 ~~~~~~~~~~~~ 发送短信验证码,以便在进行后续绑卡业务中验证该短信验证码。 调用方式:系统调用 请求参数 ~~~~~~~~~~~~~~ +--------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | **参数中文名称** | **参数名称** | **数据格式** | **是否必须** | **说明** | +====================+======================+=====================+================+===================================================================================+ | 版本号 | version | 定长2位String | 必须 | 目前固定为10 | +--------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 消息类型 | cmd\_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为111 | +--------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 | +--------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 用户客户号 | user\_cust\_id | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识 | +--------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 订单号 | order\_id | 变长20位String | 必须 | 由商户生成,必须保证唯一, 20位内的字母或数字组合 | +--------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 | +--------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 验卡类型 | card\_verify\_type | 定长2位String | 必须 | 快捷绑卡: 02 消费分期代扣绑卡: 03 非消费分期代扣绑卡: 04 | +--------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 开户银行代号 | bank\_id | 变长8位String | 可输 | 具体见附件:开户银行代号 | +--------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 借贷标记 | dc\_flag | 定长1位String | 必须 | 0--借记,储蓄卡 1--贷记,信用卡 | +--------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 银行卡号 | card\_no | 变长32位String | 必须 | 本次快捷绑卡待绑定的银行卡号 | +--------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 银行预留手机号 | card\_mobile | 变长11位String | 必须 | 本次快捷绑卡待绑定的银行卡,在银行开户时的预留手机号 | +--------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 银行卡开户省份 | card\_prov | 定长4位String | 可输 | 本次快捷绑卡待绑定的银行卡开户省份 | +--------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 银行卡开户地区 | card\_area | 定长4位String | 可输 | 本次快捷绑卡待绑定的银行卡开户地区 | +--------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位的String | 必须 | 通过后台异步通知商户短信发送结果 注意: 1) 使用时不要包含中文 2) 必须是外网地址 | +--------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 | +--------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数 | +--------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ 返回参数 ~~~~~~~~~~~~~~ +--------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | **参数中文名称** | **参数名称** | **数据格式** | **是否必须** | **说明** | +====================+======================+=====================+================+===================================================================================+ | 消息类型 | cmd\_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为111 | +--------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 应答返回码 | resp\_code | 定长6位String | 是 | 111000--调用成功,其他见返回码表 | +--------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 应答返回描述 | resp\_desc | 变长String | 是 | 返回码的对应中文描述 | +--------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 | +--------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 用户客户号 | user\_cust\_id | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识 | +--------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 订单号 | order\_id | 变长20位String | 必须 | 由商户生成,必须保证唯一, 20位内的字母或数字组合 | +--------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 | +--------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 验卡类型 | card\_verify\_type | 定长8位String | 必须 | 快捷绑卡: 02 消费分期代扣绑卡: 03 非消费分期代扣绑卡: 04 | +--------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位的String | 必须 | 通过后台异步通知商户短信发送结果 注意: 1) 使用时不要包含中文 2) 必须是外网地址 | +--------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 | +--------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数 | +--------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ 代码示例 ~~~~~~~~~ java .. code:: java String valueObj = "{ "version": "10", "cmd_id": "111", "mer_cust_id": "6666000000026086", "user_cust_id": "6666000000027184", "order_date": "20180328", "order_id": "0020180365", "card_verify_type": "02", "bank_id": "01020000", "dc_flag": "0", "card_no": "6212261001039279143", "card_mobile": "13666666691", "card_prov": "0031", "card_area": "3100", "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 = "111"; 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);//解密 .. 成功响应: .. code:: json 200 { "cmd_id": "111", "resp_code": "111000", "resp_desc": "交易成功", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } .. 失败响应: .. code:: json 200 { "cmd_id": "111", "resp_code": "111099", "resp_desc": "交易失败", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } 返回码 ~~~~~~~~~ +-----------------------------------------------+------------------------------------------------------+ |**返回码** |**返回描述** | +-----------------------------------------------+------------------------------------------------------+ | 111000 | 交易成功 | +-----------------------------------------------+------------------------------------------------------+ | 111098 | 系统超时 | +-----------------------------------------------+------------------------------------------------------+ | 111099 | 系统异常 | +-----------------------------------------------+------------------------------------------------------+ | 111100 | 请求参数非法 | +-----------------------------------------------+------------------------------------------------------+ | 111101 | 商户无此接口权限 | +-----------------------------------------------+------------------------------------------------------+ | 111102 | 验证签名失败 | +-----------------------------------------------+------------------------------------------------------+ | 111103 | 商户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 111104 | 用户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 111107 | 消息类型与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 111108 | 商户客户号与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 111109 | 版本号与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 111110 | 商户号不存在 | +-----------------------------------------------+------------------------------------------------------+ | 111111 | 用户客户号不存在 | +-----------------------------------------------+------------------------------------------------------+ | 111204 | 商户配置异常 | +-----------------------------------------------+------------------------------------------------------+ | 111210 | 短信验证码发送过于频繁 | +-----------------------------------------------+------------------------------------------------------+ | 111211 | 短信验证码发送失败 | +-----------------------------------------------+------------------------------------------------------+ | 111300 | 当前商户不支持借记卡 | +-----------------------------------------------+------------------------------------------------------+ | 111301 | 当前商户不支持贷记卡 | +-----------------------------------------------+------------------------------------------------------+ | 111302 | 当前银行卡已绑过快捷卡 | +-----------------------------------------------+------------------------------------------------------+ | 111303 | 银行卡信息与上次绑卡信息不一致,请解绑后再提交绑卡 | +-----------------------------------------------+------------------------------------------------------+ | 111304 | 验证码发送失败 | +-----------------------------------------------+------------------------------------------------------+ | 111305 | 验证码发送成功 | +-----------------------------------------------+------------------------------------------------------+ | 111306 | 贷记卡类型时,贷记卡CVV2、贷记卡有效期必须输入 | +-----------------------------------------------+------------------------------------------------------+ | 111307 | 非贷记卡类型时,贷记卡CVV2、贷记卡有效期不能输入 | +-----------------------------------------------+------------------------------------------------------+ | 111308 | 只有个人用户和个体户能绑定快捷卡 | +-----------------------------------------------+------------------------------------------------------+ | 111309 | 验证码发送中 | +-----------------------------------------------+------------------------------------------------------+ 消费分期订单信息录入接口 ------------------------ 功能说明 ~~~~~~~~~~~~ 用于用户录入消费分期订单信息,以便后续进行代扣支付 调用方式:系统调用 请求参数 ~~~~~~~~~~~~~~ +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | **参数中文名称** | **参数名称** | **数据格式** | **是否必须** | **说明** | +====================+========================+=====================+================+===================================================================================+ | 版本号 | version | 定长2位String | 必须 | 默认为10,可扩展 | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 消息类型 | cmd\_id | 定长3位String | 必须 | 113 | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位String | 必须 | | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 订单号 | order\_id | 变长20位String | 必须 | 商户系统生成,商户下唯一 | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 订单日期 | order\_date | 定长8 位String | 必须 | YYYYMMDD | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 项目ID | product\_id | 变长20位String | 必须 | | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 项目总金额 | product\_amt | 变长14位的String | 必须 | 金额格式是###.00 | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 项目期数 | product\_periods | 变长14位的String | 必须 | | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 项目开始时间 | product\_start\_time | 定长14位的String | 必须 | yyyyMMddHHmmss | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 项目结束时间 | product\_end\_time | 定长14位的String | 必须 | | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 项目所在地 | product\_location | 定长4位的String | 必须 | 省份编号 | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位的String | 必须 | 通过后台异步通知商户信息录入结果 注意: 1) 使用时不要包含中文 2) 必须是外网地址 | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String | 必须 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 入参扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数 | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ 返回参数 ~~~~~~~~~~~~~~ +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | **参数中文名称** | **参数名称** | **数据格式** | **是否必须** | **说明** | +====================+========================+=====================+================+===================================================================================+ | 消息类型 | cmd\_id | 变长String | 必须 | 113 | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 应答返回码 | resp\_code | 定长6位的String | 必须 | | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 应答描述 | resp\_desc | 变长String | 必须 | | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位String | 必须 | | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 订单号 | order\_id | 变长20位String | 必须 | 商户系统生成,商户下唯一 | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 订单日期 | order\_date | 定长8 位String | 必须 | YYYYMMDD | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 项目ID | product\_id | 变长16位String | 必须 | | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 项目总金额 | product\_amt | 变长14位的String | 必须 | 金额格式是###.00 | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 项目期数 | product\_periods | 变长14位的String | 必须 | | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 项目开始时间 | product\_start\_time | 变长14位的String | 必须 | | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 项目结束时间 | product\_end\_time | 变长14位的String | 必须 | | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 项目所在地 | product\_location | 定长4位的String | 必须 | | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位的String | 必须 | 通过后台异步通知商户信息录入结果 注意: 1) 使用时不要包含中文 2) 必须是外网地址 | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 返参扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数 | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ 代码示例 ~~~~~~~~~ java .. code:: java String valueObj = "{ "version": "10", "cmd_id": "113", "mer_cust_id": "6666000000026086", "order_id": "2220001", "order_date": "20180816", "product_id": "1014", "product_amt": "120.01", "product_periods": "11111", "product_start_time": "20180815151200", "product_end_time": "20180815201200", "product_location": "0031", "bg_ret_url": "http://192.168.0.74:8001/npayCallBack/asyncHandle.json", "mer_priv": "", "extension": "test_extension" }"; String testUrl = "http://192.168.3.170:8083/npay/merchantRequest"; String checkValue = sign(valueObj); String cmdId = "113"; 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);//解密 .. 成功响应: .. code:: json 200 { "cmd_id": "113", "resp_code": "113000", "resp_desc": "交易成功", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } .. 失败响应: .. code:: json 200 { "cmd_id": "113", "resp_code": "113099", "resp_desc": "交易失败", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } 返回码 ~~~~~~~~~ +-----------------------------------------------+------------------------------------------------------+ |**返回码** |**返回描述** | +-----------------------------------------------+------------------------------------------------------+ | 113000 | 交易成功 | +-----------------------------------------------+------------------------------------------------------+ | 113099 | 系统异常 | +-----------------------------------------------+------------------------------------------------------+ | 113100 | 请求参数非法 | +-----------------------------------------------+------------------------------------------------------+ | 113101 | 商户无此接口权限 | +-----------------------------------------------+------------------------------------------------------+ | 113102 | 验证签名失败 | +-----------------------------------------------+------------------------------------------------------+ | 113103 | 商户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 113104 | 用户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 113202 | 交易订单号重复 | +-----------------------------------------------+------------------------------------------------------+ | 113301 | 项目开始时间晚于或等于项目结束时间 | +-----------------------------------------------+------------------------------------------------------+ 消费分期代扣签约绑卡接口 ------------------------ 功能说明 ~~~~~~~~~~~~ 用于用户进行消费分期代扣签约绑卡。 调用方式:页面浏览器 请求参数 ~~~~~~~~~~~~~~ +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ | **参数中文名称** | **参数名称** | **数据格式** | **是否必须** | **说明** | +====================+==================+=====================+================+=========================================================================================+ | 版本号 | version | 定长2位String | 是 | 目前固定为10 | +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ | 消息类型 | cmd\_id | 定长3位String | 是 | 每一种消息类型代表一种交易,此处为“114” | +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位String | 是 | 由汇付生成,商户的唯一性标识 | +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ | 用户客户号 | user\_cust\_id | 定长16位String | 是 | 由汇付生成,用户的唯一性标识 | +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 是 | 格式为“yyyyMMdd” 注:请和绑卡短信发送接口的订单日期一致 | +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ | 订单号 | order\_id | 变长20位String | 是 | 由商户的系统生成,订单号和订单日期保证唯一 注:请和绑卡短信发送接口的订单号一致 | +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ | 产品ID | product\_id | 变长20位String | 是 | 对应订单录入中产品ID | +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ | 开户银行代号 | bank\_id | 变长8位String | 是 | 具体见附件:开户银行代号 | +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ | 借贷标记 | dc\_flag | 定长1位String | 是 | 0--借记,储蓄卡 1--贷记,信用卡 | +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ | 银行卡号 | card\_no | 变长32位String | 是 | 待绑定的银行卡号 | +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ | 银行预留手机号 | card\_mobile | 变长11位String | 是 | 银行开户时的预留手机号 | +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ | 银行卡开户省份 | card\_prov | 定长4位String | 是 | 银行卡开户省份 | +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ | 银行卡开户地区 | card\_area | 定长4位String | 是 | 银行卡开户地区 | +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ | 短信验证码 | sms\_code | 定长6位String | 是 | | +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位的String | 是 | 后台异步通知商户绑卡结果 | +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ | 页面返回URL | ret\_url | 变长128位的String | 否 | 通过后台异步通知商户绑卡结果 注意: 1) 使用时不要包含中文 2) 必须是外网地址 | +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String | 否 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 | +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ | 扩展域 | extension | 变长512位的String | 否 | 用于扩展请求参数 | +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ 返回参数 ~~~~~~~~~~~~~~ +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | **参数中文名称** | **参数名称** | **数据格式** | **是否必须** | **说明** | +========================+=====================+=====================+================+===============================================================================+ | 消息类型 | cmd\_id | 定长3位String | 是 | 每一种消息类型代表一种交易,此处为”114” | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 应答返回码 | resp\_code | 定长6位String | 是 | 114000--调用成功,其他见返回码表 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 应答返回描述 | resp\_desc | 变长String | 是 | 返回码的对应中文描述 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位String | 是 | 由汇付生成,商户的唯一性标识 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 用户客户号 | user\_cust\_id | 定长16位String | 是 | 由汇付生成,用户的唯一性标识 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 是 | 格式为“yyyyMMdd” | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 订单号 | order\_id | 变长20位String | 是 | 由商户的系统生成,订单号和订单日期保证唯一 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 产品ID | product\_id | 变长20位String | 是 | 对应订单录入中产品ID | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 本平台交易唯一标识号 | platform\_seq\_id | 定长18位String | 是 | 组成规则:8位本平台日期+ 10位系统流水号 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 开户银行代号 | bank\_id | 变长8位String | 是 | 对应订单录入中产品ID | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 银行卡号 | card\_no | 变长32位String | 是 | 本次代扣签约绑卡绑定的银行卡号掩码 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 绑定银行卡ID | bind\_card\_id | 变长20位String | 是 | 用于代扣支付交易 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位的String | 是 | 通过后台异步通知商户绑卡结果 注意: 1) 使用时不要包含中文 2) 必须是外网地址 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 页面返回URL | ret\_url | 变长128位的String | 否 | 交易完成后,本平台系统把交易结果通过页面方式,发送到该地址上 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String | 否 | 为商户的自定义字段 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 扩展域 | extension | 变长512位的String | 否 | 用于扩展请求参数 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ 代码示例 ~~~~~~~~~ java .. code:: java String valueObj = "{ "version": "10", "cmd_id": "114", "mer_cust_id": "6666000000026086", "user_cust_id": "6666000000026170", "order_date": "20180327", "order_id": "0020180360", "product_id": "12345678901234567889", "bank_id": "01020000", "dc_flag": "0", "card_no": "6222021102051087578", "card_mobile": "13666666661", "card_prov": "0031", "card_area": "3100", "sms_code": "111111", "bg_ret_url": "http://192.168.0.74:8001/npayCallBack/asyncHandle.json", "ret_url": "", "mer_priv": "", "extension": "" }"; String testUrl = "http://192.168.3.170:8083/npay/merchantRequest"; String checkValue = sign(valueObj); String cmdId = "114"; String merCustId = "6666000000026086"; String version = "10"; httpServletResponse.setContentType("application/x-www-form-urlencoded; charset=UTF-8"); PrintWriter out = httpServletResponse.getWriter(); out.println(); out.println(""); out.println(""); out.println(" sender"); out.println(" "); out.println("
"); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(" "); out.println(""); out.flush(); out.close(); .. 成功响应: .. code:: json 200 { "cmd_id": "114", "resp_code": "114000", "resp_desc": "交易成功", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } .. 失败响应: .. code:: json 200 { "cmd_id": "114", "resp_code": "114099", "resp_desc": "交易失败", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } 返回码 ~~~~~~~~~ +-----------------------------------------------+------------------------------------------------------+ |**返回码** |**返回描述** | +-----------------------------------------------+------------------------------------------------------+ | 114000 | 交易成功 | +-----------------------------------------------+------------------------------------------------------+ | 114003 | 交易失败 | +-----------------------------------------------+------------------------------------------------------+ | 114098 | 系统超时 | +-----------------------------------------------+------------------------------------------------------+ | 114099 | 系统异常 | +-----------------------------------------------+------------------------------------------------------+ | 114100 | 请求参数非法 | +-----------------------------------------------+------------------------------------------------------+ | 114101 | 商户无此接口权限 | +-----------------------------------------------+------------------------------------------------------+ | 114102 | 验证签名失败 | +-----------------------------------------------+------------------------------------------------------+ | 114103 | 商户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 114107 | 消息类型与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 114108 | 商户客户号与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 114109 | 版本号与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 114110 | 商户号不存在 | +-----------------------------------------------+------------------------------------------------------+ | 114202 | 订单号重复 | +-----------------------------------------------+------------------------------------------------------+ | 114204 | 商户配置异常 | +-----------------------------------------------+------------------------------------------------------+ | 114205 | 短信验证码不正确 | +-----------------------------------------------+------------------------------------------------------+ | 114303 | 银行卡号与银行不匹配 | +-----------------------------------------------+------------------------------------------------------+ | 114304 | 银行卡类型错误 | +-----------------------------------------------+------------------------------------------------------+ | 114308 | 省份地区信息非法 | +-----------------------------------------------+------------------------------------------------------+ | 114310 | 产品信息校验失败 | +-----------------------------------------------+------------------------------------------------------+ | 114312 | 企业用户/商户不支持代扣绑卡 | +-----------------------------------------------+------------------------------------------------------+ | 114314 | 请获取验证码 | +-----------------------------------------------+------------------------------------------------------+ | 114315 | 银行卡信息有更新,请重新获取验证码 | +-----------------------------------------------+------------------------------------------------------+ | 114320 | 当前商户不支持贷记卡 | +-----------------------------------------------+------------------------------------------------------+ | 114321 | 当前商户不支持借记卡 | +-----------------------------------------------+------------------------------------------------------+ 非消费分期代扣签约绑卡接口 -------------------------- 功能说明 ~~~~~~~~~~~~ 用于用户进行非消费分期代扣签约绑卡 调用方式:页面浏览器 请求参数 ~~~~~~~~~~~~~~ +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ | **参数中文名称** | **参数名称** | **数据格式** | **是否必须** | **说明** | +====================+==================+=====================+================+=========================================================================================+ | 版本号 | version | 定长2位String | 是 | 目前固定为10 | +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ | 消息类型 | cmd\_id | 定长3位String | 是 | 每一种消息类型代表一种交易,此处为“115” | +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位String | 是 | 由汇付生成,商户的唯一性标识 | +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ | 用户客户号 | user\_cust\_id | 定长16位String | 是 | 由汇付生成,用户的唯一性标识 | +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 是 | 格式为“yyyyMMdd” 注:请和绑卡短信发送接口的订单日期一致 | +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ | 订单号 | order\_id | 变长20位String | 是 | 由商户的系统生成,订单号和订单日期保证唯一 注:请和绑卡短信发送接口的订单号一致 | +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ | 开户银行代号 | bank\_id | 变长8位String | 是 | 具体见附件:开户银行代号 | +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ | 借贷标记 | dc\_flag | 定长1位String | 是 | 0--借记,储蓄卡 1--贷记,信用卡 | +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ | 银行卡号 | card\_no | 变长32位String | 是 | | +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ | 银行预留手机号 | card\_mobile | 变长11位String | 是 | 银行开户时的预留手机号 | +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ | 银行卡开户省份 | card\_prov | 定长4位String | 是 | 银行卡开户省份 | +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ | 银行卡开户地区 | card\_area | 定长4位String | 是 | 银行卡开户地区 | +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ | 短信验证码 | sms\_code | 定长6位String | 是 | | +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位的String | 是 | 通过后台异步通知商户绑卡结果 注意: 1) 使用时不要包含中文 2) 必须是外网地址 | +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ | 页面返回URL | ret\_url | 变长128位的String | 否 | 交易完成后,本平台系统把交易结果通过页面方式,发送到该地址上 | +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String | 否 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 | +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ | 扩展域 | extension | 变长512位的String | 否 | 用于扩展请求参数 | +--------------------+------------------+---------------------+----------------+-----------------------------------------------------------------------------------------+ 返回参数 ~~~~~~~~~~~~~~ +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | **参数中文名称** | **参数名称** | **数据格式** | **是否必须** | **说明** | +========================+=====================+=====================+================+===============================================================================+ | 消息类型 | cmd\_id | 定长3位String | 是 | 每一种消息类型代表一种交易,此处为”115” | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 应答返回码 | resp\_code | 定长6位String | 是 | 115000--调用成功,其他见返回码表 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 应答返回描述 | resp\_desc | 变长String | 是 | 返回码的对应中文描述 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位String | 是 | 由汇付生成,商户的唯一性标识 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 用户客户号 | user\_cust\_id | 定长16位String | 是 | 由汇付生成,用户的唯一性标识 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 是 | 格式为“yyyyMMdd” | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 订单号 | order\_id | 变长20位String | 是 | 由商户的系统生成,订单号和订单日期保证唯一 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 本平台交易唯一标识号 | platform\_seq\_id | 定长18位String | 是 | 组成规则:8位本平台日期+ 10位系统流水号 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 开户银行代号 | bank\_id | 变长8位String | 是 | 对应订单录入中产品ID | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 银行卡号 | card\_no | 变长32位String | 是 | 本次代扣签约绑卡绑定的银行卡号掩码 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 绑定银行卡ID | bind\_card\_id | 变长20位String | 是 | 用于代扣支付交易 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位的String | 是 | 通过后台异步通知商户绑卡结果 注意: 1) 使用时不要包含中文 2) 必须是外网地址 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 页面返回URL | ret\_url | 变长128位的String | 否 | 交易完成后,本平台系统把交易结果通过页面方式,发送到该地址上 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String | 否 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 扩展域 | extension | 变长512位的String | 否 | 用于扩展请求参数 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ 代码示例 ~~~~~~~~~ java .. code:: java String valueObj = "{ "version": "10", "cmd_id": "115", "mer_cust_id": "6666000000217291", "user_cust_id": "6666000000291215", "order_date": "20180402", "order_id": "0020180372", "product_id": "P0000001", "bank_id": "03134402", "dc_flag": "0", "card_no": "6230580000038076969", "card_mobile": "13761708192", "card_prov": "0031", "card_area": "3100", "sms_code": "219062", "bg_ret_url": "http://192.168.0.74:8001/npayCallBack/asyncHandle.json", "ret_url": "", "mer_priv": "", "extension": "" }"; String testUrl = "http://192.168.3.170:8083/npay/merchantRequest"; String checkValue = sign(valueObj); String cmdId = "115"; String merCustId = "6666000000026086"; String version = "10"; httpServletResponse.setContentType("application/x-www-form-urlencoded; charset=UTF-8"); PrintWriter out = httpServletResponse.getWriter(); out.println(); out.println(""); out.println(""); out.println(" sender"); out.println(" "); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(" "); out.println(""); out.flush(); out.close(); .. 成功响应: .. code:: json 200 { "cmd_id": "115", "resp_code": "115000", "resp_desc": "交易成功", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } .. 失败响应: .. code:: json 200 { "cmd_id": "115", "resp_code": "115099", "resp_desc": "交易失败", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } 返回码 ~~~~~~~~~ +-----------------------------------------------+------------------------------------------------------+ |**返回码** |**返回描述** | +-----------------------------------------------+------------------------------------------------------+ | 115000 | 交易成功 | +-----------------------------------------------+------------------------------------------------------+ | 115003 | 交易失败 | +-----------------------------------------------+------------------------------------------------------+ | 115098 | 系统超时 | +-----------------------------------------------+------------------------------------------------------+ | 115099 | 系统异常 | +-----------------------------------------------+------------------------------------------------------+ | 115100 | 请求参数非法 | +-----------------------------------------------+------------------------------------------------------+ | 115101 | 商户无此接口权限 | +-----------------------------------------------+------------------------------------------------------+ | 115102 | 验证签名失败 | +-----------------------------------------------+------------------------------------------------------+ | 115103 | 商户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 115107 | 消息类型与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 115108 | 商户客户号与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 115109 | 版本号与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 115110 | 商户号不存在 | +-----------------------------------------------+------------------------------------------------------+ | 115202 | 订单号重复 | +-----------------------------------------------+------------------------------------------------------+ | 115204 | 商户配置异常 | +-----------------------------------------------+------------------------------------------------------+ | 115205 | 短信验证码不正确 | +-----------------------------------------------+------------------------------------------------------+ | 115303 | 银行卡号与银行不匹配 | +-----------------------------------------------+------------------------------------------------------+ | 115304 | 银行卡类型错误 | +-----------------------------------------------+------------------------------------------------------+ | 115308 | 省份地区信息非法 | +-----------------------------------------------+------------------------------------------------------+ | 115312 | 企业用户/商户不支持代扣绑卡 | +-----------------------------------------------+------------------------------------------------------+ | 115314 | 请获取验证码 | +-----------------------------------------------+------------------------------------------------------+ | 115315 | 银行卡信息有更新,请重新获取验证码 | +-----------------------------------------------+------------------------------------------------------+ | 115320 | 当前商户不支持贷记卡 | +-----------------------------------------------+------------------------------------------------------+ | 115321 | 当前商户不支持借记卡 | +-----------------------------------------------+------------------------------------------------------+ 前台页面代开户接口 ------------------ 功能说明 ~~~~~~~~~~~~ 使用该接口让商户在前台代扣绑卡和代开户。 调用方式:页面返回 接口类型:页面应答 + 异步应答 请求参数 ~~~~~~~~~~~~~~ +--------------------+----------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 参数中文名称 | 参数名称 | 数据格式 | 是否必须 | 说明 | +====================+======================+=====================+============+================================================================================================================================================================+ | 版本号 | version | 定长2位String | 必须 | 目前固定为10 | +--------------------+----------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 消息类型 | cmd\_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为817 | +--------------------+----------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 | +--------------------+----------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 必须 | 格式为“yyyyMMdd” | +--------------------+----------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 订单号 | order\_id | 变长20位String | 必须 | 由商户的系统生成,订单号和订单日期保证唯一 | +--------------------+----------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 产品编号 | product\_id | 变长20位String | 可选 | 对应产品录入中产品ID | +--------------------+----------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 产品订单号 | product\_order\_id | 变长20位String | 可选 | 由商户的系统生成,本次签约的产品订单号,产品订单号保证唯一 | +--------------------+----------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 开户名 | user\_name | 变长50位String | 必须 | 用户的真实姓名 | +--------------------+----------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 身份证号 | cert\_id | 定长18位String | 必须 | 用户身份证号 | +--------------------+----------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 开户银行代号 | bank\_id | 变长8位String | 必须 | 具体见附件二:代扣充值支持银行列表 | +--------------------+----------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 银行卡号 | card\_no | 变长32位String | 必须 | 待绑定的银行卡号 | +--------------------+----------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 借贷标记 | dc\_flag | 定长1位String | 必须 | D--借记,储蓄卡C--贷记,信用卡 注:本接口暂仅支持借记卡 | +--------------------+----------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 银行预留手机号 | card\_mobile | 变长11位String | 必须 | 银行开户时的预留手机号 | +--------------------+----------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 银行卡开户省份 | card\_prov | 定长4位String | 可选 | 银行卡开户省份 | +--------------------+----------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 银行卡开户地区 | card\_area | 定长4位String | 可选 | 银行卡开户地区 | +--------------------+----------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 页面返回URL | ret\_url | 变长128位String | 可选 | 交易完成后,本平台系统把交易结果通过页面方式,发送到该地址上。注意: 1) URL应使用UTF-8字符集URLEncode编码后传入 2)URL中请不要包含特殊字符 3) 必须是外网地址 | +--------------------+----------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位的String | 必须 | 后台异步通知商户开户结果 | +--------------------+----------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String | 可选 | 为商户的自定义字段 | +--------------------+----------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数;若需要进行二级商户号验证,则必传,格式:{"sub\_mer\_cust\_id":"111111111111"}二级商户号由汇付生成,详见4.2.13.二级商户号录入接口 | +--------------------+----------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 页面类型 | page\_type | 定长2位String | 可选 | 桌面端样式页面:00 ;移动端样式页面:10; 默认桌面端样式 | +--------------------+----------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ 返回参数 ~~~~~~~~~~~~~~~~~~ +------------------------+---------------------+---------------------+------------+-----------------------------------------------------------------------+ | 参数中文名称 | 参数名称 | 数据格式 | 是否必须 | 说明 | +========================+=====================+=====================+============+=======================================================================+ | 消息类型 | cmd\_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为817 | +------------------------+---------------------+---------------------+------------+-----------------------------------------------------------------------+ | 应答返回码 | resp\_code | 定长6位String | 必须 | 817000--调用成功,其他见返回码表 | +------------------------+---------------------+---------------------+------------+-----------------------------------------------------------------------+ | 应答返回描述 | resp\_desc | 变长String | 必须 | 返回码的对应中文描述 | +------------------------+---------------------+---------------------+------------+-----------------------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 | +------------------------+---------------------+---------------------+------------+-----------------------------------------------------------------------+ | 用户客户号 | user\_cust\_id | 定长16位String | 可选 | 由汇付生成,用户的唯一性标识 | +------------------------+---------------------+---------------------+------------+-----------------------------------------------------------------------+ | 用户账户号 | acct\_id | 变长8位String | 可选 | 用户账户号 | +------------------------+---------------------+---------------------+------------+-----------------------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 必须 | 格式为“yyyyMMdd” | +------------------------+---------------------+---------------------+------------+-----------------------------------------------------------------------+ | 订单号 | order\_id | 变长20位String | 必须 | 由商户的系统生成,订单号和订单日期保证唯一 | +------------------------+---------------------+---------------------+------------+-----------------------------------------------------------------------+ | 本平台交易唯一标识号 | platform\_seq\_id | 定长18位String | 必须 | 组成规则:8位本平台日期+10位系统流水号 | +------------------------+---------------------+---------------------+------------+-----------------------------------------------------------------------+ | 开户标识 | reg\_flag | 定长8位String | 必须 | 00000000:新开户 00000001:已开户 | +------------------------+---------------------+---------------------+------------+-----------------------------------------------------------------------+ | 手续费金额 | fee\_amt | 变长14位String | 可选 | 手续费金额,格式为###.00 | +------------------------+---------------------+---------------------+------------+-----------------------------------------------------------------------+ | 手续费子账户号 | fee\_acct\_id | 变长9位String | 可选 | 手续费扣款子账户号 | +------------------------+---------------------+---------------------+------------+-----------------------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位String | 必须 | 返参中的URL为UTF-8字符集URLEncode编码后的字符串,商户应解码获取原文 | +------------------------+---------------------+---------------------+------------+-----------------------------------------------------------------------+ | 页面返回URL | ret\_url | 变长128位String | 可选 | 交易完成后,本平台系统把交易结果通过页面方式,发送到该地址上 | +------------------------+---------------------+---------------------+------------+-----------------------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String | 可选 | 为商户的自定义字段 | +------------------------+---------------------+---------------------+------------+-----------------------------------------------------------------------+ | 扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数 | +------------------------+---------------------+---------------------+------------+-----------------------------------------------------------------------+ 代码示例 ~~~~~~~~~ java .. code:: java String valueObj = "{ "version": "10", "cmd_id": "817", "mer_cust_id": "6666000000026086", "user_cust_id": "6666000000026189", "order_id": "201572184", "order_date": "20170828", "bank_id": "01050000", "card_no": "6212840000000012345", "ret_url": "", "user_name": "", "dc_flag": "0", "card_prov": "0031", "card_area": "3100", "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 = "817"; String merCustId = "6666000000026086"; String version = "10"; httpServletResponse.setContentType("application/x-www-form-urlencoded; charset=UTF-8"); PrintWriter out = httpServletResponse.getWriter(); out.println(); out.println(""); out.println(""); out.println(" sender"); out.println(" "); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(" "); out.println(""); out.flush(); out.close(); .. 成功响应: .. code:: json 200 { "cmd_id": "817", "resp_code": "817000", "resp_desc": "交易成功", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } .. 成功响应: .. code:: json 200 { "cmd_id": "817", "resp_code": "817099", "resp_desc": "交易失败", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } 返回码 ~~~~~~~~~ +-----------------------------------------------+---------------------------------------------------------+ | **前台页面代开户(cmd\_id=817)** | | +-----------------------------------------------+---------------------------------------------------------+ | 817000 | 交易成功 | +-----------------------------------------------+---------------------------------------------------------+ | 817002 | 请求已受理 | +-----------------------------------------------+---------------------------------------------------------+ | 817003 | 交易失败 | +-----------------------------------------------+---------------------------------------------------------+ | 817099 | 系统异常 | +-----------------------------------------------+---------------------------------------------------------+ | 817100 | 请求参数非法 | +-----------------------------------------------+---------------------------------------------------------+ | 817101 | 商户无此接口权限 | +-----------------------------------------------+---------------------------------------------------------+ | 817102 | 验证签名失败 | +-----------------------------------------------+---------------------------------------------------------+ | 817103 | 商户状态异常 | +-----------------------------------------------+---------------------------------------------------------+ | 817104 | 用户状态异常 | +-----------------------------------------------+---------------------------------------------------------+ | 817107 | 消息类型与签名内容不一致 | +-----------------------------------------------+---------------------------------------------------------+ | 817108 | 商户客户号与签名内容不一致 | +-----------------------------------------------+---------------------------------------------------------+ | 817109 | 版本号与签名内容不一致 | +-----------------------------------------------+---------------------------------------------------------+ | 817204 | 商户配置异常 | +-----------------------------------------------+---------------------------------------------------------+ | 817318 | 用户已绑定代扣卡,请勿重复申请 | +-----------------------------------------------+---------------------------------------------------------+ | 817316 | 手机号与已绑定卡记录不匹配 | +-----------------------------------------------+---------------------------------------------------------+ | 817312 | 企业用户/商户不支持代扣绑卡 | +-----------------------------------------------+---------------------------------------------------------+ | 817308 | 省份地区信息非法 | +-----------------------------------------------+---------------------------------------------------------+ | 817310 | 产品信息校验失败 | +-----------------------------------------------+---------------------------------------------------------+ | 817202 | 交易订单号重复 | +-----------------------------------------------+---------------------------------------------------------+ | 817303 | 银行卡号与银行不匹配 | +-----------------------------------------------+---------------------------------------------------------+ | 817304 | 该银行卡非借记卡 | +-----------------------------------------------+---------------------------------------------------------+ | 817317 | 产品编号已签约 | +-----------------------------------------------+---------------------------------------------------------+ | 817216 | 页面已失效 | +-----------------------------------------------+---------------------------------------------------------+ | 817250 | 风控信息验证失败 | +-----------------------------------------------+---------------------------------------------------------+ | 817112 | 账号不存在 | +-----------------------------------------------+---------------------------------------------------------+ | 817203 | 账户可用余额不足 | +-----------------------------------------------+---------------------------------------------------------+ | 817450 | 个人用户开户失败 | +-----------------------------------------------+---------------------------------------------------------+ | 817305 | 手续费收取失败 | +-----------------------------------------------+---------------------------------------------------------+ | 817210 | 短信验证码发送过于频繁 | +-----------------------------------------------+---------------------------------------------------------+ | 817307 | 用户有快捷卡正在绑定中,请勿重复绑卡 | +-----------------------------------------------+---------------------------------------------------------+ | 817212 | 账户余额查询失败 | +-----------------------------------------------+---------------------------------------------------------+ 消费金融类代扣签约接口 ---------------------- 功能说明 ~~~~~~~~~~~~ 消费金融类代扣签约操作。 调用方式:页面浏览器 请求参数 ~~~~~~~~~~~~~~ +--------------------+------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 参数中文名称 | 参数名称 | 数据格式 | 是否必须 | 说明 | +====================+==================+=====================+============+===================================================================================================================================================================================================+ | 版本号 | version | 定长2位String | 必须 | 目前固定为10 | +--------------------+------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 消息类型 | cmd\_id | 定长3位String | 必须 | 806 | +--------------------+------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 | +--------------------+------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 用户客户号 | user\_cust\_id | 定长16位String | 可选 | 付款人汇付客户号 | +--------------------+------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 | +--------------------+------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 订单号 | order\_id | 变长20位String | 必须 | 由商户生成,必须保证唯一,20位内的字母或数字组合 | +--------------------+------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 产品ID | product\_id | 变长20位String | 可选 | 对应订单录入中产品ID,非特殊商户必传 | +--------------------+------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 借贷标记 | dc\_flag | 定长1位String | 必须 | D--借记,储蓄卡 C--贷记,信用卡 注:本接口暂仅支持借记卡 | +--------------------+------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 银行卡号 | card\_no | 变长32位String | 必须 | 待绑定的银行卡号 | +--------------------+------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 银行预留手机号 | card\_mobile | 变长11位String | 必须 | 银行开户时的预留手机号 | +--------------------+------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 银行卡开户省份 | card\_prov | 定长4位String | 必须 | 银行卡开户省份,具体见附件五 | +--------------------+------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 银行卡开户地区 | card\_area | 定长4位String | 必须 | 银行卡开户地区,具体见附件五 | +--------------------+------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 开户银行代号 | bank\_id | 变长8位String | 必须 | 具体见附件二:代扣充值支持银行列表 | +--------------------+------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 页面返回URL | ret\_url | 变长128位String | 可选 | 交易完成后,本平台系统把交易结果通过页面方式,发送到该地址上。注意:1) URL应使用UTF-8字符集URLEncode编码后传入 2)URL中请不要包含“附件三:BGRETURL中禁止的字符串列表”的字符串 3) 必须是外网地址 | +--------------------+------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位的String | 必须 | 通过后台异步通知商户开户结果, 注意: 1) 使用时不要包含中文2) 必须是外网地址 | +--------------------+------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 | +--------------------+------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数 | +--------------------+------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 返回参数 ~~~~~~~~~~~~~~~~~~ +------------------------+---------------------+---------------------+------------+---------------------------------------------------------------------------------+ | 参数中文名称 | 参数名称 | 数据格式 | 是否必须 | 说明 | +========================+=====================+=====================+============+=================================================================================+ | 消息类型 | cmd\_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为806 | +------------------------+---------------------+---------------------+------------+---------------------------------------------------------------------------------+ | 应答返回码 | resp\_code | 定长6位String | 必须 | 806000--调用成功,其他见返回码表 | +------------------------+---------------------+---------------------+------------+---------------------------------------------------------------------------------+ | 应答返回描述 | resp\_desc | 变长String | 必须 | 返回码的对应中文描述 | +------------------------+---------------------+---------------------+------------+---------------------------------------------------------------------------------+ | 本平台交易唯一标识号 | platform\_seq\_id | 定长18位String | 必须 | 组成规则:8位本平台日期+10位系统流水号 | +------------------------+---------------------+---------------------+------------+---------------------------------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 | +------------------------+---------------------+---------------------+------------+---------------------------------------------------------------------------------+ | 用户客户号 | user\_cust\_id | 定长16位String | 可选 | 付款人汇付客户号 | +------------------------+---------------------+---------------------+------------+---------------------------------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 | +------------------------+---------------------+---------------------+------------+---------------------------------------------------------------------------------+ | 订单号 | order\_id | 变长20位String | 必须 | 由商户生成,必须保证唯一,20位内的字母或数字组合 | +------------------------+---------------------+---------------------+------------+---------------------------------------------------------------------------------+ | 绑卡ID | bind_card_id | 变长20位String | 必须 | 本次绑定代扣卡ID,代扣支付如果不传卡号时,需要用此ID | +------------------------+---------------------+---------------------+------------+---------------------------------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位的String | 必须 | 通过后台异步通知商户开户结果. 注意: 1) 使用时不要包含中文; 2) 必须是外网地址 | +------------------------+---------------------+---------------------+------------+---------------------------------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 | +------------------------+---------------------+---------------------+------------+---------------------------------------------------------------------------------+ | 扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数 | +------------------------+---------------------+---------------------+------------+---------------------------------------------------------------------------------+ 代码示例 ~~~~~~~~~ java .. code:: java String valueObj = "{ "version": "10", "cmd_id": "806", "mer_cust_id": "6666000000026086", "user_cust_id": "6666000000030895", "order_date": "20180816", "order_id": "2018081615344454", "product_id": "3", "bank_id": "01050000", "dc_flag": "D", "card_no": "6232511231322345", "card_mobile": "13761708193", "card_prov": "0031", "card_area": "3100", "bg_ret_url": "http://192.168.0.74:8001/npayCallBack/asyncHandle.json", "ret_url": "", "mer_priv": "test_merpriv", "extension": "test_extension" }"; String testUrl = "http://192.168.3.170:8083/npay/merchantRequest"; String checkValue = sign(valueObj); String cmdId = "806"; String merCustId = "6666000000026086"; String version = "10"; httpServletResponse.setContentType("application/x-www-form-urlencoded; charset=UTF-8"); PrintWriter out = httpServletResponse.getWriter(); out.println(); out.println(""); out.println(""); out.println(" sender"); out.println(" "); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(" "); out.println(""); out.flush(); out.close(); .. 成功响应: .. code:: json 200 { "cmd_id": "806", "resp_code": "806000", "resp_desc": "交易成功", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } .. 成功响应: .. code:: json 200 { "cmd_id": "806", "resp_code": "806099", "resp_desc": "交易失败", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } 返回码 ~~~~~~~~~ +-----------------------------------------------+---------------------------------------------------------+ | **消费金融类代扣签约接口(cmd\_id=806)** | | +-----------------------------------------------+---------------------------------------------------------+ | 806000 | 交易成功 | +-----------------------------------------------+---------------------------------------------------------+ | 806002 | 请求已受理 | +-----------------------------------------------+---------------------------------------------------------+ | 806003 | 交易失败 | +-----------------------------------------------+---------------------------------------------------------+ | 806099 | 系统异常 | +-----------------------------------------------+---------------------------------------------------------+ | 806100 | 请求参数非法 | +-----------------------------------------------+---------------------------------------------------------+ | 806101 | 商户无此接口权限 | +-----------------------------------------------+---------------------------------------------------------+ | 806102 | 验证签名失败 | +-----------------------------------------------+---------------------------------------------------------+ | 806103 | 商户状态异常 | +-----------------------------------------------+---------------------------------------------------------+ | 806104 | 用户状态异常 | +-----------------------------------------------+---------------------------------------------------------+ | 806107 | 消息类型与签名内容不一致 | +-----------------------------------------------+---------------------------------------------------------+ | 806108 | 商户客户号与签名内容不一致 | +-----------------------------------------------+---------------------------------------------------------+ | 806109 | 版本号与签名内容不一致 | +-----------------------------------------------+---------------------------------------------------------+ | 806110 | 商户号不存在 | +-----------------------------------------------+---------------------------------------------------------+ | 806310 | 产品信息校验失败 | +-----------------------------------------------+---------------------------------------------------------+ | 806309 | 该银行卡号与卡类型不匹配 | +-----------------------------------------------+---------------------------------------------------------+ | 806204 | 商户配置异常 | +-----------------------------------------------+---------------------------------------------------------+ | 806210 | 短信验证码发送过于频繁 | +-----------------------------------------------+---------------------------------------------------------+ | 806308 | 省份地区信息非法 | +-----------------------------------------------+---------------------------------------------------------+ | 806304 | 银行卡类型错误 | +-----------------------------------------------+---------------------------------------------------------+ 纯通道代扣签约 -------------------------- 功能说明 ~~~~~~~~~~~~~~~~ 实现消费分期及非消费分期代扣签约绑卡短信请求和签约绑卡(为未开户的用户开户)。 调用方式:系统调用 请求参数 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +--------------------+----------------------+---------------------+------------+------------------------------------------------------------+ | 参数中文名称 | 参数名称 | 数据格式 | 是否必须 | 说明 | +====================+======================+=====================+============+============================================================+ | 版本号 | version | 定长2位String | 是 | 目前固定为11 | +--------------------+----------------------+---------------------+------------+------------------------------------------------------------+ | 消息类型 | cmd\_id | 定长3位String | 是 | 每一种消息类型代表一种交易,此处为“809” | +--------------------+----------------------+---------------------+------------+------------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位String | 是 | 由汇付生成,商户的唯一性标识 | +--------------------+----------------------+---------------------+------------+------------------------------------------------------------+ | 用户客户号 | user\_cust\_id | 定长16位String | 否 | 由汇付生成,用户的唯一性标识 | +--------------------+----------------------+---------------------+------------+------------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 是 | 格式为“yyyyMMdd” | +--------------------+----------------------+---------------------+------------+------------------------------------------------------------+ | 订单号 | order\_id | 变长20位String | 是 | 由商户的系统生成,订单号和订单日期保证唯一 | +--------------------+----------------------+---------------------+------------+------------------------------------------------------------+ | 产品编号 | product\_id | 变长20位String | 否 | 对应订单录入中产品ID | +--------------------+----------------------+---------------------+------------+------------------------------------------------------------+ | 产品订单号 | product\_order\_id | 变长20位String | 否 | 本次签约的产品订单号,product_id填写的情况下,必填。 | +--------------------+----------------------+---------------------+------------+------------------------------------------------------------+ | 开户名 | user\_name | 变长50位String | 是 | 用户的真实姓名 | +--------------------+----------------------+---------------------+------------+------------------------------------------------------------+ | 开户银行代号 | bank\_id | 变长8位String | 是 | 具体见附件:开户银行代号 | +--------------------+----------------------+---------------------+------------+------------------------------------------------------------+ | 银行卡号 | card\_no | 变长32位String | 是 | 待绑定的银行卡号 | +--------------------+----------------------+---------------------+------------+------------------------------------------------------------+ | 借贷标记 | dc\_flag | 定长1位String | 是 | D--借记,储蓄卡 C--贷记,信用卡 注:本接口暂仅支持借记卡 | +--------------------+----------------------+---------------------+------------+------------------------------------------------------------+ | 身份证号 | cert\_id | 定长18位String | 否 | 用户客户号跟身份证号至少传一个 | +--------------------+----------------------+---------------------+------------+------------------------------------------------------------+ | 银行预留手机号 | card\_ mobile | 变长11位String | 是 | 银行开户时的预留手机号 | +--------------------+----------------------+---------------------+------------+------------------------------------------------------------+ | 银行卡开户省份 | card\_prov | 定长4位String | 是 | 银行卡开户省份 | +--------------------+----------------------+---------------------+------------+------------------------------------------------------------+ | 银行卡开户地区 | card\_area | 定长4位String | 是 | 银行卡开户地区 | +--------------------+----------------------+---------------------+------------+------------------------------------------------------------+ | 阶段标志 | step\_flag | 定长2位String | 是 | 01:发短信阶段 02:验证短信阶段 | +--------------------+----------------------+---------------------+------------+------------------------------------------------------------+ | 短信验证码 | sms\_code | 定长6位String | 可选 | 与本次快捷绑卡时的银行预留手机号对应的短信验证码 | +--------------------+----------------------+---------------------+------------+------------------------------------------------------------+ | 绑卡请求流水 | bind\_trans\_id | 变长20位String | 是 | 标志一个绑卡请求,商户下判断唯一,只能是数字和字母 | +--------------------+----------------------+---------------------+------------+------------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位的String | 是 | 后台异步通知商户开户结果 | +--------------------+----------------------+---------------------+------------+------------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String | 否 | 为商户的自定义字段 | +--------------------+----------------------+---------------------+------------+------------------------------------------------------------+ | 扩展域 | extension | 变长512位的String | 否 | 用于扩展请求参数 | +--------------------+----------------------+---------------------+------------+------------------------------------------------------------+ 返回参数 ~~~~~~~~~~~~~~~~~~ +------------------------+----------------------+---------------------+----------------+----------------------------------------------+ | **参数中文名称** | **参数名称** | **数据格式** | **是否必须** | **说明** | +========================+======================+=====================+================+==============================================+ | 消息类型 | cmd\_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为809 | +------------------------+----------------------+---------------------+----------------+----------------------------------------------+ | 应答返回码 | resp\_code | 定长6位String | 必须 | 809000--调用成功,其他见返回码附件表 | +------------------------+----------------------+---------------------+----------------+----------------------------------------------+ | 应答返回描述 | resp\_desc | 变长String | 必须 | 返回码的对应中文描述 | +------------------------+----------------------+---------------------+----------------+----------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 | +------------------------+----------------------+---------------------+----------------+----------------------------------------------+ | 用户客户号 | user\_cust\_id | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识 | +------------------------+----------------------+---------------------+----------------+----------------------------------------------+ | 用户账户号 | acct\_id | 变长8位String | 可选 | 用户账户号 | +------------------------+----------------------+---------------------+----------------+----------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 必须 | 格式为“yyyyMMdd” | +------------------------+----------------------+---------------------+----------------+----------------------------------------------+ | 订单号 | order\_id | 变长20位String | 必须 | 由商户的系统生成,订单号和订单日期保证唯一 | +------------------------+----------------------+---------------------+----------------+----------------------------------------------+ | 产品编号 | product\_id | 变长20位String | 必须 | 对应订单录入中产品ID | +------------------------+----------------------+---------------------+----------------+----------------------------------------------+ | 产品订单号 | product\_order\_id | 变长20位String | 必须 | 本次签约的产品订单号 | +------------------------+----------------------+---------------------+----------------+----------------------------------------------+ | 本平台交易唯一标识号 | platform\_seq\_id | 定长18位String | 必须 | 组成规则:8位本平台日期+ 10位系统流水号 | +------------------------+----------------------+---------------------+----------------+----------------------------------------------+ | 开户标识 | reg\_flag | 定长8位String | 必须 | 00000000:新开户 00000001:已开户 | +------------------------+----------------------+---------------------+----------------+----------------------------------------------+ | 开户银行代号 | bank\_id | 变长8位String | 必须 | 对应产品录入中产品ID | +------------------------+----------------------+---------------------+----------------+----------------------------------------------+ | 银行卡号 | card\_no | 变长32位String | 必须 | 待绑定的银行卡卡号 | +------------------------+----------------------+---------------------+----------------+----------------------------------------------+ | 手续费金额 | fee\_amt | 变长14位String | 可选 | 手续费金额,格式为###.00 | +------------------------+----------------------+---------------------+----------------+----------------------------------------------+ | 手续费子账户号 | fee\_acct\_id | 变长9位String | 可选 | 手续费扣款子账户号 | +------------------------+----------------------+---------------------+----------------+----------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位的String | 必须 | 后台异步通知商户开户结果 | +------------------------+----------------------+---------------------+----------------+----------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String | 可选 | 为商户的自定义字段 | +------------------------+----------------------+---------------------+----------------+----------------------------------------------+ | 扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数 | +------------------------+----------------------+---------------------+----------------+----------------------------------------------+ 返回码 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +-----------------------------------------+----------------------------------------+ |**返回码** |**返回描述** | +-----------------------------------------+----------------------------------------+ | 809099 | 系统异常 | +-----------------------------------------+----------------------------------------+ | 809100 | 请求参数非法 | +-----------------------------------------+----------------------------------------+ | 809102 | 验证签名失败 | +-----------------------------------------+----------------------------------------+ | 809103 | 商户状态异常 | +-----------------------------------------+----------------------------------------+ | 809104 | 用户状态异常 | +-----------------------------------------+----------------------------------------+ | 809105 | 账户状态异常 | +-----------------------------------------+----------------------------------------+ | 809110 | 商户号不存在 | +-----------------------------------------+----------------------------------------+ | 809202 | 交易订单号重复 | +-----------------------------------------+----------------------------------------+ | 809203 | 账户可用余额不足 | +-----------------------------------------+----------------------------------------+ | 809204 | 商户配置异常 | +-----------------------------------------+----------------------------------------+ | 809301 | 当前商户不支持贷记卡 | +-----------------------------------------+----------------------------------------+ | 809304 | 个人用户开户失败 | +-----------------------------------------+----------------------------------------+ | 809305 | 手续费收取失败 | +-----------------------------------------+----------------------------------------+ | 809307 | 用户有快捷卡正在绑定中,请勿重复绑卡 | +-----------------------------------------+----------------------------------------+ | 809308 | 省份地区信息非法 | +-----------------------------------------+----------------------------------------+ | 809309 | 该银行卡号与卡类型不匹配 | +-----------------------------------------+----------------------------------------+ | 809312 | 企业用户/商户不支持代扣绑卡 | +-----------------------------------------+----------------------------------------+ | 809314 | 请获取验证码 | +-----------------------------------------+----------------------------------------+ | 809316 | 手机号与已绑定卡记录不匹配 | +-----------------------------------------+----------------------------------------+ | 809317 | 产品编号已签约 | +-----------------------------------------+----------------------------------------+ | 809318 | 用户已绑定代扣卡,请勿重复申请 | +-----------------------------------------+----------------------------------------+ 代码示例 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ java .. code:: java String valueObj = "{ "cmd_id": "809", "version": "11", "bank_id": "01050000", "bind_trans_id": "2018081413374", "card_area": "3100", "card_mobile": "14012312310", "card_no": "6232511231312345", "card_prov": "0031", "cert_id": "140926198306051290", "dc_flag": "D", "mer_cust_id": "6666000000026086", "order_date": "20180814", "order_id": "2018081413375", "product_id": "12", "product_order_id": "2018081413374", "sms_code": "111111", "step_flag": "01", "user_cust_id": "", "user_name": "唉皮皮", "bg_ret_url": "http://192.168.0.70:8081/asharp/acceptbgret/virgo" "mer_priv": "test_merpriv", "extension": "test_extension" }"; String testUrl = "http://192.168.3.170:8083/npay/merchantRequest"; String checkValue = sign(valueObj); String cmdId = "809"; 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);//解密 .. 成功响应: .. code:: json 200 { "cmd_id": "809", "resp_code": "809000", "resp_desc": "交易成功", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } .. 成功响应: .. code:: json 200 { "cmd_id": "809", "resp_code": "809099", "resp_desc": "交易失败", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } 代扣支付接口 ------------ 功能说明 ~~~~~~~~~~~~~~~~ 用于个人用户、企业用户和个体户进行代扣支付 调用方式:系统调用 请求参数 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +----------------------+----------------------+---------------------+----------------+-------------------------------------------------------------------------------------+ | **参数中文名称** | **参数名称** | **数据格式** | **是否必须** | **说明** | +======================+======================+=====================+================+=====================================================================================+ | 版本号 | version | 定长2位String | 必须 | 目前固定为10 | +----------------------+----------------------+---------------------+----------------+-------------------------------------------------------------------------------------+ | 消息类型 | cmd\_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为207 | +----------------------+----------------------+---------------------+----------------+-------------------------------------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 | +----------------------+----------------------+---------------------+----------------+-------------------------------------------------------------------------------------+ | 用户客户号 | user\_cust\_id | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识 | +----------------------+----------------------+---------------------+----------------+-------------------------------------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 | +----------------------+----------------------+---------------------+----------------+-------------------------------------------------------------------------------------+ | 订单号 | order\_id | 变长20位String | 必须 | 由商户生成,必须保证唯一, 20位内的字母或数字组合 | +----------------------+----------------------+---------------------+----------------+-------------------------------------------------------------------------------------+ | 交易金额 | trans\_amt | 变长14位String | 必须 | 金额格式是###.00 | +----------------------+----------------------+---------------------+----------------+-------------------------------------------------------------------------------------+ | 绑定银行卡ID | bind\_card\_id | 变长20位String | 必须 | 代扣绑卡返回的银行卡ID | +----------------------+----------------------+---------------------+----------------+-------------------------------------------------------------------------------------+ | 代扣签约流水 | sign\_seq\_id | 变长18位String | 必须 | | +----------------------+----------------------+---------------------+----------------+-------------------------------------------------------------------------------------+ | 入账客户号 | in\_cust\_id | 变长18位String | 必须 | 入账客户号不能是客户本人 | +----------------------+----------------------+---------------------+----------------+-------------------------------------------------------------------------------------+ | 入账账户号 | in\_acct\_id | 变长9位的String | 必须 | 业务类型为支付时必传,且入账客户号不能是客户本人 | +----------------------+----------------------+---------------------+----------------+-------------------------------------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位的String | 必须 | 通过后台异步通知商户代扣支付结果 注意: 1) 使用时不要包含中文 2) 必须是外网地址 | +----------------------+----------------------+---------------------+----------------+-------------------------------------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 | +----------------------+----------------------+---------------------+----------------+-------------------------------------------------------------------------------------+ | 扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数 | +----------------------+----------------------+---------------------+----------------+-------------------------------------------------------------------------------------+ | 二级商户号 | secondary\_mer\_id | 定长10位的String | 可选 | 对于开启二级商户模式的商户,必须输入其配下的二级商户号 | +----------------------+----------------------+---------------------+----------------+-------------------------------------------------------------------------------------+ | 付款方交易终端类型 | payer\_term\_type | 定长2位String | 可选 | 01-电脑 02-手机 03-平板设备 04-可穿戴设备 05-数字电视 06-条码支付受理终端 99-其他 | +----------------------+----------------------+---------------------+----------------+-------------------------------------------------------------------------------------+ | 付款方交易终端编码 | payer\_term\_no | 变长32位的String | 可选 | 请参考《网络支付报文结构及要素技术规范(V1.0)》(银办发[2016] 222号) | +----------------------+----------------------+---------------------+----------------+-------------------------------------------------------------------------------------+ | 收款方交易终端类型 | payee\_term\_type | 定长2位String | 可选 | 01-电脑 02-手机 03-平板设备 04-可穿戴设备 05-数字电视 06-条码支付受理终端 99-其他 | +----------------------+----------------------+---------------------+----------------+-------------------------------------------------------------------------------------+ | 收款方交易终端编码 | payee\_term\_no | 变长32位的String | 可选 | 请参考《网络支付报文结构及要素技术规范(V1.0)》(银办发[2016] 222号) | +----------------------+----------------------+---------------------+----------------+-------------------------------------------------------------------------------------+ | 商品简称 | goods\_short\_name | 变长40位的String | 可选 | 不能包含特殊字符:<>&'"\|%#\\^- | +----------------------+----------------------+---------------------+----------------+-------------------------------------------------------------------------------------+ 返回参数 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +------------------------+---------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | **参数中文名称** | **参数名称** | **数据格式** | **是否必须** | **说明** | +========================+=====================+=====================+================+===================================================================================+ | 消息类型 | cmd\_id | 变长String | 必须 | 每一种消息类型代表一种交易,此处为207 | +------------------------+---------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 应答返回码 | resp\_code | 定长6位String | 必须 | 201000--调用成功,其他见返回码 | +------------------------+---------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 应答返回描述 | 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位系统流水号 | +------------------------+---------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 交易金额 | trans\_amt | 变长14位String | 必须 | 金额格式是###.00 | +------------------------+---------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 绑定银行卡ID | bind\_card\_id | 变长20位String | 可选 | 快捷/代扣支付时,必传 | +------------------------+---------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 代扣签约流水号 | sign\_seq\_id | 变长18位String | 必须 | | +------------------------+---------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 入账客户号 | in\_cust\_id | 定长16位String | 可选 | 支付必传 | +------------------------+---------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 入账账户号 | inAcctId | 变长9位String | 必须 | | +------------------------+---------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 手续费金额 | fee\_amt | 变长14位String | 可选 | 手续费金额,格式为###.00 | +------------------------+---------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 手续费扣款客户号 | fee\_cust\_id | 定长16位String | 可选 | 手续费扣款客户号 | +------------------------+---------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 手续费子账户号 | fee\_acct\_id | 变长9位String | 可选 | 手续费扣款子账户号 | +------------------------+---------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位的String | 必须 | 通过后台异步通知商户代扣支付结果 注意: 1) 使用时不要包含中文 2) 必须是外网地址 | +------------------------+---------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 | +------------------------+---------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ | 扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数 | +------------------------+---------------------+---------------------+----------------+-----------------------------------------------------------------------------------+ 返回码 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +-----------------------------------------------+------------------------------------------------------+ |**返回码** |**返回描述** | +-----------------------------------------------+------------------------------------------------------+ | 207000 | 交易成功 | +-----------------------------------------------+------------------------------------------------------+ | 207002 | 请求已受理 | +-----------------------------------------------+------------------------------------------------------+ | 207003 | 交易失败 | +-----------------------------------------------+------------------------------------------------------+ | 207098 | 系统超时 | +-----------------------------------------------+------------------------------------------------------+ | 207099 | 系统异常 | +-----------------------------------------------+------------------------------------------------------+ | 207100 | 请求参数非法 | +-----------------------------------------------+------------------------------------------------------+ | 207101 | 商户无此接口权限 | +-----------------------------------------------+------------------------------------------------------+ | 207102 | 验证签名失败 | +-----------------------------------------------+------------------------------------------------------+ | 207103 | 商户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 207104 | 用户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 207107 | 消息类型与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 207108 | 商户客户号与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 207109 | 版本号与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 207110 | 商户号不存在 | +-----------------------------------------------+------------------------------------------------------+ | 207202 | 交易订单号重复 | +-----------------------------------------------+------------------------------------------------------+ | 207204 | 商户配置异常 | +-----------------------------------------------+------------------------------------------------------+ | 207215 | 请补录身份信息 | +-----------------------------------------------+------------------------------------------------------+ | 207303 | 商户支付基础信息未配置 | +-----------------------------------------------+------------------------------------------------------+ | 207305 | 入账客户信息不正确 | +-----------------------------------------------+------------------------------------------------------+ | 207309 | 该用户代扣协议不存在或状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 207311 | 只有个人用户和个体户能代扣支付 | +-----------------------------------------------+------------------------------------------------------+ | 207314 | 支付手续费账户状态不正常 | +-----------------------------------------------+------------------------------------------------------+ | 207319 | 该用户支付卡未绑定或状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 207320 | 该用户代扣协议绑卡与本次支付卡信息不一致 | +-----------------------------------------------+------------------------------------------------------+ | 207321 | 支付手续费未配置 | +-----------------------------------------------+------------------------------------------------------+ | 207803 | 支付交易受限,限额限次或其他 | +-----------------------------------------------+------------------------------------------------------+ | 207804 | 商户超限额或限次 | +-----------------------------------------------+------------------------------------------------------+ | 207805 | 商户未开通该功能权限 | +-----------------------------------------------+------------------------------------------------------+ | 207806 | 商户交易限制 | +-----------------------------------------------+------------------------------------------------------+ 代码示例 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ java .. code:: java String valueObj = "{ "version": "10", "cmd_id": "207", "mer_cust_id": "6666000000002619", "user_cust_id": "6666000000034048", "order_date": "20180529", "order_id": "2016090945", "trans_amt": "1.69", "bind_card_id": "1000000356", "sign_seq_id": "201805290000000407", "in_cust_id": "6666000000002619", "in_acct_id": "2744", "bg_ret_url": "http://192.168.0.74:8001/npayCallBack/asyncHandle.json", "mer_priv": "test_mer", "extension": "test_extension" }"; String testUrl = "http://192.168.3.170:8083/npay/merchantRequest"; String checkValue = sign(valueObj); String cmdId = "207"; 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);//解密 .. 成功响应: .. code:: json 200 { "cmd_id": "207", "resp_code": "207000", "resp_desc": "交易成功", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } .. 失败响应: .. code:: json 200 { "cmd_id": "207", "resp_code": "207099", "resp_desc": "交易失败", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } 直接代扣支付 -------------------------- 功能说明 ~~~~~~~~~~~~~~~~ 直接代扣功能。 调用方式:系统调用 请求参数 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +------------------------+----------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 参数中文名称 | 参数名称 | 数据格式 | 是否必须 | 说明 | +========================+======================+===================+============+=============================================================================================================================================================================================================================================+ | 版本号 | version | 定长2位String | 必须 | 目前固定为10 | +------------------------+----------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 消息类型 | cmd\_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为825 | +------------------------+----------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 | +------------------------+----------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 | +------------------------+----------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 订单号 | order\_id | 变长20位String | 必须 | 由商户生成,必须保证唯一,20位内数字或字母的组合 | +------------------------+----------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 付款方姓名 | user\_name | 变长50位String | 必须 | 用户的真实姓名,中文应使用UTF-8字符集URLEncode编码后传入 | +------------------------+----------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 付款方证件类型 | cert\_type | 定长8位String | 必须 | 01020100:身份证 01020101:护照 01020102:军官证 01020104:回乡证 01020106:台胞证 01020107:其他 目前仅支持身份证 | +------------------------+----------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 付款方证件号 | cert\_id | 变长20位String | 必须 | 付款方证件号码,与证件类型对应 | +------------------------+----------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 付款方银行预留手机号 | card\_mobile | 变长11位String | 必须 | 付款方银行预留手机号,变长11位数字 | +------------------------+----------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 付款方银行卡号 | card\_no | 变长32位String | 必须 | 付款方银行卡号,变长32位数字 | +------------------------+----------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 交易金额 | trans\_amt | 变长14位String | 必须 | 交易金额,格式为###.00 | +------------------------+----------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 银行账户类型 | card\_type | 定长8位String | 必须 | 01050001:对公账户 01050000:对私账户 目前仅支持对私 | +------------------------+----------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 入款方账户号 | in\_cust\_acct\_id | 变长9位String | 必须 | 入款方账户号 | +------------------------+----------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 入款方用户号 | in\_cust\_id | 定长16位String | 必须 | 入款方客户号,不能是出款方客户号 | +------------------------+----------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位String | 必须 | 通过后台异步通知,商户应在应答接收的响应中输出RECV\_ORD\_ID字样的字符串,表明商户已经收到该笔交易结果。 注意: 1) URL应使用UTF-8字符集URLEncode编码后传入 2)URL中请不要包含“附件三:BgRetUrl中禁止的字符串列表”的字符串 3) 必须是外网地址 | +------------------------+----------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回。注意:如参数中包含中文,应对参数进行Base64加密后再使用 | +------------------------+----------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 扩展域 | extension | 变长512位String | 可选 | 用于扩展请求参数 若需要进行二级商户号验证,则必传,格式:{"sub\_mer\_cust\_id":"111111111111"} 二级商户号由汇付生成,详见4.2.9.二级商户号录入接口 | +------------------------+----------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 返回参数 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +------------------------+---------------------+------------------+------------+--------------------------------------------------------------------------------------+ | 参数中文名称 | 参数名称 | 数据格式 | 是否必须 | 说明 | +========================+=====================+==================+============+======================================================================================+ | 消息类型 | cmd\_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为825 | +------------------------+---------------------+------------------+------------+--------------------------------------------------------------------------------------+ | 应答返回码 | resp\_code | 定长6位String | 必须 | 825000--调用成功,其他见附件四:返回码表 | +------------------------+---------------------+------------------+------------+--------------------------------------------------------------------------------------+ | 应答返回描述 | resp\_desc | 变长String | 必须 | 返回码的对应中文描述,中文为UTF-8字符集URLEncode编码后的字符串,商户应解码获取原文 | +------------------------+---------------------+------------------+------------+--------------------------------------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 | +------------------------+---------------------+------------------+------------+--------------------------------------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 | +------------------------+---------------------+------------------+------------+--------------------------------------------------------------------------------------+ | 订单号 | order\_id | 变长20位String | 必须 | 由商户生成,必须保证唯一,20位内数字或字母的组合 | +------------------------+---------------------+------------------+------------+--------------------------------------------------------------------------------------+ | 本平台交易唯一标识号 | platform\_seq\_id | 定长18位String | 必须 | 组成规则:8位本平台日期+10位系统流水号 | +------------------------+---------------------+------------------+------------+--------------------------------------------------------------------------------------+ | 手续费金额 | fee\_amt | 变长14位String | 可选 | 手续费金额,格式为###.00 | +------------------------+---------------------+------------------+------------+--------------------------------------------------------------------------------------+ | 手续费扣款客户号 | fee\_cust\_id | 定长16位String | 可选 | 手续费扣款客户号 | +------------------------+---------------------+------------------+------------+--------------------------------------------------------------------------------------+ | 手续费子账户号 | fee\_acct\_id | 变长9位String | 可选 | 手续费扣款子账户号 | +------------------------+---------------------+------------------+------------+--------------------------------------------------------------------------------------+ 返回码 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +-------------------------------+----------------------------------+ |**返回码** |**返回描述** | +-------------------------------+----------------------------------+ | 825000 | 交易成功 | +-------------------------------+----------------------------------+ | 825002 | 请求已受理 | +-------------------------------+----------------------------------+ | 825003 | 交易失败 | +-------------------------------+----------------------------------+ | 825099 | 系统异常 | +-------------------------------+----------------------------------+ | 825100 | 请求参数非法 | +-------------------------------+----------------------------------+ | 825102 | 验证签名失败 | +-------------------------------+----------------------------------+ | 825103 | 商户状态异常 | +-------------------------------+----------------------------------+ | 825104 | 用户状态异常 | +-------------------------------+----------------------------------+ | 825105 | 账户状态异常 | +-------------------------------+----------------------------------+ | 825110 | 商户号不存在 | +-------------------------------+----------------------------------+ | 825202 | 交易订单号重复 | +-------------------------------+----------------------------------+ | 825303 | 商户支付基础信息未配置 | +-------------------------------+----------------------------------+ | 825314 | 支付手续费账户状态不正常 | +-------------------------------+----------------------------------+ | 825321 | 支付手续费未配置 | +-------------------------------+----------------------------------+ | 825322 | 入账账户不正确 | +-------------------------------+----------------------------------+ | 825323 | 该银行卡非借记卡 | +-------------------------------+----------------------------------+ | 82563C | 手续费金额不得大于等于交易金额 | +-------------------------------+----------------------------------+ | 825800 | 风控信息验证失败 | +-------------------------------+----------------------------------+ 代码示例 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ java .. code:: java String valueObj = "{ "version": "10", "cmd_id": "825", "mer_cust_id": "6666000000026086", "order_date": "20180816", "order_id": "2018081615344454", "user_name": "", "cert_type": "01020100", "cert_id": "", "card_mobile": "13100001111", "card_no": "6225768612148888", "gateway_seqId": "1234567890", "trans_amt": "1.00", "card_type": "01050000", "in_cust_acct_id": "", "in_cust_id": "", "bg_ret_url": "http://192.168.0.74:8001/npayCallBack/asyncHandle.json", "mer_priv": "test_merpriv", "extension": "test_extension" }"; String testUrl = "http://192.168.3.170:8083/npay/merchantRequest"; String checkValue = sign(valueObj); String cmdId = "825"; 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);//解密 .. 成功响应: .. code:: json 200 { "cmd_id": "825", "resp_code": "825000", "resp_desc": "交易成功", "mer_cust_id" : "6666000000026086", "order_date": "20180816", "order_id": "2018081615344454", ....... } .. 失败响应: .. code:: json 200 { "cmd_id": "825", "resp_code": "825099", "resp_desc": "交易失败", "mer_cust_id" : "6666000000026086", "order_date": "20180816", "order_id": "2018081615344454", ....... } 充值代扣接口 ------------ 功能说明 ~~~~~~~~~~~~~~~~ 该接口实现充值代扣支付。 调用方式:系统调用(同步+异步) 请求参数 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +--------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **参数中文名称** | **参数名称** | **数据格式** | **是否必须** | **说明** | +====================+=====================+===================+================+=============================================================================================================================================================================================================================================================================================================+ | 版本号 | version | 定长2位String | 必须 | 目前固定为10 | +--------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 消息类型 | cmd\_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为849 | +--------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 | +--------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 用户客户号 | user\_cust\_id | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识 | +--------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 | +--------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 订单号 | order\_id | 变长20位String | 必须 | 由商户生成,必须保证唯一,20位内数字或字母的组合 | +--------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 充值类型 | recharge\_type | 定长8位String | 必须 | 02020003: 代扣充值 | +--------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 交易类型 | trans\_type | 定长8位String | 必须 | 02020101:支付 02020103:非消费金融代扣支付 | +--------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 交易金额 | trans\_amt | 变长14位String | 必须 | 交易金额,格式为###.00 | +--------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 入账客户号 | in\_cust\_id | 定长16位String | 可选 | 业务类型为支付时必传,且入账客户号不能是充值客户本人 | +--------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 入账账户号 | in\_acct\_id | 变长9位String | 可选 | | +--------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 分账账户串 | div\_detail | 变长String | 可选 | 业务类型为支付时必传,分账串使用UTF-8字符集URLEncode编码后传入 数据格式: [{'divCustId':'6666000000025350','divAcctId':'78276','divAmt':'50.00','divFreezeFg':'00'},{'divCustId':'6666000000025666','divAcctId':'78841','divAmt':'50.00','divFreezeFg':'01'}]分账串金额之和需等于充值金额 支持1条分账指令 | +--------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位String | 必须 | 通过后台异步通知,商户应在应答接收的响应中输出RECV\_ORD\_ID字样的字符串,表明商户已经收到该笔交易结果。 注意: 1) URL应使用UTF-8字符集URLEncode编码后传入 2)URL中请不要包含特殊字符 3) 必须是外网地址 | +--------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回。 注意:如参数中包含中文,应对参数进行Base64加密后再使用。 | +--------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 扩展域 | extension | 变长512位String | 可选 | 用于扩展请求参数 若需要进行二级商户号验证,则必传,格式:{“sub\_mer\_cust\_id”: “111111111111”} 二级商户号由汇付生成,详见4.2.13.二级商户号录入接口 | +--------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 交易场景 | trans\_scene | 定长3位 | 可选 | 不需要 | +--------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 交易场景小类 | trans\_scene\_sub | 定长6位 | 可选 | 不需要 | +--------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 二级商户号 | secondary\_merid | 变长12位 String | 可选 | | +--------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 代扣签约流水 | sign\_seq\_id | 变长18位String | 必须 | 代扣签约订单唯一标识,代扣充值必传,其他充值不需传 | +--------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 银行卡号 | card\_no | 变长32位String | 可选 | 代扣支付使用的卡号,不传时默认使用最新绑定的代扣卡 | +--------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 分账账户串(div\_detail )内容: +-------------------+-------------------+------------------+-------------+-----------------------------------------------------------+ | **参数中文名称** | **参数名称** | **数据格式** | **是否必须**| **说明** | +===================+===================+==================+=============+===========================================================+ | 分账客户号 | divCustId | 变长16位String | 必须 | div\_detail参数下的二级参数 分账客户号 | +-------------------+-------------------+------------------+-------------+-----------------------------------------------------------+ | 分账账户号 | divAcctId | 变长9位String | 必须 | div\_detail参数下的二级参数 分账账户号 | +-------------------+-------------------+------------------+-------------+-----------------------------------------------------------+ | 分账金额 | divAmt | 变长14位String | 必须 | div\_detail参数下的二级参数 分账金额,保留两位小数 | +-------------------+-------------------+------------------+-------------+-----------------------------------------------------------+ | 是否冻结标志 | divFreezeFg | 定长2位String | 必须 | div\_detail参数下的二级参数 冻结标志 01:冻结; 00:不冻结 | +-------------------+-------------------+------------------+-------------+-----------------------------------------------------------+ 注:如果支付时不需要分账给多个人的话,就不要传分账账户串,直接传入账客户号和入账账户号 同步返回参数 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +------------------------+---------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **参数中文名称** | **参数名称** | **数据格式** |**是否必须**| **说明** | +========================+=====================+===================+============+===============================================================================================================================================================+ | 消息类型 | cmd\_id | 变长String | 必须 | 每一种消息类型代表一种交易,此处为849 | +------------------------+---------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 应答返回码 | resp\_code | 定长6位String | 必须 | 849000--调用成功,其他见:返回码表 | +------------------------+---------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 应答返回描述 | resp\_desc | 变长String | 必须 | 返回码的对应中文描述,中文为UTF-8字符集URLEncode编码后的字符串,商户应解码获取原文 | +------------------------+---------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户客户号 | 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位系统流水号 | +------------------------+---------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 交易类型 | trans\_type | 定长8位String | 可选 | 02020101:支付 02020103:非消费金融代扣支付 | +------------------------+---------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 充值类型 | recharge\_type | 定长8位String | 可选 | 02020000: 个人网银,02020001: 企业网银 | +------------------------+---------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 交易金额 | trans\_amt | 变长14位String | 必须 | 交易金额,格式为###.00 | +------------------------+---------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 代扣签约流水 | sign\_seq\_id | 变长18位String | 可选 | 代扣签约订单唯一标识,代扣充值必传,其他充值不需传 | +------------------------+---------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 入账客户号 | in\_cust\_id | 定长16位String | 可选 | 业务类型为支付时必传,且入账客户号不能是充值客户本人 | +------------------------+---------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 分账账户串 | div\_detail | 变长String | 可选 | 业务类型为支付时必传,分账账户必须是入账客户的账户,数据格式:[{"div\_acct\_id":"000001","div\_amt":"1.00"}],分账串金额之和需等于充值金额,支持1条分账指令 | +------------------------+---------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 手续费金额 | fee\_amt | 变长14位String | 可选 | 手续费金额,格式为###.00 | +------------------------+---------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 手续费扣款客户号 | fee\_cust\_id | 定长16位String | 可选 | 手续费扣款客户号 | +------------------------+---------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 手续费子账户号 | fee\_acct\_id | 变长9位String | 可选 | 手续费扣款子账户号 | +------------------------+---------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位String | 必须 | 返参中的URL为UTF-8字符集URLEncode编码后的字符串,商户应解码获取原文。 | +------------------------+---------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回。注意:如参数中包含中文,应对参数进行Base64加密后再使用。 | +------------------------+---------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 扩展域 | extension | 变长512位String | 可选 | 用于扩展请求参数 | +------------------------+---------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 银行卡号 | card\_no | 变长32位String | 可选 | 代扣支付使用的卡号,不传时默认使用最新绑定的代扣卡 | +------------------------+---------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 业务请求流水 | biz\_trans\_id | 变长20位String | 可选 | 标志一个二段式快捷请求,商户下判断唯一,只能是数字和字母充值类型为二段式快捷时必填 | +------------------------+---------------------+-------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+ 返回码 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +-----------------------------------------------+------------------------------------------------------+ |**返回码** |**返回描述** | +-----------------------------------------------+------------------------------------------------------+ | 849000 | 交易成功 | +-----------------------------------------------+------------------------------------------------------+ | 849002 | 请求已受理 | +-----------------------------------------------+------------------------------------------------------+ | 849003 | 交易失败 | +-----------------------------------------------+------------------------------------------------------+ | 849099 | 系统异常 | +-----------------------------------------------+------------------------------------------------------+ | 849100 | 请求参数非法 | +-----------------------------------------------+------------------------------------------------------+ | 849101 | 商户无此接口权限 | +-----------------------------------------------+------------------------------------------------------+ | 849102 | 验证签名失败 | +-----------------------------------------------+------------------------------------------------------+ | 849103 | 商户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 849104 | 用户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 849107 | 消息类型与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 849108 | 商户客户号与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 849109 | 版本号与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 849110 | 商户号不存在 | +-----------------------------------------------+------------------------------------------------------+ | 849111 | 用户客户号不存在 | +-----------------------------------------------+------------------------------------------------------+ | 849202 | 交易订单号重复 | +-----------------------------------------------+------------------------------------------------------+ | 849204 | 商户配置异常 | +-----------------------------------------------+------------------------------------------------------+ | 849215 | 请补录身份信息 | +-----------------------------------------------+------------------------------------------------------+ | 849228 | (入账客户号、入账账户号)与分账串信息必须输入一项 | +-----------------------------------------------+------------------------------------------------------+ | 849230 | 入账客户号和入账账户号必须同时输入 | +-----------------------------------------------+------------------------------------------------------+ | 849231 | 入账用户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 849302 | 不支持此支付类型 | +-----------------------------------------------+------------------------------------------------------+ | 849303 | 商户支付基础信息未配置 | +-----------------------------------------------+------------------------------------------------------+ | 849305 | 入账客户信息不正确 | +-----------------------------------------------+------------------------------------------------------+ | 849306 | 入账分账串信息不正确 | +-----------------------------------------------+------------------------------------------------------+ | 849308 | 该用户未绑定代扣卡 | +-----------------------------------------------+------------------------------------------------------+ | 849309 | 该用户代扣协议不存在或状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 849311 | 企业用户或商户不支持代扣充值 | +-----------------------------------------------+------------------------------------------------------+ | 849313 | 该充值银行与用户快捷或代扣卡不匹配 | +-----------------------------------------------+------------------------------------------------------+ | 849314 | 支付手续费账户状态不正常 | +-----------------------------------------------+------------------------------------------------------+ | 849318 | 代扣卡不存在或状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 849321 | 支付手续费未配置 | +-----------------------------------------------+------------------------------------------------------+ | 849329 | 理财账户不允许进行支付,分账和作为手续费! | +-----------------------------------------------+------------------------------------------------------+ | 849727 | 分账信息异常 | +-----------------------------------------------+------------------------------------------------------+ | 849733 | 分账支付明细处理失败 | +-----------------------------------------------+------------------------------------------------------+ | 849737 | 支付明细处理失败 | +-----------------------------------------------+------------------------------------------------------+ | 849748 | 二级商户号不存在 | +-----------------------------------------------+------------------------------------------------------+ | 849749 | 二级商户号状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 849315 | 手续费金额不得大于等于交易金额 | +-----------------------------------------------+------------------------------------------------------+ 代码示例 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ java .. code:: java String valueObj = "{ "version": "10", "cmd_id": "849", "mer_cust_id": "6666000000026086", "user_cust_id": "6666000000030895", "order_date": "20180816", "order_id": "2018081615344454", "open_id": "3", "app_id": "01050000", "good_tag": "D", "raw_flag": "6232511231322345", "trans_amt": "93", "in_cust_id": "", "divCustId": "", "divFreezeFg": "", "divAcctId": "", "in_acct_id": "", "divAmt": "", "biz_trans_id": "", "goods_desc": "", "call_back_url": "", "order_expire_time": "", "goods_type": "", "bg_ret_url": "http://192.168.0.74:8001/npayCallBack/asyncHandle.json", "sign_seq_id": "", "secondary_mer_id": "", "mer_priv": "test_merpriv", "extension": "test_extension" }"; String testUrl = "http://192.168.3.170:8083/npay/merchantRequest"; String checkValue = sign(valueObj); String cmdId = "849"; 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);//解密 .. 成功响应: .. code:: json 200 { "cmd_id": "849", "resp_code": "849000", "resp_desc": "交易成功", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } .. 失败响应: .. code:: json 200 { "cmd_id": "849", "resp_code": "849099", "resp_desc": "交易失败", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } .. 银行卡解绑接口 -------------- 功能说明 ~~~~~~~~~~~~ 用于解绑快捷、代扣或取现卡,解绑前可以调用短信发送接口,解绑时就会校验手机验证码 调用方式:系统调用 请求参数 ~~~~~~~~~~~~~~ +--------------------+--------------------+-------------------+----------------+-------------------------------------------------------------------------------+ | **参数中文名称** | **参数名称** | **数据格式** | **是否必须** | **说明** | +====================+====================+===================+================+===============================================================================+ | 版本 | version | 固定2位String | 必须 | 目前固定为10 | +--------------------+--------------------+-------------------+----------------+-------------------------------------------------------------------------------+ | 消息类型 | cmd\_id | 固定3位String | 必须 | 每一种消息类型代表一种交易,此处为105 | +--------------------+--------------------+-------------------+----------------+-------------------------------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 | +--------------------+--------------------+-------------------+----------------+-------------------------------------------------------------------------------+ | 用户客户号 | user\_cust\_id | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识 | +--------------------+--------------------+-------------------+----------------+-------------------------------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 | +--------------------+--------------------+-------------------+----------------+-------------------------------------------------------------------------------+ | 订单号 | order\_id | 变长20位String | 必须 | 由商户生成,必须保证唯一,20位内数字或字母的组合 | +--------------------+--------------------+-------------------+----------------+-------------------------------------------------------------------------------+ | 银行代码 | bank\_id | 定长8位String | 必须 | 具体见附件二:快捷支付支持银行列表 | +--------------------+--------------------+-------------------+----------------+-------------------------------------------------------------------------------+ | 银行卡绑定ID | card\_id | 变长20位String | 可选 | 签约绑卡接口返回的绑卡ID,银行卡绑定ID与银行卡号不能同时为空 | +--------------------+--------------------+-------------------+----------------+-------------------------------------------------------------------------------+ | 银行卡号 | card\_no | 定长32位String | 可选 | 银行卡预留手机号,银行卡绑定ID与银行卡号不能同时为空 | +--------------------+--------------------+-------------------+----------------+-------------------------------------------------------------------------------+ | 银行卡预留手机号 | card\_mobile | 定长11位String | 可选 | 银行卡预留手机号 | +--------------------+--------------------+-------------------+----------------+-------------------------------------------------------------------------------+ | 卡业务类型 | card\_buss\_type | 固定1位String | 可选 | 0:取现,1:代扣,2:快捷,为空时表示同时解绑代扣和快捷卡 | +--------------------+--------------------+-------------------+----------------+-------------------------------------------------------------------------------+ | 短信验证码日期 | sms\_order\_date | 定长8位String | 可选 | 与sms\_code对应的验证码发送订单日期 | +--------------------+--------------------+-------------------+----------------+-------------------------------------------------------------------------------+ | 短信验证码订单号 | sms\_order\_id | 变长20位String | 可选 | 与sms\_code对应的验证码发送订单号 | +--------------------+--------------------+-------------------+----------------+-------------------------------------------------------------------------------+ | 短信验证码 | sms\_code | 定长6位String | 可选 | 传短信验证码时,会校验验证码是否正确 | +--------------------+--------------------+-------------------+----------------+-------------------------------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位String | 必须 | 通过后台异步通知商户解绑结果 注意: 1) 使用时不要包含中文 2) 必须是外网地址 | +--------------------+--------------------+-------------------+----------------+-------------------------------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 | +--------------------+--------------------+-------------------+----------------+-------------------------------------------------------------------------------+ | 扩展域 | extension | 变长512位String | 可选 | 用于扩展请求参数 | +--------------------+--------------------+-------------------+----------------+-------------------------------------------------------------------------------+ 返回参数 ~~~~~~~~~~~~~~ +--------------------+--------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | **参数中文名称** | **参数名称** | **数据格式** | **是否必须** | **说明** | +====================+====================+=====================+================+===============================================================================+ | 消息类型 | cmd\_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为105 | +--------------------+--------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 应答返回码 | resp\_code | 定长6位的String | 必须 | | +--------------------+--------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 应答描述 | resp\_desc | 变长String | 必须 | | +--------------------+--------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位的String | 必须 | 商户唯一标识,由汇付生成 | +--------------------+--------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 用户客户号 | user\_cust\_id | 定长16位的String | 必须 | 用户唯一标识,由汇付生成 | +--------------------+--------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 订单号 | order\_id | 变长20位String | 必须 | | +--------------------+--------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 必须 | 格式为“yyyyMMdd” | +--------------------+--------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 银行代码 | bank\_id | 定长8位String | 必须 | | +--------------------+--------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 银行卡绑定ID | card\_id | 变长20位String | 可选 | 银行卡绑定ID | +--------------------+--------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 银行卡号 | card\_no | 定长32位String | 可选 | 银行卡预留手机号,银行卡绑定ID与银行卡号不能同时为空 | +--------------------+--------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 卡业务类型 | cardBussType | 固定1位String | 可选 | 0:取现,1:代扣,2:快捷 | +--------------------+--------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 银行卡预留手机号 | card\_mobile | 定长11位String | 可选 | 银行卡预留手机号 | +--------------------+--------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 短信验证码日期 | sms\_order\_date | 定长8位String | 可选 | 与sms\_code对应的验证码发送订单日期 | +--------------------+--------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 短信验证码订单号 | sms\_order\_id | 变长20位String | 可选 | 与sms\_code对应的验证码发送订单号 | +--------------------+--------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 短信验证码 | sms\_code | 定长6位String | 可选 | 短信验证码 | +--------------------+--------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位的String | 必须 | 通过后台异步通知商户解绑结果 注意: 1) 使用时不要包含中文 2) 必须是外网地址 | +--------------------+--------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 | +--------------------+--------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数 | +--------------------+--------------------+---------------------+----------------+-------------------------------------------------------------------------------+ 代码示例 ~~~~~~~~~ java .. code:: java String valueObj = "{ "version": "10", "cmd_id": "105", "mer_cust_id": "6666000000026086", "user_cust_id": "6666000000026170", "order_id": "2000008699212", "order_date": "20180327", "bank_id": "01020000", "card_id": "1000000093", "card_mobile": "13666666661", "card_buss_type": "2", "sms_order_date": "20180327", "sms_order_id": "11010510", "sms_code": "111111", "bg_ret_url": "http://192.168.0.74:8001/npayCallBack/asyncHandle.json", "mer_priv": "test_mer_priv", "extension": "test_extension" }"; String testUrl = "http://192.168.3.170:8083/npay/merchantRequest"; String checkValue = sign(valueObj); String cmdId = "105"; 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);//解密 .. 成功响应: .. code:: json 200 { "cmd_id": "105", "resp_code": "105000", "resp_desc": "交易成功", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } .. 失败响应: .. code:: json 200 { "cmd_id": "105", "resp_code": "105304", "resp_desc": "交易失败", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } 返回码 ~~~~~~~~~ +-----------------------------------------------+------------------------------------------------------+ |**返回码** |**返回描述** | +-----------------------------------------------+------------------------------------------------------+ | 105000 | 交易成功 | +-----------------------------------------------+------------------------------------------------------+ | 105098 | 系统超时 | +-----------------------------------------------+------------------------------------------------------+ | 105099 | 系统异常 | +-----------------------------------------------+------------------------------------------------------+ | 105100 | 请求参数非法 | +-----------------------------------------------+------------------------------------------------------+ | 105101 | 商户无此接口权限 | +-----------------------------------------------+------------------------------------------------------+ | 105102 | 验证签名失败 | +-----------------------------------------------+------------------------------------------------------+ | 105103 | 商户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 105104 | 用户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 105107 | 消息类型与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 105108 | 商户客户号与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 105109 | 版本号与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 105110 | 商户号不存在 | +-----------------------------------------------+------------------------------------------------------+ | 105111 | 用户客户号不存在 | +-----------------------------------------------+------------------------------------------------------+ | 105301 | 短信验证码有误 | +-----------------------------------------------+------------------------------------------------------+ | 105302 | 用户未绑定过该卡 | +-----------------------------------------------+------------------------------------------------------+ | 105303 | 非代扣或快捷卡,不能解绑 | +-----------------------------------------------+------------------------------------------------------+ | 105304 | 用户基本信息不存在 | +-----------------------------------------------+------------------------------------------------------+ | 105305 | 验证卡信息失败 | +-----------------------------------------------+------------------------------------------------------+ | 105306 | 银行卡解绑失败 | +-----------------------------------------------+------------------------------------------------------+ | 105307 | 该银行卡未被绑定为取现卡 | +-----------------------------------------------+------------------------------------------------------+ | 105308 | 该银行卡未被绑定为代扣卡 | +-----------------------------------------------+------------------------------------------------------+ | 105309 | 该银行卡未被绑定为快捷卡 | +-----------------------------------------------+------------------------------------------------------+