取现类接口 ========== 绑定取现卡接口 -------------- 功能说明 ~~~~~~~~~~~~ 用于绑定取现银行卡,以便用于用户取现 调用方式:系统调用 请求参数 ~~~~~~~~~~~~~~ +--------------------+------------------+-------------------+----------------+-------------------------------------------------------------------------------+ | **参数中文名称** | **参数名称** | **数据格式** | **是否必须** | **说明** | +====================+==================+===================+================+===============================================================================+ | 版本号 | version | 定长2位String | 必须 | 目前固定为10 | +--------------------+------------------+-------------------+----------------+-------------------------------------------------------------------------------+ | 消息类型 | cmd\_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为104 | +--------------------+------------------+-------------------+----------------+-------------------------------------------------------------------------------+ | 商户唯一标识号 | mer\_cust\_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 | +--------------------+------------------+-------------------+----------------+-------------------------------------------------------------------------------+ | 用户唯一标识号 | user\_cust\_id | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识 | +--------------------+------------------+-------------------+----------------+-------------------------------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 必须 | 格式为“yyyyMMdd” | +--------------------+------------------+-------------------+----------------+-------------------------------------------------------------------------------+ | 订单号 | order\_id | 变长20位String | 必须 | | +--------------------+------------------+-------------------+----------------+-------------------------------------------------------------------------------+ | 银行代号 | bank\_id | 变长8位String | 必须 | | +--------------------+------------------+-------------------+----------------+-------------------------------------------------------------------------------+ | 银行卡号 | card\_no | 变长32位String | 必须 | | +--------------------+------------------+-------------------+----------------+-------------------------------------------------------------------------------+ | 借贷标记 | dc\_flag | 定长1位String | 必须 | 0:借记卡(固定) | +--------------------+------------------+-------------------+----------------+-------------------------------------------------------------------------------+ | 银行卡开户省份 | 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 | 必须 | 每一种消息类型代表一种交易,此处为104 | +------------------------+------------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 应答返回码 | resp\_code | 定长6位String | 必须 | 104000--调用成功,其他见一级返回码表 | +------------------------+------------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 应答返回描述 | resp\_desc | 变长String | 必须 | 一级返回码的对应中文描述 | +------------------------+------------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 商户唯一标识号 | mer\_cust\_id | 定长16位 | 必须 | 由汇付生成,商户的唯一性标识 | +------------------------+------------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 用户唯一标识号 | user\_cust\_id | 定长16位 | 必须 | 由汇付生成,用户的唯一性标识 | +------------------------+------------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 必须 | 格式为“yyyyMMdd” | +------------------------+------------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 订单号 | order\_id | 变长20位String | 必须 | | +------------------------+------------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 本平台交易唯一标识号 | platform\_seq\_id | 定长18位String | 可选 | 组成规则:8位本平台日期+ 10位系统流水号 | +------------------------+------------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 银行代号 | bank\_id | 变长8位String | 必须 | 银行代号 | +------------------------+------------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 银行卡号 | card\_no | 变长32位String | 必须 | 银行卡号掩码 | +------------------------+------------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 银行卡绑定ID | cash\_bind\_card\_id | 变长20位String | 必须 | 取现接口需要用到此ID | +------------------------+------------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 借贷标记 | dc\_flag | 定长1位String | 必须 | 0:借记卡 1:贷记卡 | +------------------------+------------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 银行卡开户省份 | card\_prov | 定长4位String | 必须 | | +------------------------+------------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 银行卡开户地区 | card\_area | 定长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": "104", "mer_cust_id": "6666000000026086", "user_cust_id": "6666000000291215", "order_id": "0020180368", "order_date": "20180402", "bank_id": "03134402", "dc_flag": "0", "card_no": "6230580000038076969", "card_mobile": "13761708192", "card_prov": "0031", "card_area": "3100", "sms_code": "324402", "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 = "104"; 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": "104", "resp_code": "104000", "resp_desc": "交易成功", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } .. 失败响应: .. code:: json 200 { "cmd_id": "104", "resp_code": "104304", "resp_desc": "交易失败", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } 返回码 ~~~~~~~~~ +-----------------------------------------------+------------------------------------------------------+ |**返回码** |**返回描述** | +-----------------------------------------------+------------------------------------------------------+ | 104000 | 交易成功 | +-----------------------------------------------+------------------------------------------------------+ | 104002 | 请求已受理 | +-----------------------------------------------+------------------------------------------------------+ | 104003 | 交易失败 | +-----------------------------------------------+------------------------------------------------------+ | 104099 | 系统异常 | +-----------------------------------------------+------------------------------------------------------+ | 104100 | 请求参数非法 | +-----------------------------------------------+------------------------------------------------------+ | 104101 | 商户无此接口权限 | +-----------------------------------------------+------------------------------------------------------+ | 104102 | 验证签名失败 | +-----------------------------------------------+------------------------------------------------------+ | 104103 | 商户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 104104 | 用户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 104107 | 消息类型与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 104108 | 商户客户号与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 104109 | 版本号与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 104110 | 商户号不存在 | +-----------------------------------------------+------------------------------------------------------+ | 104202 | 交易订单号重复 | +-----------------------------------------------+------------------------------------------------------+ | 104308 | 省份地区信息非法 | +-----------------------------------------------+------------------------------------------------------+ | 104319 | 该银行卡号已绑定为取现卡,请勿重复绑卡 | +-----------------------------------------------+------------------------------------------------------+ | 104322 | 该卡状态不正常 | +-----------------------------------------------+------------------------------------------------------+ | 104601 | 贷记卡不能绑定为取现卡 | +-----------------------------------------------+------------------------------------------------------+ 取现绑卡代开户接口 ------------------ 功能说明 ~~~~~~~~~~~~ 为未开户的用户开户的同时绑定取现卡,或为已开户的用户绑定取现卡。 调用方式:系统调用 接口方式:同步+异步 请求参数 ~~~~~~~~~~~~~~ +--------------------+------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 参数中文名称 | 参数名称 | 数据格式 | 是否必须 | 说明 | +====================+==================+=====================+============+====================================================================================================================================================================================================================================================+ | 版本号 | version | 定长2位String | 必须 | 目前固定为10 | +--------------------+------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 消息类型 | cmd\_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为811 | +--------------------+------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 | +--------------------+------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 必须 | 格式为“yyyyMMdd” | +--------------------+------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 订单号 | order\_id | 变长20位String | 必须 | 由商户的系统生成,订单号和订单日期保证唯一 | +--------------------+------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 用户客户号 | user\_cust\_id | 定长16位String | 可选 | 由汇付生成,商户的唯一性标识。条件可选:如用户已经开户,可选填该参数,如填写,接口会以该参数来辨识用户,不再匹配客户用户名和身份证号的正确性,但依然会校验参数格式;如不填写,接口会以客户用户名及身份证号匹配客户;如果用户未开户,请不填该参数 | +--------------------+------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 客户用户名 | user\_name | 变长50位String | 可选 | 用户的真实姓名。条件可选,条件参考用户客户号描述 | +--------------------+------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 身份证号 | cert\_id | 定长18位String | 可选 | 用户身份证号,目前仅支持身份证。条件可选,条件参考用户客户号描述 | +--------------------+------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 注册手机号 | user\_mobile | 定长11位String | 可选 | 用户手机号可选,条件参考用户客户号描述 | +--------------------+------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 开户银行代号 | bank\_id | 变长8位String | 必须 | 具体见附件一:代扣充值支持银行列表 | +--------------------+------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 银行卡号 | card\_no | 变长32位String | 必须 | 待绑定的银行卡号 | +--------------------+------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 借贷标记 | dc\_flag | 定长1位String | 必须 | D--借记,储蓄卡;C--贷记,信用卡;注:本接口暂仅支持借记卡 | +--------------------+------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 银行卡开户省份 | card\_prov | 定长4位String | 可选 | 银行卡开户省份 | +--------------------+------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 银行卡开户地区 | card\_area | 定长4位String | 可选 | 银行卡开户地区 | +--------------------+------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 是否默认取现卡 | is\_default | 定长8位String | 必须 | 00000000:非默认取现卡;00000001:默认取现卡。用户首次绑卡时,无论传任何值,绑定成功后都会设置为默认取现卡;用户已有默认取现卡时,新绑定默认取现卡会替换掉原有默认取现卡 | +--------------------+------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户后台应答地址 | 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.二级商户号录入接口 | +--------------------+------------------+---------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 返回参数 ~~~~~~~~~~~~~~~~~~ +------------------------+---------------------+---------------------+------------+-------------------------------------------+ | 参数中文名称 | 参数名称 | 数据格式 | 是否必须 | 说明 | +========================+=====================+=====================+============+===========================================+ | 消息类型 | cmd\_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为“811” | +------------------------+---------------------+---------------------+------------+-------------------------------------------+ | 应答返回码 | resp\_code | 定长6位String | 必须 | 811000--调用成功,其他见返回码表 | +------------------------+---------------------+---------------------+------------+-------------------------------------------+ | 应答返回描述 | resp\_desc | 变长String | 必须 | 返回码的对应中文描述 | +------------------------+---------------------+---------------------+------------+-------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 | +------------------------+---------------------+---------------------+------------+-------------------------------------------+ | 已开户标识 | reg\_flag | 定长8位String | 必须 | 00000000:新开户 00000001:已开户 | +------------------------+---------------------+---------------------+------------+-------------------------------------------+ | 用户客户号 | 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位系统流水 | +------------------------+---------------------+---------------------+------------+-------------------------------------------+ | 银行卡绑定ID | cash_bind_card_id | 变长20位String | 必须 | 异步返回。用作后续取现使用 | +------------------------+---------------------+---------------------+------------+-------------------------------------------+ | 手续费金额 | fee\_amt | 变长14位String | 可选 | 手续费金额,格式为###.00 | +------------------------+---------------------+---------------------+------------+-------------------------------------------+ | 手续费子账户号 | fee\_acct\_id | 变长9位String | 可选 | 手续费扣款子账户号 | +------------------------+---------------------+---------------------+------------+-------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String | 可选 | 为商户的自定义字段 | +------------------------+---------------------+---------------------+------------+-------------------------------------------+ 代码示例 ~~~~~~~~~ java .. code:: java String valueObj = "{ "version": "10", "cmd_id": "811", "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", "is_default": "00000001", "mer_priv": "test_merpriv", "extension": "test_extension" }"; String testUrl = "http://192.168.3.170:8083/npay/merchantRequest"; String checkValue = sign(valueObj); String cmdId = "811"; 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": "811", "resp_code": "811000", "resp_desc": "交易成功", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } .. 成功响应: .. code:: json 200 { "cmd_id": "811", "resp_code": "811099", "resp_desc": "交易失败", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } 返回码 ~~~~~~~~~ +-----------------------------------------------+---------------------------------------------------------+ |**返回码** |**返回描述** | +-----------------------------------------------+---------------------------------------------------------+ | 811000 | 交易成功 | +-----------------------------------------------+---------------------------------------------------------+ | 811002 | 请求已受理 | +-----------------------------------------------+---------------------------------------------------------+ | 811003 | 交易失败 | +-----------------------------------------------+---------------------------------------------------------+ | 811099 | 系统异常 | +-----------------------------------------------+---------------------------------------------------------+ | 811100 | 请求参数非法 | +-----------------------------------------------+---------------------------------------------------------+ | 811101 | 商户无此接口权限 | +-----------------------------------------------+---------------------------------------------------------+ | 811102 | 验证签名失败 | +-----------------------------------------------+---------------------------------------------------------+ | 811103 | 商户状态异常 | +-----------------------------------------------+---------------------------------------------------------+ | 811104 | 用户状态异常 | +-----------------------------------------------+---------------------------------------------------------+ | 811107 | 消息类型与签名内容不一致 | +-----------------------------------------------+---------------------------------------------------------+ | 811108 | 商户客户号与签名内容不一致 | +-----------------------------------------------+---------------------------------------------------------+ | 811109 | 版本号与签名内容不一致 | +-----------------------------------------------+---------------------------------------------------------+ | 811110 | 商户号不存在 | +-----------------------------------------------+---------------------------------------------------------+ | 811202 | 交易订单号重复 | +-----------------------------------------------+---------------------------------------------------------+ | 811203 | 手续费账户余额不足 | +-----------------------------------------------+---------------------------------------------------------+ | 811204 | 商户配置异常 | +-----------------------------------------------+---------------------------------------------------------+ | 811300 | 该业务仅支持个人用户执行 | +-----------------------------------------------+---------------------------------------------------------+ | 811302 | 用户已绑定快捷或代扣卡,不能再绑定取现卡 | +-----------------------------------------------+---------------------------------------------------------+ | 811303 | 银行卡号与银行不匹配 | +-----------------------------------------------+---------------------------------------------------------+ | 811304 | 银行卡类型错误 | +-----------------------------------------------+---------------------------------------------------------+ | 811305 | 手续费扣款失败 | +-----------------------------------------------+---------------------------------------------------------+ | 811308 | 省份地区信息非法 | +-----------------------------------------------+---------------------------------------------------------+ | 811319 | 该银行卡号已绑定为取现卡,请勿重复绑卡 | +-----------------------------------------------+---------------------------------------------------------+ | 811322 | 该卡状态异常 | +-----------------------------------------------+---------------------------------------------------------+ | 811325 | 银行卡与姓名或身份证不符 | +-----------------------------------------------+---------------------------------------------------------+ | 811407 | 代开户失败 | +-----------------------------------------------+---------------------------------------------------------+ 取现接口 -------------- 功能说明 ~~~~~~~~~~~~~~~~ 用于个人用户、企业用户和个体户用户从汇付账户取现到事先绑定的取现银行卡中。 调用方式:系统调用 请求参数 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------+ | **参数中文名称** | **参数名称** | **数据格式** | **是否必须** | **说明** | +====================+========================+=====================+================+===================================================================================================================================+ | 版本号 | version | 定长2位的String | 必须 | 固定为10,如版本升级,能向前兼容 | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------+ | 消息类型 | cmd\_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处固定为202 | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位的String | 必须 | 商户的唯一标识 | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------+ | 用户客户号 | user\_cust\_id | 定长16位的String | 必须 | 由汇付生成,用户的唯一性标识 | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 必须 | 格式为“yyyyMMdd” | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------+ | 订单号 | order\_id | 变长20位的String | 必须 | 由商户的系统生成,订单号和订单日期保证唯一 | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------+ | 交易金额 | trans\_amt | 变长14位的String | 必须 | 泛指交易金额,金额格式必须是###.00,比如2.00,2.01 | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------+ | 取现绑定银行卡ID | cash\_bind\_card\_id | 变长20位的String | 必须 | 取现绑卡返回的ID | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------+ | 手续费收取对象 | fee\_obj | 定长8位的String | 可选 | 用户商户指定取现手续费的收取对象,优先级别高于商户配置的收取对象 02050200:向商户收取 02050201:向用户收取 空白默认为向商户收取 | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------+ | 手续费收取子账户 | fee\_acct\_id | 变长9位的String | 可选 | 向商户收取必填 向用户收取可忽略 | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------+ | 取现方式 | cash\_type | 定长8位的String | 必须 | 02030000:T+0取现;02030010:T+1取现 | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位的String | 必须 | 通过后台异步通知商户取现结果 注意: 1) 使用时不要包含中文 2) 必须是外网地址 | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------+ | 扩展域 | extension | 变长512位的String | 可选 | | +--------------------+------------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------+ 返回参数 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +----------------------+------------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | **参数中文名称** | **参数名称** | **数据格式** | **是否必须** | **说明** | +======================+========================+=====================+================+===============================================================================+ | 消息类型 | cmd\_id | 变长String | 必须 | 每一种消息类型代表一种交易,此处为202 | +----------------------+------------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 返回码 | resp\_code | 变长String | 必须 | 202000--调用成功,其他见返回码 | +----------------------+------------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 结果描述 | resp\_desc | 变长String | 必须 | 返回描述 | +----------------------+------------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 变长16位的String | 必须 | | +----------------------+------------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 用户客户号 | user\_cust\_id | 变长16位的String | 必须 | | +----------------------+------------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 订单日期 | order\_date | 定长8位 | 必须 | | +----------------------+------------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 订单号 | order\_id | 变长20位的String | 必须 | | +----------------------+------------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 平台流水id | platform\_seq\_id | 定长18位String | 必须 | 交易流水号 | +----------------------+------------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 交易金额 | trans\_amt | 变长14位的String | 必须 | | +----------------------+------------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 实际到账金额 | real\_trans\_amt | 变长14位的String | 可选 | 取现成功实际到账金额,各种原因导致取现失败则不传 | +----------------------+------------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 取现绑定银行卡ID | cash\_bind\_card\_id | 变长20位的String | 必须 | | +----------------------+------------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 开户银行代号 | bank\_id | 变长8位的String | 可选 | 具体见附件:开户银行代号 | +----------------------+------------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 手续费金额 | fee\_amt | 变长14位的String | 必须 | | +----------------------+------------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 手续费扣款客户号 | fee\_cust\_id | 变长16位的String | 必须 | | +----------------------+------------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 手续费扣款子账户号 | fee\_acct\_id | 变长9位的String | 必须 | | +----------------------+------------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位的String | 必须 | 通过后台异步通知商户取现结果 注意: 1) 使用时不要包含中文 2) 必须是外网地址 | +----------------------+------------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 | +----------------------+------------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 扩展域 | extension | 变长512位的String | 可选 | | +----------------------+------------------------+---------------------+----------------+-------------------------------------------------------------------------------+ 返回码 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +-----------------------------------------------+------------------------------------------------------+ |**返回码** |**返回描述** | +-----------------------------------------------+------------------------------------------------------+ | 202000 | 交易成功 | +-----------------------------------------------+------------------------------------------------------+ | 202002 | 请求已受理 | +-----------------------------------------------+------------------------------------------------------+ | 202003 | 交易失败 | +-----------------------------------------------+------------------------------------------------------+ | 202099 | 系统异常 | +-----------------------------------------------+------------------------------------------------------+ | 202100 | 请求参数非法 | +-----------------------------------------------+------------------------------------------------------+ | 202101 | 商户无此接口权限 | +-----------------------------------------------+------------------------------------------------------+ | 202102 | 验证签名失败 | +-----------------------------------------------+------------------------------------------------------+ | 202103 | 商户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 202104 | 用户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 202105 | 账户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 202107 | 消息类型与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 202108 | 商户客户号与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 202109 | 版本号与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 202110 | 商户号不存在 | +-----------------------------------------------+------------------------------------------------------+ | 202113 | 过渡账户不能出账 | +-----------------------------------------------+------------------------------------------------------+ | 202202 | 交易订单号重复 | +-----------------------------------------------+------------------------------------------------------+ | 202204 | 商户配置异常 | +-----------------------------------------------+------------------------------------------------------+ | 202300 | 银行卡信息不存在 | +-----------------------------------------------+------------------------------------------------------+ | 202301 | 银行卡状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 202302 | 银行卡不是取现卡 | +-----------------------------------------------+------------------------------------------------------+ | 202304 | 该商户不支持该取现方式 | +-----------------------------------------------+------------------------------------------------------+ | 202305 | 取现金额小于等于取现费用 | +-----------------------------------------------+------------------------------------------------------+ | 202310 | 取现用户不能为商户本身 | +-----------------------------------------------+------------------------------------------------------+ | 202311 | 该商户暂时不允许T0取现 | +-----------------------------------------------+------------------------------------------------------+ 代码示例 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ java .. code:: java String valueObj = "{ "version": "10", "cmd_id": "202", "mer_cust_id": "6666000000217291", "user_cust_id": "6666000000291215", "order_date": "20180322", "order_id": "20107063", "trans_amt": "0.01", "cash_bind_card_id": "5899770", "fee_obj": "02050200", "fee_acct_id": "219871", "cash_type": "02030010", "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 = "202"; 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": "202", "resp_code": "202000", "resp_desc": "交易成功", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } .. 失败响应: .. code:: json 200 { "cmd_id": "202", "resp_code": "202099", "resp_desc": "交易失败", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } 短信发送接口 ------------ 功能说明 ~~~~~~~~~~~~ 发送短信验证码,以便在进行后续业务中验证该短信验证码。 调用方式:系统调用 请求参数 ~~~~~~~~~~~~~~ +--------------------+------------------+--------------------+----------------+-----------------------------------------------------+ | **参数中文名称** | **参数名称** | **数据格式** | **是否必须** | **说明** | +====================+==================+====================+================+=====================================================+ | 版本号 | version | 定长2位的String | 必须 | 固定为10,如版本升级,能向前兼容 | +--------------------+------------------+--------------------+----------------+-----------------------------------------------------+ | 消息类型 | cmd\_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为110 | +--------------------+------------------+--------------------+----------------+-----------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位的String | 必须 | 由汇付生成,商户的唯一性标识 | +--------------------+------------------+--------------------+----------------+-----------------------------------------------------+ | 用户客户号 | user\_cust\_id | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识 | +--------------------+------------------+--------------------+----------------+-----------------------------------------------------+ | 订单号 | order\_id | 变长20位的String | 必须 | 由商户生成,必须保证唯一, 20位内的字母或数字组合 | +--------------------+------------------+--------------------+----------------+-----------------------------------------------------+ | 订单日期 | order\_date | 定长8位的String | 必须 | 格式为YYYYMMDD,例如:20160307 | +--------------------+------------------+--------------------+----------------+-----------------------------------------------------+ | 业务类型 | business\_type | 定长3位的String | 必须 | 解绑银行卡—105 | +--------------------+------------------+--------------------+----------------+-----------------------------------------------------+ | 用户手机号 | user\_mobile | 定长11位String | 必须 | 待接收短信验证码的手机号 | +--------------------+------------------+--------------------+----------------+-----------------------------------------------------+ 返回参数 ~~~~~~~~~~~~~~ +--------------------+------------------+--------------------+----------------+-----------------------------------------------------+ | **参数中文名称** | **参数名称** | **数据格式** | **是否必须** | **说明** | +====================+==================+====================+================+=====================================================+ | 消息类型 | cmd\_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为110 | +--------------------+------------------+--------------------+----------------+-----------------------------------------------------+ | 返回码 | resp\_code | 定长6位String | 必须 | 110000--调用成功,其他见返回码表 | +--------------------+------------------+--------------------+----------------+-----------------------------------------------------+ | 结果描述 | resp\_desc | 变长String | 必须 | 返回码的对应中文描述 | +--------------------+------------------+--------------------+----------------+-----------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 | +--------------------+------------------+--------------------+----------------+-----------------------------------------------------+ | 用户客户号 | user\_cust\_id | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识 | +--------------------+------------------+--------------------+----------------+-----------------------------------------------------+ | 订单号 | order\_id | 变长20位的String | 必须 | 由商户生成,必须保证唯一, 20位内的字母或数字组合 | +--------------------+------------------+--------------------+----------------+-----------------------------------------------------+ | 订单日期 | order\_date | 定长8位的String | 必须 | 格式为YYYYMMDD,例如:20160307 | +--------------------+------------------+--------------------+----------------+-----------------------------------------------------+ | 业务类型 | business\_type | 定长3位的String | 必须 | 解绑银行卡—105 | +--------------------+------------------+--------------------+----------------+-----------------------------------------------------+ | 用户手机号 | user\_mobile | 定长11位String | 必须 | 待接收短信验证码的手机号 | +--------------------+------------------+--------------------+----------------+-----------------------------------------------------+ 代码示例 ~~~~~~~~~ java .. code:: java String valueObj = "{ "version": "10", "cmd_id": "110", "mer_cust_id": "6666000000026086", "user_cust_id": "6666000000026170", "order_id": "11010510", "order_date": "20180327", "business_type": "105", "user_mobile": "13666666661" }"; String testUrl = "http://192.168.3.170:8083/npay/merchantRequest"; String checkValue = sign(valueObj); String cmdId = "110"; 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": "110", "resp_code": "110000", "resp_desc": "交易成功", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } .. 失败响应: .. code:: json 200 { "cmd_id": "110", "resp_code": "110099", "resp_desc": "交易失败", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } 返回码 ~~~~~~~~~ +-----------------------------------------------+------------------------------------------------------+ |**返回码** |**返回描述** | +-----------------------------------------------+------------------------------------------------------+ | 110000 | 交易成功 | +-----------------------------------------------+------------------------------------------------------+ | 110098 | 系统超时 | +-----------------------------------------------+------------------------------------------------------+ | 110099 | 系统异常 | +-----------------------------------------------+------------------------------------------------------+ | 110100 | 请求参数非法 | +-----------------------------------------------+------------------------------------------------------+ | 110101 | 商户无此接口权限 | +-----------------------------------------------+------------------------------------------------------+ | 110102 | 验证签名失败 | +-----------------------------------------------+------------------------------------------------------+ | 110103 | 商户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 110104 | 用户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 110107 | 消息类型与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 110108 | 商户客户号与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 110109 | 版本号与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 110110 | 商户号不存在 | +-----------------------------------------------+------------------------------------------------------+ | 110111 | 用户客户号不存在 | +-----------------------------------------------+------------------------------------------------------+ | 110202 | 交易订单号重复 | +-----------------------------------------------+------------------------------------------------------+ | 110210 | 短信验证码发送过于频繁 | +-----------------------------------------------+------------------------------------------------------+ | 110211 | 短信验证码发送失败 | +-----------------------------------------------+------------------------------------------------------+ 银行卡解绑接口 -------------- 功能说明 ~~~~~~~~~~~~ 用于解绑快捷、代扣或取现卡,解绑前可以调用短信发送接口,解绑时就会校验手机验证码 调用方式:系统调用 请求参数 ~~~~~~~~~~~~~~ +--------------------+--------------------+-------------------+----------------+-------------------------------------------------------------------------------+ | **参数中文名称** | **参数名称** | **数据格式** | **是否必须** | **说明** | +====================+====================+===================+================+===============================================================================+ | 版本 | 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 | 该银行卡未被绑定为快捷卡 | +-----------------------------------------------+------------------------------------------------------+