快捷类接口 ========== 常用接入方式 -------------------------- 快速接入方式(页面版) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 本 API 提供了开户、绑卡和支付三合一的接口,并且提供页面让用户录入身份和卡号信息,商户不需要额外调用开户和绑卡接口,也不需要开发页面采集用户信息,可以快速接入快捷支付功能。这种接入方式支持贷记卡支付。 涉及到的接口包括: 快捷支付WEB版接口_ 和 快捷支付APP版接口_ 选其一、 交易状态查询接口_ 、 退款接口_ .. _快捷支付WEB版接口: quickPay.html#id42 .. _快捷支付APP版接口: quickPay.html#id49 .. _交易状态查询接口: query.html#id2 .. _退款接口: refund.html#id2 .. image:: _static/images/qucikPay_flow.png 纯后台系统调用方式(无页面版) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 此接入方式不会出现汇付的页面,商户需要自己开发页面采集用户信息,但是不支持贷记卡快捷支付。涉及到的接口包括:快捷绑卡代开户接口_ 、快捷支付后台版接口_ 、交易状态查询接口_ 、 退款接口_ .. _快捷绑卡代开户接口: quickPay.html#id17 .. _快捷支付后台版接口: quickPay.html#id68 .. _交易状态查询接口: query.html#id2 .. _退款接口: refund.html#id2 .. image:: _static/images/qucikPay_no_page_flow.png 快捷卡绑卡接口 -------------- 功能说明 ~~~~~~~~~~~~ 用于跳转到本平台进行快捷卡绑定,以便用于快捷支付 调用方式:页面浏览器 请求参数 ~~~~~~~~~~~~~~ +--------------------+------------------+---------------------+----------------+-------------------------------------------------------------------------------------+ | **参数中文名称** | **参数名称** | **数据格式** | **是否必须** | **说明** | +====================+==================+=====================+================+=====================================================================================+ | 版本号 | version | 定长2位String | 必须 | 目前固定为10 | +--------------------+------------------+---------------------+----------------+-------------------------------------------------------------------------------------+ | 消息类型 | cmd\_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为103 | +--------------------+------------------+---------------------+----------------+-------------------------------------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 | +--------------------+------------------+---------------------+----------------+-------------------------------------------------------------------------------------+ | 用户客户号 | user\_cust\_id | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识 | +--------------------+------------------+---------------------+----------------+-------------------------------------------------------------------------------------+ | 订单号 | order\_id | 变长20位String | 必须 | 由商户生成,必须保证唯一, 20位内的字母或数字组合 | +--------------------+------------------+---------------------+----------------+-------------------------------------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 | +--------------------+------------------+---------------------+----------------+-------------------------------------------------------------------------------------+ | 开户银行代号 | 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 | 必须 | 每一种消息类型代表一种交易,此处为103 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 应答返回码 | resp\_code | 定长6位String | 必须 | 103000--调用成功,其他见返回码表 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 应答返回描述 | resp\_desc | 变长String | 必须 | 返回码的对应中文描述 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 用户客户号 | user\_cust\_id | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 订单号 | order\_id | 变长20位String | 必须 | 由商户生成,必须保证唯一, 20位内的字母或数字组合 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 本平台交易唯一标识号 | platform\_seq\_id | 定长18位String | 必须 | 组成规则:8位本平台日期+ 10位系统流水号 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 开户银行代号 | bank\_id | 变长8位String | 必须 | 具体见附件:开户银行代号 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 银行卡号 | card\_no | 变长32位String | 必须 | 返回银行卡号掩码 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 绑定银行卡ID | bind\_card\_id | 变长20位String | 必须 | 快捷支付需要用到此ID | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 商户后台应答地址 | 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": "103", "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 = "103"; 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": "103", "resp_code": "103000", "resp_desc": "交易成功", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } .. 失败响应: .. code:: json 200 { "cmd_id": "103", "resp_code": "103304", "resp_desc": "交易失败", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } 返回码 ~~~~~~~~~ +-----------------------------------------------+------------------------------------------------------+ |**返回码** |**返回描述** | +-----------------------------------------------+------------------------------------------------------+ | 103000 | 交易成功 | +-----------------------------------------------+------------------------------------------------------+ | 103002 | 请求已受理 | +-----------------------------------------------+------------------------------------------------------+ | 103003 | 交易失败 | +-----------------------------------------------+------------------------------------------------------+ | 103099 | 系统异常 | +-----------------------------------------------+------------------------------------------------------+ | 103100 | 请求参数非法 | +-----------------------------------------------+------------------------------------------------------+ | 103101 | 商户无此接口权限 | +-----------------------------------------------+------------------------------------------------------+ | 103102 | 验证签名失败 | +-----------------------------------------------+------------------------------------------------------+ | 103103 | 商户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 103104 | 用户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 102107 | 消息类型与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 102108 | 商户客户号与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 102109 | 版本号与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 102110 | 商户号不存在 | +-----------------------------------------------+------------------------------------------------------+ | 103201 | 页面数据被篡改 | +-----------------------------------------------+------------------------------------------------------+ | 103202 | 交易订单号重复 | +-----------------------------------------------+------------------------------------------------------+ | 103204 | 商户配置异常 | +-----------------------------------------------+------------------------------------------------------+ | 103205 | 短信验证码验证失败 | +-----------------------------------------------+------------------------------------------------------+ | 103206 | 短信验证码发送手机号与验证手机号不一致 | +-----------------------------------------------+------------------------------------------------------+ | 103207 | 短信验证码或短信唯一标识为空 | +-----------------------------------------------+------------------------------------------------------+ | 103208 | 短信验证码已失效请重新获取 | +-----------------------------------------------+------------------------------------------------------+ | 103209 | 验证码发送接口与接口不一致 | +-----------------------------------------------+------------------------------------------------------+ | 103210 | 短信验证码发送过于频繁 | +-----------------------------------------------+------------------------------------------------------+ | 103211 | 短信验证码发送失败 | +-----------------------------------------------+------------------------------------------------------+ | 103303 | 银行卡号与银行不匹配 | +-----------------------------------------------+------------------------------------------------------+ | 103305 | 只有个人用户和个体户能绑定快捷卡 | +-----------------------------------------------+------------------------------------------------------+ | 103308 | 省份地区信息非法 | +-----------------------------------------------+------------------------------------------------------+ | 103314 | 请获取验证码 | +-----------------------------------------------+------------------------------------------------------+ | 103315 | 银行卡信息有更新,请重新获取验证码 | +-----------------------------------------------+------------------------------------------------------+ | 103316 | 用户已绑定快捷卡,请勿重复申请 | +-----------------------------------------------+------------------------------------------------------+ | 103317 | 用户有快捷卡正在绑定中,请勿重复绑卡 | +-----------------------------------------------+------------------------------------------------------+ | 103318 | 该银行卡号与卡类型不匹配 | +-----------------------------------------------+------------------------------------------------------+ | 103320 | 该商户不支持绑定贷记卡 | +-----------------------------------------------+------------------------------------------------------+ 快捷绑卡代开户接口 ------------------ 功能说明 ~~~~~~~~~~~~ 使用该接口让商户在绑快捷卡时能同时完成开户操作; 调用方式:系统调用 请求参数 ~~~~~~~~~~~~~~ +----------------------+-------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 参数中文名称 | 参数名称 | 数据格式 | 是否必须 | 说明 | +======================+===================+=====================+============+=====================================================================================================================================================================================================================+ | 版本号 | version | 定长2位String | 必须 | 11 | +----------------------+-------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 消息类型 | cmd\_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为812 | +----------------------+-------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 两段式绑卡阶段标志 | step\_flag | 定长2位的String | 必须 | 01:验卡阶段02:验证短信阶段 | +----------------------+-------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 | +----------------------+-------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 用户客户号 | user\_cust\_id | 定长16位String | 可选 | 由汇付生成,用户的唯一性标识 | +----------------------+-------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 用户名 | user\_name | 定长50位String | 可选 | 用户客户号为空时必填 | +----------------------+-------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 身份证号 | cert\_id | 定长18位String | 必须 | 用户客户号为空时必填 | +----------------------+-------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 银行预留手机号 | card\_mobile | 变长11位String | 必须 | 本次快捷绑卡待绑定的银行卡,在银行开户时的预留手机号 | +----------------------+-------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 订单号 | order\_id | 变长20位String | 必须 | 由商户生成,必须保证唯一, | +----------------------+-------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 必须 | 20位内的字母或数字组合 | +----------------------+-------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 开户银行代号 | bank\_id | 变长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 | +----------------------+-------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 借贷标记 | dc\_flag | 定长1位String | 必须 | 具体见附件:开户银行代号 | +----------------------+-------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 银行卡号 | card\_no | 变长32位String | 必须 | D–借记,储蓄卡C–贷记,信用卡注:本接口暂仅支持借记卡 | +----------------------+-------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 银行卡开户省份 | card\_prov | 定长4位String | 可选 | 本次快捷绑卡待绑定的银行卡号 | +----------------------+-------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 银行卡开户地区 | card\_area | 定长4位String | 可选 | 本次快捷绑卡待绑定的银行卡开户省份 | +----------------------+-------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 短信验证码 | sms\_code | 定长6位String | 可选 | 本次快捷绑卡待绑定的银行卡开户地区 | +----------------------+-------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 绑卡交易流水号 | bind\_trans\_id | 变长20位String | 必须 | 验证短信阶段必须(step\_flag=02) | +----------------------+-------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位的String | 必须 | 标志一个绑卡请求,商户下判断唯一,只能是数字和字母 | +----------------------+-------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String | 可选 | 通过后台异步通知商户开户结果 | +----------------------+-------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 扩展域 | extension | 变长512位的String | 可选 | 注意:1)使用时不要包含中文2)必须是外网地址为商户的自定义字段,该字段在交易完成后由本平台原样返回用于扩展请求参数若需要进行二级商户号验证,则必传,格式:{“sub\_mer\_cust\_id”:“111111111111”}二级商户号由汇付生成 | +----------------------+-------------------+---------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 返回参数 ~~~~~~~~~~~~~~~~~~ +------------------------+---------------------+---------------------+------------+----------------------------------------------------------+ | 参数中文名称 | 参数名称 | 数据格式 | 是否必须 | 说明 | +========================+=====================+=====================+============+==========================================================+ | 消息类型 | cmd\_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为812 | +------------------------+---------------------+---------------------+------------+----------------------------------------------------------+ | 应答返回码 | resp\_code | 定长6位String | 必须 | 812000--调用成功,其他见返回码表 | +------------------------+---------------------+---------------------+------------+----------------------------------------------------------+ | 应答返回描述 | resp\_desc | 变长String | 必须 | 返回码的对应中文描述 | +------------------------+---------------------+---------------------+------------+----------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 | +------------------------+---------------------+---------------------+------------+----------------------------------------------------------+ | 用户客户号 | user\_cust\_id | 定长16位String | 可选 | 由汇付生成,用户的唯一性标识 | +------------------------+---------------------+---------------------+------------+----------------------------------------------------------+ | 已开户标识 | reg\_flag | 定长8位String | 必须 | 00000000:新开户 00000001:已开户 | +------------------------+---------------------+---------------------+------------+----------------------------------------------------------+ | 用户账户号 | acct\_id | 变长9位String | 可选 | 用户账户号新开户且成功时必返 | +------------------------+---------------------+---------------------+------------+----------------------------------------------------------+ | 订单号 | order\_id | 变长20位String | 必须 | 由商户生成,必须保证唯一,20位内的字母或数字组合 | +------------------------+---------------------+---------------------+------------+----------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 | +------------------------+---------------------+---------------------+------------+----------------------------------------------------------+ | 绑定快捷银行卡ID | bind_card_id | 变长20位String | 必须 | 本次快捷绑卡的ID | +------------------------+---------------------+---------------------+------------+----------------------------------------------------------+ | 绑定取现银行卡ID | cash_bind_card_id | 变长20位String | 可选 | 仅支持单张银行卡的场合,绑取现卡的绑卡ID | +------------------------+---------------------+---------------------+------------+----------------------------------------------------------+ | 本平台交易唯一标识号 | platform\_seq\_id | 定长18位String | 必须 | 组成规则:8位本平台日期+ 10位系统流水号 | +------------------------+---------------------+---------------------+------------+----------------------------------------------------------+ | 手续费金额 | fee\_amt | 变长14位String | 可选 | 格式为###.00 | +------------------------+---------------------+---------------------+------------+----------------------------------------------------------+ | 手续费子账户号 | fee\_acct\_id | 变长9位String | 可选 | | +------------------------+---------------------+---------------------+------------+----------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 | +------------------------+---------------------+---------------------+------------+----------------------------------------------------------+ 代码示例 ~~~~~~~~~ java .. code:: java String valueObj = "{ "version": "10", "cmd_id": "812", "mer_cust_id": "6666000000026086", "user_cust_id": "6666000000026189", "order_id": "201572184", "order_date": "20170828", "bank_id": "01050000", "card_no": "6212840000000012345", "bind_trans_id": "", "sms_code": "", "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 = "812"; 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": "812", "resp_code": "812000", "resp_desc": "交易成功", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } .. 失败响应: .. code:: json 200 { "cmd_id": "812", "resp_code": "812099", "resp_desc": "交易失败", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } 返回码 ~~~~~~~~~ +-----------------------------------------------+---------------------------------------------------------+ | **快捷绑卡代开户(cmd\_id=812)** | | +-----------------------------------------------+---------------------------------------------------------+ | 812000 | 交易成功 | +-----------------------------------------------+---------------------------------------------------------+ | 812002 | 请求已受理 | +-----------------------------------------------+---------------------------------------------------------+ | 812003 | 交易失败 | +-----------------------------------------------+---------------------------------------------------------+ | 812099 | 系统异常 | +-----------------------------------------------+---------------------------------------------------------+ | 812100 | 请求参数非法 | +-----------------------------------------------+---------------------------------------------------------+ | 812101 | 商户无此接口权限 | +-----------------------------------------------+---------------------------------------------------------+ | 812102 | 验证签名失败 | +-----------------------------------------------+---------------------------------------------------------+ | 812103 | 商户状态异常 | +-----------------------------------------------+---------------------------------------------------------+ | 812104 | 用户状态异常 | +-----------------------------------------------+---------------------------------------------------------+ | 812107 | 消息类型与签名内容不一致 | +-----------------------------------------------+---------------------------------------------------------+ | 812108 | 商户客户号与签名内容不一致 | +-----------------------------------------------+---------------------------------------------------------+ | 812109 | 版本号与签名内容不一致 | +-----------------------------------------------+---------------------------------------------------------+ | 812110 | 商户号不存在 | +-----------------------------------------------+---------------------------------------------------------+ | 812111 | 用户客户号不存在 | +-----------------------------------------------+---------------------------------------------------------+ | 812202 | 交易订单号重复 | +-----------------------------------------------+---------------------------------------------------------+ | 812203 | 账户可用余额不足 | +-----------------------------------------------+---------------------------------------------------------+ | 812204 | 商户配置异常 | +-----------------------------------------------+---------------------------------------------------------+ | 812208 | 短信验证码已失效请重新获取 | +-----------------------------------------------+---------------------------------------------------------+ | 812210 | 短信验证码发送过于频繁 | +-----------------------------------------------+---------------------------------------------------------+ | 812211 | 短信验证码发送失败 | +-----------------------------------------------+---------------------------------------------------------+ | 812212 | 账户余额查询失败 | +-----------------------------------------------+---------------------------------------------------------+ | 812220 | 请求流水已存在 | +-----------------------------------------------+---------------------------------------------------------+ | 812300 | 该业务仅支持个人用户执行 | +-----------------------------------------------+---------------------------------------------------------+ | 812303 | 银行卡号与银行不匹配 | +-----------------------------------------------+---------------------------------------------------------+ | 812304 | 该银行卡非借记卡 | +-----------------------------------------------+---------------------------------------------------------+ | 812305 | 手续费收取失败 | +-----------------------------------------------+---------------------------------------------------------+ | 812306 | 用户已绑定快捷卡,请勿重复申请 | +-----------------------------------------------+---------------------------------------------------------+ | 812307 | 用户有快捷卡正在绑定中,请勿重复绑卡 | +-----------------------------------------------+---------------------------------------------------------+ | 812308 | 省份地区信息非法 | +-----------------------------------------------+---------------------------------------------------------+ | 812316 | 手机号与已绑定卡记录不匹配 | +-----------------------------------------------+---------------------------------------------------------+ | 812323 | 此卡已绑定,请勿重复申请 | +-----------------------------------------------+---------------------------------------------------------+ | 812326 | 该商户不支持贷记卡 | +-----------------------------------------------+---------------------------------------------------------+ | 812744 | 信息更新异常 | +-----------------------------------------------+---------------------------------------------------------+ 前台快捷绑卡代开户接口 ---------------------- 功能说明 ~~~~~~~~~~~~ 使用该接口让商户在绑快捷卡时能同时完成开户操作。 调用方式:页面返回 请求参数 ~~~~~~~~~~~~~~ +--------------------+-----------------+---------------------+------------+---------------------------------------------------------------------------------+ | 参数中文名称 | 参数名称 | 数据格式 | 是否必须 | 说明 | +====================+=================+=====================+============+=================================================================================+ | 版本号 | version | 定长2位String | 必须 | 目前固定为10 | +--------------------+-----------------+---------------------+------------+---------------------------------------------------------------------------------+ | 消息类型 | cmd\_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为816 | +--------------------+-----------------+---------------------+------------+---------------------------------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 | +--------------------+-----------------+---------------------+------------+---------------------------------------------------------------------------------+ | 用户名 | user\_name | 定长50位String | 必须 | 客户用户名 | +--------------------+-----------------+---------------------+------------+---------------------------------------------------------------------------------+ | 订单号 | order\_id | 变长20位String | 必须 | 由商户生成,必须保证唯一,20位内的字母或数字组合 | +--------------------+-----------------+---------------------+------------+---------------------------------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 | +--------------------+-----------------+---------------------+------------+---------------------------------------------------------------------------------+ | 开户银行代号 | bank\_id | 变长8位String | 必须 | 具体见附件:开户银行代号 | +--------------------+-----------------+---------------------+------------+---------------------------------------------------------------------------------+ | 身份证号 | cert\_id | 定长18位String | 必须 | 18位 | +--------------------+-----------------+---------------------+------------+---------------------------------------------------------------------------------+ | 借贷标记 | dc\_flag | 定长1位String | 必须 | D--借记,储蓄卡 C--贷记,信用卡 S--准贷记卡 | +--------------------+-----------------+---------------------+------------+---------------------------------------------------------------------------------+ | 银行卡号 | card\_no | 变长32位String | 必须 | 本次快捷绑卡待绑定的银行卡号 | +--------------------+-----------------+---------------------+------------+---------------------------------------------------------------------------------+ | 银行预留手机号 | card\_ mobile | 变长11位String | 必须 | 本次快捷绑卡待绑定的银行卡,在银行开户时的预留手机号 | +--------------------+-----------------+---------------------+------------+---------------------------------------------------------------------------------+ | 银行卡开户省份 | card\_prov | 定长4位String | 可选 | 本次快捷绑卡待绑定的银行卡开户省份 | +--------------------+-----------------+---------------------+------------+---------------------------------------------------------------------------------+ | 银行卡开户地区 | card\_area | 定长4位String | 可选 | 本次快捷绑卡待绑定的银行卡开户地区 | +--------------------+-----------------+---------------------+------------+---------------------------------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位的String | 必须 | 通过后台异步通知商户开户结果 注意: 1) 使用时不要包含中文 2) 必须是外网地址 | +--------------------+-----------------+---------------------+------------+---------------------------------------------------------------------------------+ | 页面返回URL | ret\_url | 变长128位的String | 可选 | 交易完成后,本平台系统把交易结果通过页面方式,发送到该地址上 | +--------------------+-----------------+---------------------+------------+---------------------------------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 | +--------------------+-----------------+---------------------+------------+---------------------------------------------------------------------------------+ | 扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数 若需要进行二级商户号验证,则必传,格式:{“sub\_mer\_cust\_id | +--------------------+-----------------+---------------------+------------+---------------------------------------------------------------------------------+ | 页面类型 | page\_type | 定长2位String | 可选 | 00:桌面端页面 10:移动端页面 不填默认桌面端 | +--------------------+-----------------+---------------------+------------+---------------------------------------------------------------------------------+ 返回参数 ~~~~~~~~~~~~~~~~~~ +------------------------+---------------------+---------------------+------------+----------------------------------------------------------+ | 参数中文名称 | 参数名称 | 数据格式 | 是否必须 | 说明 | +========================+=====================+=====================+============+==========================================================+ | 消息类型 | cmd\_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为816 | +------------------------+---------------------+---------------------+------------+----------------------------------------------------------+ | 应答返回码 | resp\_code | 定长6位String | 必须 | 816000--调用成功,其他见返回码表 | +------------------------+---------------------+---------------------+------------+----------------------------------------------------------+ | 应答返回描述 | resp\_desc | 变长String | 必须 | 返回码的对应中文描述 | +------------------------+---------------------+---------------------+------------+----------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 | +------------------------+---------------------+---------------------+------------+----------------------------------------------------------+ | 用户客户号 | user\_cust\_id | 定长16位String | 可选 | 由汇付生成,用户的唯一性标识 | +------------------------+---------------------+---------------------+------------+----------------------------------------------------------+ | 用户账户号 | acct\_id | 变长9位String | 可选 | 用户账户号新开户且成功时必返 | +------------------------+---------------------+---------------------+------------+----------------------------------------------------------+ | 已开户标识 | reg\_flag | 定长8位String | 必须 | 00000000:新开户 00000001:已开户 | +------------------------+---------------------+---------------------+------------+----------------------------------------------------------+ | 订单号 | order\_id | 变长20位String | 必须 | 由商户生成,必须保证唯一,20位内的字母或数字组合 | +------------------------+---------------------+---------------------+------------+----------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 | +------------------------+---------------------+---------------------+------------+----------------------------------------------------------+ | 绑定快捷银行卡ID | bind_card_id | 变长20位String | 必须 | 本次快捷绑卡的ID | +------------------------+---------------------+---------------------+------------+----------------------------------------------------------+ | 绑定取现银行卡ID | cash_bind_card_id | 变长20位String | 可选 | 仅支持单张银行卡的场合,绑取现卡的绑卡ID | +------------------------+---------------------+---------------------+------------+----------------------------------------------------------+ | 本平台交易唯一标识号 | platform\_seq\_id | 定长18位String | 必须 | 组成规则:8位本平台日期+10位系统流水号 | +------------------------+---------------------+---------------------+------------+----------------------------------------------------------+ | 手续费金额 | fee\_amt | 变长14位String | 可选 | 格式为###.00 | +------------------------+---------------------+---------------------+------------+----------------------------------------------------------+ | 手续费子账户号 | fee\_acct\_id | 变长9位String | 可选 | | +------------------------+---------------------+---------------------+------------+----------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 | +------------------------+---------------------+---------------------+------------+----------------------------------------------------------+ 代码示例 ~~~~~~~~~ java .. code:: java String valueObj = "{ "version": "10", "cmd_id": "816", "mer_cust_id": "6666000000026086", "user_cust_id": "6666000000026189", "order_id": "201572184", "order_date": "20170828", "bank_id": "01050000", "card_no": "6212840000000012345", "ret_url": "", "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 = "816"; 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": "816", "resp_code": "816000", "resp_desc": "交易成功", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } .. 成功响应: .. code:: json 200 { "cmd_id": "816", "resp_code": "816099", "resp_desc": "交易失败", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } 返回码 ~~~~~~~~~ +-----------------------------------------------+---------------------------------------------------------+ | **快捷绑卡代开户(cmd\_id=816)** | | +-----------------------------------------------+---------------------------------------------------------+ | 816000 | 交易成功 | +-----------------------------------------------+---------------------------------------------------------+ | 816002 | 请求已受理 | +-----------------------------------------------+---------------------------------------------------------+ | 816003 | 交易失败 | +-----------------------------------------------+---------------------------------------------------------+ | 816099 | 系统异常 | +-----------------------------------------------+---------------------------------------------------------+ | 816100 | 请求参数非法 | +-----------------------------------------------+---------------------------------------------------------+ | 816101 | 商户无此接口权限 | +-----------------------------------------------+---------------------------------------------------------+ | 816102 | 验证签名失败 | +-----------------------------------------------+---------------------------------------------------------+ | 816103 | 商户状态异常 | +-----------------------------------------------+---------------------------------------------------------+ | 816104 | 用户状态异常 | +-----------------------------------------------+---------------------------------------------------------+ | 816107 | 消息类型与签名内容不一致 | +-----------------------------------------------+---------------------------------------------------------+ | 816108 | 商户客户号与签名内容不一致 | +-----------------------------------------------+---------------------------------------------------------+ | 816109 | 版本号与签名内容不一致 | +-----------------------------------------------+---------------------------------------------------------+ | 816110 | 商户号不存在 | +-----------------------------------------------+---------------------------------------------------------+ | 816111 | 用户客户号不存在 | +-----------------------------------------------+---------------------------------------------------------+ | 816202 | 交易订单号重复 | +-----------------------------------------------+---------------------------------------------------------+ | 816203 | 账户可用余额不足 | +-----------------------------------------------+---------------------------------------------------------+ | 816204 | 商户配置异常 | +-----------------------------------------------+---------------------------------------------------------+ | 816208 | 短信验证码已失效请重新获取 | +-----------------------------------------------+---------------------------------------------------------+ | 816210 | 短信验证码发送过于频繁 | +-----------------------------------------------+---------------------------------------------------------+ | 816211 | 短信验证码发送失败 | +-----------------------------------------------+---------------------------------------------------------+ | 816212 | 账户余额查询失败 | +-----------------------------------------------+---------------------------------------------------------+ | 816220 | 请求流水已存在 | +-----------------------------------------------+---------------------------------------------------------+ | 816300 | 该业务仅支持个人用户执行 | +-----------------------------------------------+---------------------------------------------------------+ | 816303 | 银行卡号与银行不匹配 | +-----------------------------------------------+---------------------------------------------------------+ | 816304 | 该银行卡非借记卡 | +-----------------------------------------------+---------------------------------------------------------+ | 816305 | 手续费收取失败 | +-----------------------------------------------+---------------------------------------------------------+ | 816306 | 用户已绑定快捷卡,请勿重复申请 | +-----------------------------------------------+---------------------------------------------------------+ | 816307 | 用户有快捷卡正在绑定中,请勿重复绑卡 | +-----------------------------------------------+---------------------------------------------------------+ | 816308 | 省份地区信息非法 | +-----------------------------------------------+---------------------------------------------------------+ | 816316 | 手机号与已绑定卡记录不匹配 | +-----------------------------------------------+---------------------------------------------------------+ | 816323 | 此卡已绑定,请勿重复申请 | +-----------------------------------------------+---------------------------------------------------------+ | 816326 | 该商户不支持贷记卡 | +-----------------------------------------------+---------------------------------------------------------+ | 816744 | 信息更新异常 | +-----------------------------------------------+---------------------------------------------------------+ 快捷支付短信发送接口 -------------------------- 功能说明 ~~~~~~~~~~~~~~~~ 本接口用于发送快捷支付的短信,配合快捷支付接口一起使用。 调用方式:系统调用 请求参数 ~~~~~~~~~~~~~~ +----------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **参数中文名称** | **参数名称** | **数据格式** | **是否必须** | **说明** | +======================+======================+=====================+================+=====================================================================================================================================================================================================================================================+ | 版本号 | version | 定长2位String | 必须 | 目前固定为10 | +----------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 消息类型 | cmd\_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为112 | +----------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户客户号 | 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 (快捷支付时的返回参数) | +----------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 分账账户串 | div\_detail | 变长String | 必须 | 业务类型为支付时必传,分账账户必须是入账客户的账户 数据格式: [{'divCustId':'6666000000025350','divAcctId':'78276','divAmt':'50.00','divFreezeFg':'00'},{'divCustId':'6666000000025666','divAcctId':'78841','divAmt':'50.00','divFreezeFg':'01'}] | +----------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位的String | 必须 | 通过后台异步通知商户短信发送结果 注意: 1) 使用时不要包含中文 2) 必须是外网地址 | +----------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 | +----------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 扩展域 | extension | 变长512位的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 | 可选 | 不能包含特殊字符:<>&'"\|%#\\^- | +----------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 分账账户串(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 | 变长3位String | 必须 | 每一种消息类型代表一种交易,此处为一阶段短信发送112 | +------------------------+---------------------+---------------------+----------------+----------------------------------------------------------+ | 应答返回码 | 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位系统流水号 | +------------------------+---------------------+---------------------+----------------+----------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位的String | 必须 | 通过后台异步通知商户开户结果 | +------------------------+---------------------+---------------------+----------------+----------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 | +------------------------+---------------------+---------------------+----------------+----------------------------------------------------------+ | 扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数 | +------------------------+---------------------+---------------------+----------------+----------------------------------------------------------+ 返回码 ~~~~~~~~~ +-----------------------------------------------+------------------------------------------------------+ |**返回码** |**返回描述** | +-----------------------------------------------+------------------------------------------------------+ | 112000 | 交易成功 | +-----------------------------------------------+------------------------------------------------------+ | 112002 | 请求已受理 | +-----------------------------------------------+------------------------------------------------------+ | 112003 | 交易失败 | +-----------------------------------------------+------------------------------------------------------+ | 112098 | 系统超时 | +-----------------------------------------------+------------------------------------------------------+ | 112099 | 系统异常 | +-----------------------------------------------+------------------------------------------------------+ | 112100 | 请求参数非法 | +-----------------------------------------------+------------------------------------------------------+ | 112101 | 商户无此接口权限 | +-----------------------------------------------+------------------------------------------------------+ | 112102 | 验证签名失败 | +-----------------------------------------------+------------------------------------------------------+ | 112103 | 商户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 112104 | 用户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 112107 | 消息类型与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 112108 | 商户客户号与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 112109 | 版本号与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 112110 | 商户号不存在 | +-----------------------------------------------+------------------------------------------------------+ | 112302 | 不支持此支付类型 | +-----------------------------------------------+------------------------------------------------------+ | 112307 | 该用户未绑定快捷卡 | +-----------------------------------------------+------------------------------------------------------+ | 112720 | 快捷支付只服务于个人或个体用户 | +-----------------------------------------------+------------------------------------------------------+ | 112721 | 分账串内容不能超过五个 | +-----------------------------------------------+------------------------------------------------------+ | 112722 | 分账串部分字段为空 | +-----------------------------------------------+------------------------------------------------------+ | 112723 | 分账串金额格式错误 | +-----------------------------------------------+------------------------------------------------------+ | 112724 | 分账串累计金额不等于订单金额 | +-----------------------------------------------+------------------------------------------------------+ | 112725 | 分账信息用户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 112726 | 分账信息账户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 112727 | 分账信息异常 | +-----------------------------------------------+------------------------------------------------------+ | 112728 | 分账串账户信息格式错误 | +-----------------------------------------------+------------------------------------------------------+ | 112729 | 分账串账户异常 | +-----------------------------------------------+------------------------------------------------------+ | 112739 | 快捷支付短信发送异常 | +-----------------------------------------------+------------------------------------------------------+ 代码示例 ~~~~~~~~~ java .. code:: java String valueObj = "{ "version": "10", "cmd_id": "112", "mer_cust_id": "6666000000026086", "user_cust_id": "6666000000026303", "order_id": "2011887095", "order_date": "20180327", "trans_amt": "6.95", "bind_card_id": "1000000085", "div_detail": "[{'divCustId':'6666000000026185','divAcctId':'79704','divAmt':'6.92','divFreezeFg':'01'},{'divCustId':'6666000000026086','divAcctId':'79506','divAmt':'0.03','divFreezeFg':'00'}]", "bg_ret_url": "http://192.168.0.74:8001/npayCallBack/asyncHandle.json", "ret_url": "", "mer_priv": "test", "extension": "test", "payer_term_type": "01", "payee_term_no": "payee_term_no", "payer_term_no": "test_payer_term_no", "payee_term_type": "02", "goods_short_name": "goods_short_name" }"; String testUrl = "http://192.168.3.170:8083/npay/merchantRequest"; String checkValue = sign(valueObj); String cmdId = "112"; 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": "112", "resp_code": "112000", "resp_desc": "交易成功", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } .. 失败响应: .. code:: json 200 { "cmd_id": "112", "resp_code": "112099", "resp_desc": "交易失败", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } .. 快捷支付接口 -------------- 功能说明 ~~~~~~~~~~~~~~~~ 快捷支付是从用户事先绑定好的银行卡里,扣取订单金额到指定的账户。支付之前请先调用快捷短信发送接口,汇付会向用户手机发送支付验证码,然后调用此接口时会校验验证码。 调用方式:页面浏览器 请求参数 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +-------------------+-------------------+------------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **参数中文名称** | **参数名称** | **数据格式** | **是否必须**| **说明** | +===================+===================+==================+=============+===========================================================================================================================================================================================================+ | 版本号 | version | 定长2位String | 必须 | 固定为10 | +-------------------+-------------------+------------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 消息类型 | cmd\_id | 定长3位String | 必须 | 固定为201 | +-------------------+-------------------+------------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 | +-------------------+-------------------+------------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 用户客户号 | user\_cust\_id | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识 | +-------------------+-------------------+------------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 必须 | 格式为“yyyyMMdd” 注:请和快捷短信发送接口的订单日期一致 | +-------------------+-------------------+------------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 订单号 | order\_id | 变长20位String | 必须 | 由商户的系统生成,订单号和订单日期保证唯一 注:请和快捷短信发送接口的订单号一致 | +-------------------+-------------------+------------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 交易金额 | trans\_amt | 变长14位String | 必须 | 金额格式是###.00 | +-------------------+-------------------+------------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 绑定银行卡ID | bind\_card\_id | 变长20位String | 必须 | 付款人快捷支付时的快捷绑卡的ID (快捷支付时的返回参数) | +-------------------+-------------------+------------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 短信验证码 | sms\_code | 定长6位String | 必须 | 联调测试时默认传111111,生产环境请传真实的验证码 | +-------------------+-------------------+------------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 分账账户串 | div\_detail | 变长String | 必须 | 入账客户传,json格式: [{'divCustId':'6666000000025350','divAcctId':'78276','divAmt':'50.00','divFreezeFg':'00'},{'divCustId':'6666000000025666','divAcctId':'78841','divAmt':'50.00','divFreezeFg':'01'}]| +-------------------+-------------------+------------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 页面返回URL | ret\_url | 变长128位的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 | 可选 | 不能包含特殊字符:<>&'"\|%#\\^- | +-------------------+-------------------+------------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 分账账户串(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 | 变长3位String | 必须 | 固定为201 | +---------------------+------------------+------------------+-------------+-------------------------------------------------------------------------------+ | 应答返回码 | 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 | 必须 | 付款人快捷支付时的快捷绑卡的ID (快捷支付时的返回参数) | +---------------------+------------------+------------------+-------------+-------------------------------------------------------------------------------+ | 短信验证码 | sms\_code | 定长6位String | 可选 | | +---------------------+------------------+------------------+-------------+-------------------------------------------------------------------------------+ | 分账账户串 | div\_detail | 变长String | 可选 | | +---------------------+------------------+------------------+-------------+-------------------------------------------------------------------------------+ | 手续费金额 | fee\_amt | 变长14位String | 可选 | 手续费金额,格式为###.00 | +---------------------+------------------+------------------+-------------+-------------------------------------------------------------------------------+ | 手续费扣款客户号 | fee\_cust\_id | 定长16位String | 可选 | 手续费扣款客户号 | +---------------------+------------------+------------------+-------------+-------------------------------------------------------------------------------+ | 手续费子账户号 | fee\_acct\_id | 变长9位String | 可选 | 手续费扣款子账户号 | +---------------------+------------------+------------------+-------------+-------------------------------------------------------------------------------+ | 页面返回URL | ret\_url | 变长128位的String| 可选 | 交易完成后,本平台系统把交易结果通过页面方式,发送到该地址上 | +---------------------+------------------+------------------+-------------+-------------------------------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位的String| 必须 | 通过后台异步通知商户开户结果 注意: 1) 使用时不要包含中文 2) 必须是外网地址 | +---------------------+------------------+------------------+-------------+-------------------------------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String| 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 | +---------------------+------------------+------------------+-------------+-------------------------------------------------------------------------------+ | 扩展域 | extension | 变长512位的String| 可选 | 用于扩展请求参数 | +---------------------+------------------+------------------+-------------+-------------------------------------------------------------------------------+ 返回码 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +-----------------------------------------------+------------------------------------------------------+ |**返回码** |**返回描述** | +-----------------------------------------------+------------------------------------------------------+ | 201000 | 交易成功 | +-----------------------------------------------+------------------------------------------------------+ | 201002 | 请求已受理 | +-----------------------------------------------+------------------------------------------------------+ | 201003 | 交易失败 | +-----------------------------------------------+------------------------------------------------------+ | 201099 | 系统异常 | +-----------------------------------------------+------------------------------------------------------+ | 201100 | 请求参数非法 | +-----------------------------------------------+------------------------------------------------------+ | 201101 | 商户无此接口权限 | +-----------------------------------------------+------------------------------------------------------+ | 201102 | 验证签名失败 | +-----------------------------------------------+------------------------------------------------------+ | 201103 | 商户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 201104 | 用户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 201105 | 账户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 201107 | 消息类型与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 201108 | 商户客户号与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 201109 | 版本号与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 201110 | 商户号不存在 | +-----------------------------------------------+------------------------------------------------------+ | 201202 | 交易订单号重复 | +-----------------------------------------------+------------------------------------------------------+ | 201204 | 商户配置异常 | +-----------------------------------------------+------------------------------------------------------+ | 201210 | 短信验证码发送过于频繁 | +-----------------------------------------------+------------------------------------------------------+ | 201300 | 不支持此充值银行 | +-----------------------------------------------+------------------------------------------------------+ | 201307 | 该用户未绑定快捷卡 | +-----------------------------------------------+------------------------------------------------------+ | 201314 | 充值手续费账户状态不正常 | +-----------------------------------------------+------------------------------------------------------+ | 201720 | 快捷支付只服务于个人或个体用户 | +-----------------------------------------------+------------------------------------------------------+ | 201721 | 分账串内容不能超过五个 | +-----------------------------------------------+------------------------------------------------------+ | 201722 | 分账串部分字段为空 | +-----------------------------------------------+------------------------------------------------------+ | 201723 | 分账串金额格式错误 | +-----------------------------------------------+------------------------------------------------------+ | 201724 | 分账串累计金额不等于订单金额 | +-----------------------------------------------+------------------------------------------------------+ | 201725 | 分账信息用户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 201726 | 分账信息账户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 201727 | 分账信息异常 | +-----------------------------------------------+------------------------------------------------------+ | 201728 | 分账串账户信息格式错误 | +-----------------------------------------------+------------------------------------------------------+ | 201729 | 分账串账户异常 | +-----------------------------------------------+------------------------------------------------------+ | 201730 | 快捷支付卡有变更,请重新获取验证码 | +-----------------------------------------------+------------------------------------------------------+ | 201731 | 快捷支付分账转账失败 | +-----------------------------------------------+------------------------------------------------------+ | 201732 | 快捷支付分账转账表处理失败 | +-----------------------------------------------+------------------------------------------------------+ | 201733 | 分账支付明细表处理失败 | +-----------------------------------------------+------------------------------------------------------+ | 201734 | 该商户客户号网银支付网关号未配置 | +-----------------------------------------------+------------------------------------------------------+ | 201735 | 商户无目标支付网关权限 | +-----------------------------------------------+------------------------------------------------------+ | 201736 | 快捷支付交易金额不一致 | +-----------------------------------------------+------------------------------------------------------+ | 201737 | 支付明细表处理失败 | +-----------------------------------------------+------------------------------------------------------+ | 201738 | 快捷支付分账串内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 201739 | 快捷支付短信发送异常 | +-----------------------------------------------+------------------------------------------------------+ 代码示例 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ java .. code:: java String valueObj = "{ "version": "10", "cmd_id": "201", "mer_cust_id": "6666000000026086", "user_cust_id": "6666000000026303", "order_id": "2011887094", "order_date": "20180327", "trans_amt": "6.95", "bind_card_id": "1000000085", "sms_code": "111111", "div_detail": "[{'divCustId':'6666000000026185','divAcctId':'79704','divAmt':'6.92','divFreezeFg':'01'},{'divCustId':'6666000000026086','divAcctId':'79506','divAmt':'0.03','divFreezeFg':'00'}]", "bg_ret_url": "http://192.168.0.74:8001/npayCallBack/asyncHandle.json", "ret_url": "", "mer_priv": "test", "extension": "test" }"; String testUrl = "http://192.168.3.170:8083/npay/merchantRequest"; String checkValue = sign(valueObj); String cmdId = "201"; 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": "201", "resp_code": "201000", "resp_desc": "交易成功", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } .. 失败响应: .. code:: json 200 { "cmd_id": "201", "resp_code": "201099", "resp_desc": "交易失败", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } 页面展示 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 快捷支付( WEB 版)接口 ------------------- 功能说明 ~~~~~~~~~~~~~~~~ 跳转到汇付 WEB 页面,进行开户(如未开户),绑卡和快捷支付,或用已绑银行卡直接进行快捷支付 调用方式:页面浏览器 请求参数 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +----------------------+----------------------+---------------------+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **参数中文名称** | **参数名称** | **数据格式** | **是否必须** | **说明** | +======================+======================+=====================+================+==============================================================================================================================================================================+ | 版本号 | version | 定长2位的String | 必须 | 固定为10,如版本升级,能向前兼容 | +----------------------+----------------------+---------------------+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 消息类型 | cmd\_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为206 | +----------------------+----------------------+---------------------+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位的String | 必须 | 商户的唯一标识 | +----------------------+----------------------+---------------------+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 用户客户号 | user\_cust\_id | 定长16位的String | 可选 | 由汇付生成,用户的唯一性标识 | +----------------------+----------------------+---------------------+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 必须 | 格式为“yyyyMMdd” | +----------------------+----------------------+---------------------+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 订单号 | order\_id | 变长20位的String | 必须 | 由商户的系统生成,订单号和订单日期保证唯一 | +----------------------+----------------------+---------------------+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 交易金额 | trans\_amt | 变长14位String | 必须 | 金额格式是###.00 | +----------------------+----------------------+---------------------+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 分账账户串 | div\_detail | 变长String | 可选 | (入账客户号、入账账户号) 和 分账串必填一项,且只能填一项; 分账串定义可参照下表; 注:如果支付时不需要分账给多个人的话,就不要传分账账户串,直接传入账客户号和入账账户号 | +----------------------+----------------------+---------------------+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 入账客户号 | in\_cust\_id | 定长16位String | 可选 | 分账串为空的场合必填 | +----------------------+----------------------+---------------------+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 入账账户号 | in\_acct\_id | 变长9位String | 可选 | 分账串为空的场合必填 | +----------------------+----------------------+---------------------+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 设备号 | device\_info | 变长32位String | 可选 | | +----------------------+----------------------+---------------------+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | IP地址 | ip\_addr | 变长20位String | 可选 | | +----------------------+----------------------+---------------------+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 经纬度 | location\_val | 变长20位String | 可选 | | +----------------------+----------------------+---------------------+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 页面返回URL | ret\_url | 变长128位的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 | 可选 | 不能包含特殊字符:<>&'"\|%#\\^- | +----------------------+----------------------+---------------------+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 分账账户串(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 | 必须 | 固定为206 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 返回码 | resp\_code | 变长String | 必须 | 206000--调用成功,其他见返回码 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 结果描述 | resp\_desc | 变长String | 必须 | 返回描述 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 变长16位的String | 必须 | 由汇付生成,商户的唯一性标识 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 用户客户号 | user\_cust\_id | 变长16位的String | 必须 | 由汇付生成,用户的唯一性标识 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 子账户号 | acct\_id | 变长16位String | 必须 | 由汇付生成,用户的默认子账户号 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 必须 | | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 订单号 | order\_id | 变长20位的String | 必须 | | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 本平台交易唯一标识号 | platform\_seq\_id | 定长18位String | 必须 | 组成规则:8位本平台日期+ 10位系统流水号 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 开户银行代号 | bank\_id | 变长8位String | 必须 | 具体见附件:开户银行代号 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 银行卡号 | card\_no | 变长32位String | 必须 | 返回银行卡号掩码 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 绑定银行卡ID | bind\_card\_id | 变长20位String | 必须 | 本次快捷绑卡的ID | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 交易金额 | trans\_amt | 变长14位String | 必须 | 金额格式是###.00 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 借贷标记 | dc\_flag | 定长1位String | 必须 | 0--借记,储蓄卡 1--贷记,信用卡 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 分账账户串 | div\_detail | 变长String | 可选 | | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 分账客户号 | divCustId | 变长16位String | 必须 | div\_detail参数下的二级参数 分账客户号 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 分账账户号 | divAcctId | 变长9位String | 必须 | div\_detail参数下的二级参数 分账账户号 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 分账金额 | divAmt | 变长14位String | 必须 | div\_detail参数下的二级参数 分账金额,保留两位小数 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 是否冻结标志 | divFreezeFg | 定长2位String | 必须 | div\_detail参数下的二级参数 冻结标志 否:00 是:01 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 手续费金额 | fee\_amt | 变长14位String | 可选 | 手续费金额,格式为###.00 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 手续费扣款客户号 | fee\_cust\_id | 定长16位String | 可选 | 手续费扣款客户号 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 手续费子账户号 | fee\_acct\_id | 变长9位String | 可选 | 手续费扣款子账户号 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 页面返回URL | ret\_url | 变长128位的String | 可选 | 交易完成后,本平台系统把交易结果通过页面方式,发送到该地址上 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位的String | 必须 | 通过后台异步通知商户解冻结果 注意: 1) 使用时不要包含中文 2) 必须是外网地址 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 扩展域 | extension | 变长512位的String | 可选 | | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ 返回码 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +-----------------------------------------------+------------------------------------------------------+ |**返回码** |**返回描述** | +-----------------------------------------------+------------------------------------------------------+ | 206000 | 交易成功 | +-----------------------------------------------+------------------------------------------------------+ | 206002 | 请求已受理 | +-----------------------------------------------+------------------------------------------------------+ | 206099 | 系统异常 | +-----------------------------------------------+------------------------------------------------------+ | 206201 | 页面数据被篡改 | +-----------------------------------------------+------------------------------------------------------+ | 206202 | 交易订单号重复 | +-----------------------------------------------+------------------------------------------------------+ | 206203 | 账户可用余额不足 | +-----------------------------------------------+------------------------------------------------------+ | 206204 | 商户配置异常 | +-----------------------------------------------+------------------------------------------------------+ | 206205 | 短信验证码验证失败 | +-----------------------------------------------+------------------------------------------------------+ | 206206 | 短信验证码发送手机号与验证手机号不一致 | +-----------------------------------------------+------------------------------------------------------+ | 206208 | 短信验证码已失效请重新获取 | +-----------------------------------------------+------------------------------------------------------+ | 206211 | 短信验证码发送失败 | +-----------------------------------------------+------------------------------------------------------+ | 206214 | 查询出现异常 | +-----------------------------------------------+------------------------------------------------------+ | 206215 | 请补录身份信息 | +-----------------------------------------------+------------------------------------------------------+ | 206216 | 短信验证码发送过于频繁或单日发送次数超限 | +-----------------------------------------------+------------------------------------------------------+ | 206301 | 只有个人用户和个体户能快捷支付 | +-----------------------------------------------+------------------------------------------------------+ | 206302 | 商户支付基础信息未配置 | +-----------------------------------------------+------------------------------------------------------+ | 206303 | 支付手续费账户状态不正常 | +-----------------------------------------------+------------------------------------------------------+ | 206304 | 支付手续费未配置 | +-----------------------------------------------+------------------------------------------------------+ | 206306 | 身份证实名验证错误 | +-----------------------------------------------+------------------------------------------------------+ | 206307 | 银行卡信息与上次绑卡信息不一致,请解绑后再提交绑卡 | +-----------------------------------------------+------------------------------------------------------+ | 206308 | 个人用户信息校验失败 | +-----------------------------------------------+------------------------------------------------------+ | 206309 | 开户手续费收取失败 | +-----------------------------------------------+------------------------------------------------------+ | 206311 | 无任何银行信息 | +-----------------------------------------------+------------------------------------------------------+ | 206314 | 验证码发送失败 | +-----------------------------------------------+------------------------------------------------------+ | 206315 | 验证码发送成功 | +-----------------------------------------------+------------------------------------------------------+ | 206317 | 用户有快捷卡正在绑定中,请勿重复绑卡 | +-----------------------------------------------+------------------------------------------------------+ | 206319 | 验证码发送中 | +-----------------------------------------------+------------------------------------------------------+ | 206320 | 银行卡解绑失败 | +-----------------------------------------------+------------------------------------------------------+ | 206321 | 操作超时,请重试 | +-----------------------------------------------+------------------------------------------------------+ | 206322 | 省份地区信息非法 | +-----------------------------------------------+------------------------------------------------------+ | 206324 | 银行卡信息验证失败 | +-----------------------------------------------+------------------------------------------------------+ | 206325 | 银行卡号与银行、卡类型信息不匹配 | +-----------------------------------------------+------------------------------------------------------+ | 206721 | 分账串内容不能超过五个 | +-----------------------------------------------+------------------------------------------------------+ | 206722 | 分账串部分字段为空 | +-----------------------------------------------+------------------------------------------------------+ | 206723 | 分账串金额格式错误 | +-----------------------------------------------+------------------------------------------------------+ | 206724 | 分账串累计金额不等于订单金额 | +-----------------------------------------------+------------------------------------------------------+ | 206725 | 分账信息用户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 206726 | 分账信息账户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 206727 | 分账信息异常 | +-----------------------------------------------+------------------------------------------------------+ | 206728 | 分账串账户信息格式错误 | +-----------------------------------------------+------------------------------------------------------+ | 206729 | 分账串账户异常 | +-----------------------------------------------+------------------------------------------------------+ | 206732 | 分账串客户号信息格式错误 | +-----------------------------------------------+------------------------------------------------------+ | 206739 | 快捷支付短信发送异常 | +-----------------------------------------------+------------------------------------------------------+ | 206741 | 分账串内容重复 | +-----------------------------------------------+------------------------------------------------------+ | 206742 | 快捷支付成功,分账失败 | +-----------------------------------------------+------------------------------------------------------+ | 206743 | 请获取验证码 | +-----------------------------------------------+------------------------------------------------------+ 代码示例 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ java .. code:: java String valueObj = "{ "version": "10", "cmd_id": "206", "mer_cust_id": "6666000000217291", "user_cust_id": "6666000000291215", "order_id": "2010001407", "order_date": "20180201", "trans_amt": "0.02", "bg_ret_url": "http://mertest.chinapnr.com/asharp", "mer_priv": "test_mer_priv", "ret_url": "", "extension": "", "div_detail": "[{'divCustId':'6666000000307920','divAcctId':'310545','divAmt':'0.01','divFreezeFg':'01'},{'divCustId':'6666000000348234','divAcctId':'350858','divAmt':'0.01','divFreezeFg':'00'}]" }"; String testUrl = "http://192.168.3.170:8083/npay/merchantRequest"; String checkValue = sign(valueObj); String cmdId = "206"; 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": "206", "resp_code": "206000", "resp_desc": "交易成功", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } .. 失败响应: .. code:: json 200 { "cmd_id": "206", "resp_code": "206099", "resp_desc": "交易失败", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } 页面展示 ~~~~~~~~~~~~~~~~ **未开户或者未绑卡时页面展示** .. image:: _static/images/206_1.png **已绑卡时页面展示** .. image:: _static/images/206_2.png **成功页面** .. image:: _static/images/206_success.png **失败页面** .. image:: _static/images/206_fail.png 快捷支付( APP 版)接口 -------------------- 功能说明 ~~~~~~~~~~~~~~~~ 跳转到汇付 APP 页面,进行开户(如未开户),绑卡和快捷支付,或用已绑银行卡直接进行快捷支付 调用方式:页面浏览器 请求参数 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +----------------------+----------------------+----------------------+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **参数中文名称** | **参数名称** | **数据格式** | **是否必须** | **说明** | +======================+======================+======================+================+==============================================================================================================================================================================+ | 版本号 | version | 定长2位的String | 必须 | 固定为10,如版本升级,能向前兼容 | +----------------------+----------------------+----------------------+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 消息类型 | cmd\_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为208 | +----------------------+----------------------+----------------------+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位的String | 必须 | 商户的唯一标识 | +----------------------+----------------------+----------------------+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 用户客户号 | user\_cust\_id | 定长16位的String | 可选 | 由汇付生成,用户的唯一性标识 | +----------------------+----------------------+----------------------+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 必须 | 格式为“yyyyMMdd” | +----------------------+----------------------+----------------------+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 订单号 | order\_id | 变长20位的String | 必须 | 由商户的系统生成,订单号和订单日期保证唯一 | +----------------------+----------------------+----------------------+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 交易金额 | trans\_amt | 变长14位String | 必须 | 金额格式是###.00 | +----------------------+----------------------+----------------------+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 分账账户串 | div\_detail | 变长String | 可选 | (入账客户号、入账账户号) 和 分账串必填一项,且只能填一项; 分账串定义可参照下表; 注:如果支付时不需要分账给多个人的话,就不要传分账账户串,直接传入账客户号和入账账户号 | +----------------------+----------------------+----------------------+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 入账客户号 | in\_cust\_id | 定长16位String | 可选 | 分账串为空的场合必填 | +----------------------+----------------------+----------------------+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 入账账户号 | in\_acct\_id | 变长9位String | 可选 | 分账串为空的场合必填 | +----------------------+----------------------+----------------------+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 设备号 | device\_info | 变长32位String | 可选 | | +----------------------+----------------------+----------------------+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | IP地址 | ip\_addr | 变长20位String | 可选 | | +----------------------+----------------------+----------------------+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 经纬度 | location\_val | 变长20位String | 可选 | | +----------------------+----------------------+----------------------+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 页面返回URL | ret\_url | 变长128位的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 | 可选 | 不能包含特殊字符:<>&'"\|%#\\^- | +----------------------+----------------------+----------------------+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 设备信息 | dev\_info\_json | 变长2000位的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 | 必须 | 固定为208 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 返回码 | resp\_code | 变长String | 必须 | 208000--调用成功,其他见返回码 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 结果描述 | resp\_desc | 变长String | 必须 | 返回描述 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 变长16位的String | 必须 | 由汇付生成,商户的唯一性标识 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 用户客户号 | user\_cust\_id | 变长16位的String | 必须 | 由汇付生成,用户的唯一性标识 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 子账户号 | acct\_id | 变长16位String | 必须 | 由汇付生成,用户的默认子账户号 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 必须 | | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 订单号 | order\_id | 变长20位的String | 必须 | | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 本平台交易唯一标识号 | platform\_seq\_id | 定长18位String | 必须 | 组成规则:8位本平台日期+ 10位系统流水号 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 开户银行代号 | bank\_id | 变长8位String | 必须 | 具体见附件:开户银行代号 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 银行卡号 | card\_no | 变长32位String | 必须 | 返回银行卡号掩码 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 绑定银行卡ID | bind\_card\_id | 变长20位String | 必须 | 本次快捷绑卡的ID | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 借贷标记 | dc\_flag | 定长1位String | 必须 | 0--借记,储蓄卡 1--贷记,信用卡 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 交易金额 | trans\_amt | 变长14位String | 必须 | 金额格式是###.00 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 分账账户串 | div\_detail | 变长String | 可选 | | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 手续费金额 | fee\_amt | 变长14位String | 可选 | 手续费金额,格式为###.00 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 手续费扣款客户号 | fee\_cust\_id | 定长16位String | 可选 | 手续费扣款客户号 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 手续费子账户号 | fee\_acct\_id | 变长9位String | 可选 | 手续费扣款子账户号 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 页面返回URL | ret\_url | 变长128位的String | 可选 | 交易完成后,本平台系统把交易结果通过页面方式,发送到该地址上 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位的String | 必须 | 通过后台异步通知商户解冻结果 注意: 1) 使用时不要包含中文 2) 必须是外网地址 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 扩展域 | extension | 变长512位的String | 可选 | | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ 返回码 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +-----------------------------------------------+------------------------------------------------------+ |**返回码** |**返回描述** | +-----------------------------------------------+------------------------------------------------------+ | 208000 | 支付成功 | +-----------------------------------------------+------------------------------------------------------+ | 208001 | 支付请求受理中 | +-----------------------------------------------+------------------------------------------------------+ | 208099 | 系统异常 | +-----------------------------------------------+------------------------------------------------------+ | 208201 | 页面数据被篡改 | +-----------------------------------------------+------------------------------------------------------+ | 208202 | 交易订单号重复 | +-----------------------------------------------+------------------------------------------------------+ | 208203 | 账户可用余额不足 | +-----------------------------------------------+------------------------------------------------------+ | 208204 | 商户配置异常 | +-----------------------------------------------+------------------------------------------------------+ | 208205 | 短信验证码验证失败 | +-----------------------------------------------+------------------------------------------------------+ | 208206 | 短信验证码发送手机号与验证手机号不一致 | +-----------------------------------------------+------------------------------------------------------+ | 208208 | 短信验证码已失效请重新获取 | +-----------------------------------------------+------------------------------------------------------+ | 208211 | 短信验证码发送失败 | +-----------------------------------------------+------------------------------------------------------+ | 208214 | 查询出现异常 | +-----------------------------------------------+------------------------------------------------------+ | 208215 | 请补录身份信息 | +-----------------------------------------------+------------------------------------------------------+ | 208216 | 短信验证码发送过于频繁或单日发送次数超限 | +-----------------------------------------------+------------------------------------------------------+ | 208301 | 只有个人用户和个体户能快捷支付 | +-----------------------------------------------+------------------------------------------------------+ | 208302 | 商户支付基础信息未配置 | +-----------------------------------------------+------------------------------------------------------+ | 208303 | 支付手续费账户状态不正常 | +-----------------------------------------------+------------------------------------------------------+ | 208304 | 支付手续费未配置 | +-----------------------------------------------+------------------------------------------------------+ | 208306 | 身份证实名验证错误 | +-----------------------------------------------+------------------------------------------------------+ | 208307 | 银行卡信息与上次绑卡信息不一致,请解绑后再提交绑卡 | +-----------------------------------------------+------------------------------------------------------+ | 208308 | 个人用户信息校验失败 | +-----------------------------------------------+------------------------------------------------------+ | 208309 | 开户手续费收取失败 | +-----------------------------------------------+------------------------------------------------------+ | 208310 | 该笔交易已结束 | +-----------------------------------------------+------------------------------------------------------+ | 208311 | 无任何银行信息 | +-----------------------------------------------+------------------------------------------------------+ | 208314 | 验证码发送失败 | +-----------------------------------------------+------------------------------------------------------+ | 208315 | 验证码发送成功 | +-----------------------------------------------+------------------------------------------------------+ | 208317 | 用户有快捷卡正在绑定中,请勿重复绑卡 | +-----------------------------------------------+------------------------------------------------------+ | 208319 | 验证码发送中 | +-----------------------------------------------+------------------------------------------------------+ | 208320 | 银行卡解绑失败 | +-----------------------------------------------+------------------------------------------------------+ | 208321 | 操作超时,请重试 | +-----------------------------------------------+------------------------------------------------------+ | 208322 | 省份地区信息非法 | +-----------------------------------------------+------------------------------------------------------+ | 208324 | 银行卡信息验证失败 | +-----------------------------------------------+------------------------------------------------------+ | 208325 | 银行卡号与银行、卡类型信息不匹配 | +-----------------------------------------------+------------------------------------------------------+ | 208721 | 分账串内容不能超过五个 | +-----------------------------------------------+------------------------------------------------------+ | 208722 | 分账串部分字段为空 | +-----------------------------------------------+------------------------------------------------------+ | 208723 | 分账串金额格式错误 | +-----------------------------------------------+------------------------------------------------------+ | 208724 | 分账串累计金额不等于订单金额 | +-----------------------------------------------+------------------------------------------------------+ | 208725 | 分账信息用户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 208726 | 分账信息账户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 208727 | 分账信息异常 | +-----------------------------------------------+------------------------------------------------------+ | 208728 | 分账串账户信息格式错误 | +-----------------------------------------------+------------------------------------------------------+ | 208729 | 分账串账户异常 | +-----------------------------------------------+------------------------------------------------------+ | 208732 | 分账串客户号信息格式错误 | +-----------------------------------------------+------------------------------------------------------+ | 208739 | 快捷支付短信发送异常 | +-----------------------------------------------+------------------------------------------------------+ | 208741 | 分账串内容重复 | +-----------------------------------------------+------------------------------------------------------+ | 208742 | 快捷支付成功,分账失败 | +-----------------------------------------------+------------------------------------------------------+ | 208743 | 请获取验证码 | +-----------------------------------------------+------------------------------------------------------+ 代码示例 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ java .. code:: java String valueObj = "{ "version": "10", "cmd_id": "208", "mer_cust_id": "6666000000026086", "user_cust_id": "6666000000026190", "order_id": "20620000087", "order_date": "20170828", "trans_amt": "6.92", "div_detail": "[{'divCustId':'6666000000026185','divAcctId':'79704','divAmt':'6.92','divFreezeFg':'00'}]", "bg_ret_url": "http://192.168.0.74:8001/npayCallBack/asyncHandle.json", "ret_url": "", "mer_priv": "test", "extension": "test" }"; String testUrl = "http://192.168.3.170:8083/npay/merchantRequest"; String checkValue = sign(valueObj); String cmdId = "208"; 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": "208", "resp_code": "208000", "resp_desc": "交易成功", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } .. 失败响应: .. code:: json 200 { "cmd_id": "208", "resp_code": "208099", "resp_desc": "交易失败", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } 页面展示 ~~~~~~~~~~~~~~~~ **未开户或者未绑卡时页面展示** .. image:: _static/images/208_1.png **已绑卡时页面展示** .. image:: _static/images/208_2.png **成功失败页面展示** .. image:: _static/images/208_result.png 快捷支付统合版短信发送 -------------------- 功能说明 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 本接口需要配合快捷支付统合版支付接口,用于发送快捷短信。 调用方式:系统调用 请求参数 ~~~~~~~~~~~~~~ +----------------------+----------------------+---------------------+------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 参数中文名称 | 参数名称 | 数据格式 | 是否必须 | 说明 | +======================+======================+=====================+============+============================================================================================================================================================+ | 版本号 | version | 定长2位String | 必须 | 目前固定为10 | +----------------------+----------------------+---------------------+------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 消息类型 | cmd\_id | 定长3位String | 必须 | 固定为216 | +----------------------+----------------------+---------------------+------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户客户号 | 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 | +----------------------+----------------------+---------------------+------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 分账账户串 | div\_detail | 变长String | 可选 | 入账客户号和入账账户号为空的时候必填; 分账串格式定义可参照下表; 注:如果支付时不需要分账给多个人的话,就不要传分账账户串,直接传入账客户号和入账账户号 | +----------------------+----------------------+---------------------+------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 入账客户号 | in\_cust\_id | 定长16位String | 可选 | 分账串为空的场合必填 | +----------------------+----------------------+---------------------+------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 入账账户号 | in\_acct\_id | 变长9位String | 可选 | 分账串为空的场合必填 | +----------------------+----------------------+---------------------+------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 银行卡号 | 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 | 可选 | 用于扩展请求参数 | +----------------------+----------------------+---------------------+------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 付款方交易终端类型 | 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 | 可选 | 不能包含特殊字符:<>&'"\|%#\\^- | +----------------------+----------------------+---------------------+------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+ 分账账户串(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 | 变长3位String | 必须 | 固定为216 | +--------------------+------------------+---------------------+------------+-------------------------------------------------------------------------------+ | 应答返回码 | resp\_code | 定长6位String | 必须 | 216000--调用成功,其他见返回码附件表 | +--------------------+------------------+---------------------+------------+-------------------------------------------------------------------------------+ | 应答返回描述 | resp\_desc | 变长String | 必须 | 返回码的对应中文描述 | +--------------------+------------------+---------------------+------------+-------------------------------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 | +--------------------+------------------+---------------------+------------+-------------------------------------------------------------------------------+ | 用户客户号 | user\_cust\_id | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识 | +--------------------+------------------+---------------------+------------+-------------------------------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 | +--------------------+------------------+---------------------+------------+-------------------------------------------------------------------------------+ | 订单号 | order\_id | 变长20位String | 必须 | 由商户生成,必须保证唯一, 20位内的字母或数字组合 | +--------------------+------------------+---------------------+------------+-------------------------------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位的String | 必须 | 通过后台异步通知商户开户结果 注意: 1) 使用时不要包含中文 2) 必须是外网地址 | +--------------------+------------------+---------------------+------------+-------------------------------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 | +--------------------+------------------+---------------------+------------+-------------------------------------------------------------------------------+ | 扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数 | +--------------------+------------------+---------------------+------------+-------------------------------------------------------------------------------+ 返回码 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +-----------------------------------------------+------------------------------------------------------+ |**返回码** |**返回描述** | +-----------------------------------------------+------------------------------------------------------+ | 216000 | 交易成功 | +-----------------------------------------------+------------------------------------------------------+ | 216003 | 交易失败 | +-----------------------------------------------+------------------------------------------------------+ | 216002 | 请求已受理 | +-----------------------------------------------+------------------------------------------------------+ | 216317 | 验证码发送失败 | +-----------------------------------------------+------------------------------------------------------+ | 216318 | 验证码发送成功 | +-----------------------------------------------+------------------------------------------------------+ | 216098 | 系统超时 | +-----------------------------------------------+------------------------------------------------------+ | 216099 | 系统异常 | +-----------------------------------------------+------------------------------------------------------+ | 216100 | 请求参数非法 | +-----------------------------------------------+------------------------------------------------------+ | 216101 | 商户无此接口权限 | +-----------------------------------------------+------------------------------------------------------+ | 216102 | 验证签名失败 | +-----------------------------------------------+------------------------------------------------------+ | 216103 | 商户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 216104 | 用户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 216107 | 消息类型与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 216108 | 商户客户号与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 216109 | 版本号与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 216202 | 交易订单号重复 | +-----------------------------------------------+------------------------------------------------------+ | 216210 | 短信验证码发送过于频繁 | +-----------------------------------------------+------------------------------------------------------+ | 216301 | 省份地区信息非法 | +-----------------------------------------------+------------------------------------------------------+ | 216302 | 只有个人用户和个体户能快捷支付 | +-----------------------------------------------+------------------------------------------------------+ | 216303 | 入账客户号、入账账户号与分账串信息必须输入一项 | +-----------------------------------------------+------------------------------------------------------+ | 216304 | 入账客户号、入账账户号与分账串信息不可同时输入 | +-----------------------------------------------+------------------------------------------------------+ | 216308 | 商户支付基础信息未配置 | +-----------------------------------------------+------------------------------------------------------+ | 216309 | 支付手续费账户状态不正常 | +-----------------------------------------------+------------------------------------------------------+ | 216310 | 支付手续费未配置 | +-----------------------------------------------+------------------------------------------------------+ | 216323 | 支付手续费只能向商户收取 | +-----------------------------------------------+------------------------------------------------------+ | 216727 | 分账信息异常 | +-----------------------------------------------+------------------------------------------------------+ | 216721 | 分账串内容不能超过五个 | +-----------------------------------------------+------------------------------------------------------+ | 216722 | 分账串部分字段为空 | +-----------------------------------------------+------------------------------------------------------+ | 216723 | 分账串金额格式错误 | +-----------------------------------------------+------------------------------------------------------+ | 216728 | 分账串账户信息格式错误 | +-----------------------------------------------+------------------------------------------------------+ | 216729 | 分账串账户异常 | +-----------------------------------------------+------------------------------------------------------+ | 216726 | 分账信息账户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 216725 | 分账信息用户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 216741 | 分账串内容重复 | +-----------------------------------------------+------------------------------------------------------+ | 216732 | 分账串客户号信息格式错误 | +-----------------------------------------------+------------------------------------------------------+ | 216724 | 分账串累计金额不等于订单金额 | +-----------------------------------------------+------------------------------------------------------+ | 216739 | 快捷支付短信发送异常 | +-----------------------------------------------+------------------------------------------------------+ 代码示例 ~~~~~~~~~ java .. code:: java String valueObj = "{ "version": "10", "cmd_id": "216", "mer_cust_id": "6666000000026086", "user_cust_id": "6666000000026303", "order_date": "20180327", "order_id": "2160099077", "trans_amt": "11.06", "div_detail": "[{'divCustId':'6666000000026188','divAcctId':'79710','divAmt':'5.03','divFreezeFg':'00'},{'divCustId':'6666000000026190','divAcctId':'79714','divAmt':'6.03','divFreezeFg':'01'}]", "in_cust_id": "", "in_acct_id": "", "card_no": "4213491201706095", "card_mobile": "12222222222", "card_prov": "0031", "card_area": "3100", "bg_ret_url": "http://192.168.0.74:8001/npayCallBack/asyncHandle.json", "mer_priv": "", "extension": "", "payer_term_type": "", "payer_term_no": "", "payee_term_type": "", "payee_term_no": "", "goods_short_name": "" }"; String testUrl = "http://192.168.3.170:8083/npay/merchantRequest"; String checkValue = sign(valueObj); String cmdId = "216"; 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": "216", "resp_code": "216000", "resp_desc": "交易成功", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } .. 失败响应: .. code:: json 200 { "cmd_id": "216", "resp_code": "216099", "resp_desc": "交易失败", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } 快捷支付统合版支付 -------------------------- 功能说明 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 本接口需要配合快捷支付统合版短信发送接口一起调用,完成绑卡和支付。如果用户已绑卡,不会重复绑卡。 调用方式:页面浏览器 请求参数 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +--------------------+----------------------+---------------------+------------+-----------------------------------------------------------------------------------------+ | 参数中文名称 | 参数名称 | 数据格式 | 是否必须 | 说明 | +====================+======================+=====================+============+=========================================================================================+ | 版本号 | version | 定长2位String | 必须 | 目前固定为10 | +--------------------+----------------------+---------------------+------------+-----------------------------------------------------------------------------------------+ | 消息类型 | cmd\_id | 定长3位String | 必须 | 固定为217 | +--------------------+----------------------+---------------------+------------+-----------------------------------------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 | +--------------------+----------------------+---------------------+------------+-----------------------------------------------------------------------------------------+ | 用户客户号 | user\_cust\_id | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识 | +--------------------+----------------------+---------------------+------------+-----------------------------------------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 **※同快捷支付统合版一阶段的订单日期** | +--------------------+----------------------+---------------------+------------+-----------------------------------------------------------------------------------------+ | 订单号 | order\_id | 变长20位String | 必须 | 由商户生成,必须保证唯一, 20位内的字母或数字组合 **※同快捷支付统合版一阶段的订单号** | +--------------------+----------------------+---------------------+------------+-----------------------------------------------------------------------------------------+ | 短信验证码 | sms\_code | 定长6位String | 必须 | | +--------------------+----------------------+---------------------+------------+-----------------------------------------------------------------------------------------+ | 页面返回URL | ret\_url | 变长128位的String | 可选 | 交易完成后,本平台系统把交易结果通过页面方式,发送到该地址上 | +--------------------+----------------------+---------------------+------------+-----------------------------------------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位的String | 必须 | 通过后台异步通知商户开户结果 注意: 1) 使用时不要包含中文 2) 必须是外网地址 | +--------------------+----------------------+---------------------+------------+-----------------------------------------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 | +--------------------+----------------------+---------------------+------------+-----------------------------------------------------------------------------------------+ | 扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数 | +--------------------+----------------------+---------------------+------------+-----------------------------------------------------------------------------------------+ | 请求类型 | request\_type | 定长2位String | 必须 | 00 : PC端 01 : 移动端 | +--------------------+----------------------+---------------------+------------+-----------------------------------------------------------------------------------------+ | 二级商户号 | secondary\_mer\_id | 定长10位的String | 可选 | 对于开启二级商户模式的商户,必须输入其配下的二级商户号 | +--------------------+----------------------+---------------------+------------+-----------------------------------------------------------------------------------------+ 返回参数 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +------------------------+---------------------+---------------------+------------+-------------------------------------------------------------------------------+ | 参数中文名称 | 参数名称 | 数据格式 | 是否必须 | 说明 | +========================+=====================+=====================+============+===============================================================================+ | 消息类型 | cmd\_id | 变长3位String | 必须 | 固定为217 | +------------------------+---------------------+---------------------+------------+-------------------------------------------------------------------------------+ | 应答返回码 | resp\_code | 定长6位String | 必须 | 217000--调用成功,其他见返回码 | +------------------------+---------------------+---------------------+------------+-------------------------------------------------------------------------------+ | 应答返回描述 | 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位系统流水号 | +------------------------+---------------------+---------------------+------------+-------------------------------------------------------------------------------+ | 短信验证码 | sms\_code | 定长6位String | 必须 | | +------------------------+---------------------+---------------------+------------+-------------------------------------------------------------------------------+ | 入账客户号 | in\_cust\_id | 定长16位String | 可选 | | +------------------------+---------------------+---------------------+------------+-------------------------------------------------------------------------------+ | 入账账户号 | in\_acct\_id | 变长9位String | 可选 | | +------------------------+---------------------+---------------------+------------+-------------------------------------------------------------------------------+ | 开户银行代号 | bank\_id | 变长8位String | 可选 | 具体见附件:开户银行代号 | +------------------------+---------------------+---------------------+------------+-------------------------------------------------------------------------------+ | 银行卡号 | card\_no | 变长32位String | 可选 | 返回银行卡号掩码 | +------------------------+---------------------+---------------------+------------+-------------------------------------------------------------------------------+ | 绑定银行卡ID | bind\_card\_id | 变长20位String | 必须 | 本次快捷绑卡的ID | +------------------------+---------------------+---------------------+------------+-------------------------------------------------------------------------------+ | 交易金额 | trans\_amt | 变长14位String | 必须 | 金额格式是###.00 | +------------------------+---------------------+---------------------+------------+-------------------------------------------------------------------------------+ | 分账账户串 | div\_detail | 变长String | 可选 | | +------------------------+---------------------+---------------------+------------+-------------------------------------------------------------------------------+ | 手续费金额 | fee\_amt | 变长14位String | 可选 | 手续费金额,格式为###.00 | +------------------------+---------------------+---------------------+------------+-------------------------------------------------------------------------------+ | 手续费扣款客户号 | fee\_cust\_id | 定长16位String | 可选 | 手续费扣款客户号 | +------------------------+---------------------+---------------------+------------+-------------------------------------------------------------------------------+ | 手续费子账户号 | fee\_acct\_id | 变长9位String | 可选 | 手续费扣款子账户号 | +------------------------+---------------------+---------------------+------------+-------------------------------------------------------------------------------+ | 页面返回URL | ret\_url | 变长128位的String | 可选 | 交易完成后,本平台系统把交易结果通过页面方式,发送到该地址上 | +------------------------+---------------------+---------------------+------------+-------------------------------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位的String | 必须 | 通过后台异步通知商户开户结果 注意: 1) 使用时不要包含中文 2) 必须是外网地址 | +------------------------+---------------------+---------------------+------------+-------------------------------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 | +------------------------+---------------------+---------------------+------------+-------------------------------------------------------------------------------+ | 扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数 | +------------------------+---------------------+---------------------+------------+-------------------------------------------------------------------------------+ 返回码 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +-----------------------------------------------+------------------------------------------------------+ |**返回码** |**返回描述** | +-----------------------------------------------+------------------------------------------------------+ | 217000 | 交易成功 | +-----------------------------------------------+------------------------------------------------------+ | 217002 | 请求已受理 | +-----------------------------------------------+------------------------------------------------------+ | 217003 | 交易失败 | +-----------------------------------------------+------------------------------------------------------+ | 217098 | 系统超时 | +-----------------------------------------------+------------------------------------------------------+ | 217099 | 系统异常 | +-----------------------------------------------+------------------------------------------------------+ | 217100 | 请求参数非法 | +-----------------------------------------------+------------------------------------------------------+ | 217101 | 商户无此接口权限 | +-----------------------------------------------+------------------------------------------------------+ | 217102 | 验证签名失败 | +-----------------------------------------------+------------------------------------------------------+ | 217103 | 商户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 217104 | 用户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 217107 | 消息类型与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 217108 | 商户客户号与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 217109 | 版本号与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 217201 | 页面数据被篡改 | +-----------------------------------------------+------------------------------------------------------+ | 217202 | 交易订单号重复 | +-----------------------------------------------+------------------------------------------------------+ | 217204 | 商户配置异常 | +-----------------------------------------------+------------------------------------------------------+ | 217302 | 只有个人用户和个体户能快捷支付 | +-----------------------------------------------+------------------------------------------------------+ | 217308 | 商户支付基础信息未配置 | +-----------------------------------------------+------------------------------------------------------+ | 217309 | 支付手续费账户状态不正常 | +-----------------------------------------------+------------------------------------------------------+ | 217310 | 支付手续费未配置 | +-----------------------------------------------+------------------------------------------------------+ | 217312 | 操作超时,请重试 | +-----------------------------------------------+------------------------------------------------------+ | 217313 | 请获取验证码 | +-----------------------------------------------+------------------------------------------------------+ | 217315 | 银行卡号与银行、卡类型信息不匹配 | +-----------------------------------------------+------------------------------------------------------+ | 217320 | 用户有快捷卡正在绑定中,请勿重复绑卡 | +-----------------------------------------------+------------------------------------------------------+ | 217323 | 支付手续费只能向商户收取 | +-----------------------------------------------+------------------------------------------------------+ | 217743 | 请获取验证码 | +-----------------------------------------------+------------------------------------------------------+ | 217744 | 信息更新异常 | +-----------------------------------------------+------------------------------------------------------+ 代码示例 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ java .. code:: java String valueObj = "{ "version": "10", "cmd_id": "217", "mer_cust_id": "6666000000217291", "user_cust_id": "6666000000291215", "order_date": "20170831", "order_id": "2160099052", "sms_code": "111111", "bg_ret_url": "http://192.168.0.74:8001/npayCallBack/asyncHandle.json", "mer_priv": "", "extension": "", "ret_url": "", "request_type": "00" }"; String testUrl = "http://192.168.3.170:8083/npay/merchantRequest"; String checkValue = sign(valueObj); String cmdId = "217"; 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": "217", "resp_code": "217000", "resp_desc": "交易成功", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } .. 失败响应: .. code:: json 200 { "cmd_id": "217", "resp_code": "217099", "resp_desc": "交易失败", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } 快捷支付后台版 -------------------------- 功能说明 ~~~~~~~~~~~~~~~~ 快捷支付是从用户事先绑定好的银行卡里,扣取订单金额到指定的账户。此接口第一次调用是发送快捷支付短信,第二次调用是确认支付。 调用方式:系统调用 请求参数 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +--------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **参数中文名称** | **参数名称** | **数据格式** | **是否必须** | **说明** | +====================+=====================+===================+================+=============================================================================================================================================================================================================================================================================================================+ | 版本号 | version | 定长2位String | 必须 | 10 | +--------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 消息类型 | cmd\_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为850 | +--------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户客户号 | 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 | 必须 | 02020006: 二阶段快捷 | +--------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 交易类型 | trans\_type | 定长8位String | 必须 | 02020101:支付 | +--------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 交易金额 | 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 | 可选 | | +--------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 短信验证码 | sms\_code | 定长6位String | 可选 | 与快捷绑卡时的银行预留手机号对应的短信验证码 | +--------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 代扣签约流水 | sign\_seq\_id | 变长18位String | 可选 | 代扣签约订单唯一标识,代扣充值必传,其他充值不需传 不需要 | +--------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 银行卡号 | card\_no | 变长32位String | 可选 | 代扣支付使用的卡号,不传时默认使用最新绑定的代扣卡 | +--------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 阶段标志 | step\_flag | 定长2位String | 必须 | 01:快捷支付请求 | +--------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 业务请求流水 | biz\_trans\_id | 变长20位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 | 必须 | 每一种消息类型代表一种交易,此处为850 | +------------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 应答返回码 | resp\_code | 定长6位String | 必须 | 850000--调用成功,其他见:返回码表 | +------------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 应答返回描述 | 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:支付 | +------------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 充值类型 | recharge\_type | 定长8位String | 可选 | 02020000: 个人网银 02020001: 企业网银 | +------------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 交易金额 | trans\_amt | 变长14位String | 必须 | 交易金额,格式为###.00 | +------------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 入账客户号 | in\_cust\_id | 定长16位String | 可选 | 业务类型为支付时必传,且入账客户号不能是充值客户本人 | +------------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 手续费金额 | 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 | 可选 | 代扣支付使用的卡号,不传时默认使用最新绑定的代扣卡 | +------------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 阶段标志 | step\_flag | 定长2位String | 可选 | 01:快捷支付请求02:快捷支付确认充值类型为二段式快捷时必填 | +------------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 业务请求流水 | biz\_trans\_id | 变长20位String | 可选 | 标志一个二段式快捷请求,商户下判断唯一,只能是数字和字母充值类型为二段式快捷时必填 | +------------------------+---------------------+-------------------+----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+ 返回码 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +-----------------------------------------------+------------------------------------------------------+ |**返回码** |**返回描述** | +-----------------------------------------------+------------------------------------------------------+ | 850000 | 交易成功 | +-----------------------------------------------+------------------------------------------------------+ | 850001 | 交易处理中 | +-----------------------------------------------+------------------------------------------------------+ | 850002 | 请求已受理 | +-----------------------------------------------+------------------------------------------------------+ | 850003 | 交易失败 | +-----------------------------------------------+------------------------------------------------------+ | 850099 | 系统异常 | +-----------------------------------------------+------------------------------------------------------+ | 850100 | 请求参数非法 | +-----------------------------------------------+------------------------------------------------------+ | 850101 | 商户无此接口权限 | +-----------------------------------------------+------------------------------------------------------+ | 850102 | 验证签名失败 | +-----------------------------------------------+------------------------------------------------------+ | 850103 | 商户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 850104 | 用户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 850107 | 消息类型与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 850108 | 商户客户号与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 850109 | 版本号与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 850110 | 商户号不存在 | +-----------------------------------------------+------------------------------------------------------+ | 850111 | 用户客户号不存在 | +-----------------------------------------------+------------------------------------------------------+ | 850202 | 交易订单号重复 | +-----------------------------------------------+------------------------------------------------------+ | 850204 | 商户配置异常 | +-----------------------------------------------+------------------------------------------------------+ | 850228 | (入账客户号、入账账户号)与分账串信息必须输入一项 | +-----------------------------------------------+------------------------------------------------------+ | 850230 | 入账客户号和入账账户号必须同时输入 | +-----------------------------------------------+------------------------------------------------------+ | 850231 | 入账用户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 850303 | 商户支付基础信息未配置 | +-----------------------------------------------+------------------------------------------------------+ | 850305 | 入账客户信息不正确 | +-----------------------------------------------+------------------------------------------------------+ | 850306 | 入账分账串信息不正确 | +-----------------------------------------------+------------------------------------------------------+ | 850307 | 该用户未绑定快捷卡 | +-----------------------------------------------+------------------------------------------------------+ | 850313 | 该充值银行与用户快捷或代扣卡不匹配 | +-----------------------------------------------+------------------------------------------------------+ | 850314 | 支付手续费账户状态不正常 | +-----------------------------------------------+------------------------------------------------------+ | 850319 | 快捷卡不存在或状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 850321 | 支付手续费未配置 | +-----------------------------------------------+------------------------------------------------------+ | 850329 | 理财账户不允许进行支付,分账和作为手续费! | +-----------------------------------------------+------------------------------------------------------+ | 850727 | 分账信息异常 | +-----------------------------------------------+------------------------------------------------------+ | 850733 | 分账支付明细处理失败 | +-----------------------------------------------+------------------------------------------------------+ | 850737 | 支付明细处理失败 | +-----------------------------------------------+------------------------------------------------------+ | 850739 | 快捷支付短信发送异常 | +-----------------------------------------------+------------------------------------------------------+ | 850748 | 二级商户号不存在 | +-----------------------------------------------+------------------------------------------------------+ | 850749 | 二级商户号状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 850315 | 手续费金额不得大于等于交易金额 | +-----------------------------------------------+------------------------------------------------------+ 代码示例 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ java .. code:: java String valueObj = "{ "version": "10", "cmd_id": "850", "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": "", "ret_url": "", "step_flag": "", "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 = "850"; 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": "850", "resp_code": "850000", "resp_desc": "交易成功", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } .. 失败响应: .. code:: json 200 { "cmd_id": "850", "resp_code": "850099", "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 | 该银行卡未被绑定为快捷卡 | +-----------------------------------------------+------------------------------------------------------+ 无卡收款短信发送接口 ------------ 功能说明 ~~~~~~~~~~~~~~~~ 发送短信验证码,以便在进行后续无卡收款中验证该短信验证码 调用方式:系统调用 请求参数 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +----------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **参数中文名称** | **参数名称** | **数据格式** | **是否必须** | **说明** | +======================+======================+=====================+================+=====================================================================================================================================================================================================================================================+ | 版本号 | version | 定长2位String | 必须 | 目前固定为10 | +----------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 消息类型 | cmd\_id | 定长3位String | 必须 | 固定230 | +----------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户客户号 | 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 | 必须 | 快捷/代扣支付时,必传 | +----------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 分账账户串 | div\_detail | 变长String | 必须 | 业务类型为支付时必传,分账账户必须是入账客户的账户 数据格式: [{'divCustId':'6666000000025350','divAcctId':'78276','divAmt':'50.00','divFreezeFg':'00'},{'divCustId':'6666000000025666','divAcctId':'78841','divAmt':'50.00','divFreezeFg':'01'}] | +----------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 分账客户号 | divCustId | 变长16位String | 必须 | div\_detail参数下的二级参数 分账客户号 | +----------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 分账账户号 | divAcctId | 变长9位String | 必须 | div\_detail参数下的二级参数 分账账户号 | +----------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 分账金额 | divAmt | 变长14位String | 必须 | div\_detail参数下的二级参数 分账金额,保留两位小数 | +----------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 是否冻结标志 | divFreezeFg | 定长2位String | 必须 | div\_detail参数下的二级参数 冻结标志 否:00 是:01 | +----------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位的String | 必须 | 通过后台异步通知商户短信发送结果 注意: 1) 使用时不要包含中文 2) 必须是外网地址 | +----------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 | +----------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 扩展域 | extension | 变长512位的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 | 变长3位String | 必须 | 每一种消息类型代表一种交易,此处为230 | +------------------------+---------------------+---------------------+----------------+----------------------------------------------------------+ | 应答返回码 | resp\_code | 定长6位String | 必须 | 230000--调用成功,其他见返回码附件表 | +------------------------+---------------------+---------------------+----------------+----------------------------------------------------------+ | 应答返回描述 | resp\_desc | 变长String | 必须 | 返回码的对应中文描述 | +------------------------+---------------------+---------------------+----------------+----------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 | +------------------------+---------------------+---------------------+----------------+----------------------------------------------------------+ | 用户客户号 | user\_cust\_id | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识 | +------------------------+---------------------+---------------------+----------------+----------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 | +------------------------+---------------------+---------------------+----------------+----------------------------------------------------------+ | 订单号 | order\_id | 变长20位String | 必须 | 由商户生成,必须保证唯一,20位内的字母或数字组合 | +------------------------+---------------------+---------------------+----------------+----------------------------------------------------------+ | 本平台交易唯一标识号 | platform\_seq\_id | 定长18位String | 必须 | 组成规则:8位本平台日期+10位系统流水号 | +------------------------+---------------------+---------------------+----------------+----------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位的String | 必须 | 通过后台异步通知商户开户结果 | +------------------------+---------------------+---------------------+----------------+----------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 | +------------------------+---------------------+---------------------+----------------+----------------------------------------------------------+ | 扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数 | +------------------------+---------------------+---------------------+----------------+----------------------------------------------------------+ 返回码 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +-----------------------------------------------+------------------------------------------------------+ |**返回码** |**返回描述** | +-----------------------------------------------+------------------------------------------------------+ | 230000 | 交易成功 | +-----------------------------------------------+------------------------------------------------------+ | 230002 | 请求已受理 | +-----------------------------------------------+------------------------------------------------------+ | 230003 | 交易失败 | +-----------------------------------------------+------------------------------------------------------+ | 230098 | 系统超时 | +-----------------------------------------------+------------------------------------------------------+ | 230099 | 系统异常 | +-----------------------------------------------+------------------------------------------------------+ | 230100 | 请求参数非法 | +-----------------------------------------------+------------------------------------------------------+ | 230101 | 商户无此接口权限 | +-----------------------------------------------+------------------------------------------------------+ | 230102 | 验证签名失败 | +-----------------------------------------------+------------------------------------------------------+ | 230103 | 商户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 230104 | 用户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 230107 | 消息类型与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 230108 | 商户客户号与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 230109 | 版本号与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 230110 | 商户号不存在 | +-----------------------------------------------+------------------------------------------------------+ | 230302 | 不支持此支付类型 | +-----------------------------------------------+------------------------------------------------------+ | 230307 | 该用户未绑定快捷卡 | +-----------------------------------------------+------------------------------------------------------+ | 230720 | 快捷支付只服务于个人或个体用户 | +-----------------------------------------------+------------------------------------------------------+ | 230721 | 分账串内容不能超过五个 | +-----------------------------------------------+------------------------------------------------------+ | 230722 | 分账串部分字段为空 | +-----------------------------------------------+------------------------------------------------------+ | 230723 | 分账串金额格式错误 | +-----------------------------------------------+------------------------------------------------------+ | 230724 | 分账串累计金额不等于订单金额 | +-----------------------------------------------+------------------------------------------------------+ | 230725 | 分账信息用户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 230726 | 分账信息账户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 230727 | 分账信息异常 | +-----------------------------------------------+------------------------------------------------------+ | 230728 | 分账串账户信息格式错误 | +-----------------------------------------------+------------------------------------------------------+ | 230729 | 分账串账户异常 | +-----------------------------------------------+------------------------------------------------------+ | 230739 | 快捷支付短信发送异常 | +-----------------------------------------------+------------------------------------------------------+ 代码示例 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ java .. code:: java String valueObj = "{ "version": "10", "cmd_id": "230", "mer_cust_id": "6666000000026086", "user_cust_id": "6666000000026303", "order_id": "2011887095", "order_date": "20180327", "trans_amt": "6.95", "bind_card_id": "1000000085", "div_detail": "[{'divCustId':'6666000000026185','divAcctId':'79704','divAmt':'6.92','divFreezeFg':'01'},{'divCustId':'6666000000026086','divAcctId':'79506','divAmt':'0.03','divFreezeFg':'00'}]", "bg_ret_url": "http://192.168.0.74:8001/npayCallBack/asyncHandle.json", "ret_url": "", "mer_priv": "test", "extension": "test", "payer_term_type": "01", "payee_term_no": "payee_term_no", "payer_term_no": "test_payer_term_no", "payee_term_type": "02", "goods_short_name": "goods_short_name" }"; String testUrl = "http://192.168.3.170:8083/npay/merchantRequest"; String checkValue = sign(valueObj); String cmdId = "230"; 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": "230", "resp_code": "230000", "resp_desc": "交易成功", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } .. 失败响应: .. code:: json 200 { "cmd_id": "230", "resp_code": "230099", "resp_desc": "交易失败", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } 无卡收款接口 ------------ 功能说明 ~~~~~~~~~~~~~~~~ 无卡收款接口是为了支持个人用户小额收款的支付需求。 调用方式:页面浏览器 请求参数 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +----------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **参数中文名称** | **参数名称** | **数据格式** | **是否必须** | **说明** | +======================+======================+=====================+================+=====================================================================================================================================================================================================================================================+ | 版本号 | version | 定长2位String | 必须 | 目前固定为10 | +----------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 消息类型 | cmd\_id | 定长3位String | 必须 | 固定为231 | +----------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 | +----------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 用户客户号 | user\_cust\_id | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识 | +----------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 必须 | 格式为“yyyyMMdd” 注:请和一阶段快捷支付短信发送接口的订单日期一致 | +----------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 订单号 | order\_id | 变长20位String | 必须 | 由商户的系统生成,订单号和订单日期保证唯一 注:请和一阶段快捷支付短信发送接口的订单号一致 | +----------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 收款金额 | trans\_amt | 变长14位String | 必须 | 金额格式是###.00 | +----------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 绑定银行卡ID | bind\_card\_id | 变长20位String | 必须 | | +----------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 短信验证码 | sms\_code | 定长6位String | 必须 | | +----------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 分账账户串 | div\_detail | 变长String | 必须 | 业务类型为支付时必传,分账账户必须是入账客户的账户 数据格式: [{'divCustId':'6666000000025350','divAcctId':'78276','divAmt':'50.00','divFreezeFg':'00'},{'divCustId':'6666000000025666','divAcctId':'78841','divAmt':'50.00','divFreezeFg':'01'}] | +----------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 分账客户号 | divCustId | 变长16位String | 必须 | div\_detail参数下的二级参数 分账客户号 | +----------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 分账账户号 | divAcctId | 变长9位String | 必须 | div\_detail参数下的二级参数 分账账户号 | +----------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 分账金额 | divAmt | 变长14位String | 必须 | div\_detail参数下的二级参数 分账金额,保留两位小数 | +----------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 是否冻结标志 | divFreezeFg | 定长2位String | 必须 | div\_detail参数下的二级参数 冻结标志 否:00 是:01 | +----------------------+----------------------+---------------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 页面返回URL | ret\_url | 变长128位的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 | 变长3位String | 必须 | 每一种消息类型代表一种交易,此处为231 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 应答返回码 | resp\_code | 定长6位String | 必须 | 231000--调用成功,其他见返回码附件表 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 应答返回描述 | 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 | 必须 | | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 短信验证码 | sms\_code | 定长6位String | 可选 | 二阶段支付,返回,与快捷绑卡时的银行预留手机号对应的短信验证码 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 分账账户串 | div\_detail | 变长String | 可选 | | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 分账客户号 | divCustId | 变长16位String | 可选 | div\_detail参数下的二级参数 分账客户号 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 分账账户号 | divAcctId | 变长9位String | 可选 | div\_detail参数下的二级参数 分账账户号 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 分账金额 | divAmt | 变长14位String | 可选 | div\_detail参数下的二级参数 分账金额,保留两位小数 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 冻结标志 | divFreezeFg | 定长2位String | 可选 | div\_detail参数下的二级参数 冻结标志 否:00 是:01 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 手续费金额 | fee\_amt | 变长14位String | 可选 | 手续费金额,格式为###.00 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 手续费扣款客户号 | fee\_cust\_id | 定长16位String | 可选 | 手续费扣款客户号 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 手续费子账户号 | fee\_acct\_id | 变长9位String | 可选 | 手续费扣款子账户号 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 页面返回URL | ret\_url | 变长128位的String | 可选 | 交易完成后,本平台系统把交易结果通过页面方式,发送到该地址上 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位的String | 必须 | 通过后台异步通知商户开户结果 注意: 1) 使用时不要包含中文 2) 必须是外网地址 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ | 扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数 | +------------------------+---------------------+---------------------+----------------+-------------------------------------------------------------------------------+ 返回码 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +-----------------------------------------------+------------------------------------------------------+ |**返回码** |**返回描述** | +-----------------------------------------------+------------------------------------------------------+ | 231000 | 交易成功 | +-----------------------------------------------+------------------------------------------------------+ | 231002 | 请求已受理 | +-----------------------------------------------+------------------------------------------------------+ | 231003 | 交易失败 | +-----------------------------------------------+------------------------------------------------------+ | 231099 | 系统异常 | +-----------------------------------------------+------------------------------------------------------+ | 231100 | 请求参数非法 | +-----------------------------------------------+------------------------------------------------------+ | 231101 | 商户无此接口权限 | +-----------------------------------------------+------------------------------------------------------+ | 231102 | 验证签名失败 | +-----------------------------------------------+------------------------------------------------------+ | 231103 | 商户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 231104 | 用户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 231105 | 账户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 231107 | 消息类型与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 231108 | 商户客户号与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 231109 | 版本号与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 231110 | 商户号不存在 | +-----------------------------------------------+------------------------------------------------------+ | 231202 | 交易订单号重复 | +-----------------------------------------------+------------------------------------------------------+ | 231204 | 商户配置异常 | +-----------------------------------------------+------------------------------------------------------+ | 231210 | 短信验证码发送过于频繁 | +-----------------------------------------------+------------------------------------------------------+ | 231300 | 不支持此充值银行 | +-----------------------------------------------+------------------------------------------------------+ | 231307 | 该用户未绑定快捷卡 | +-----------------------------------------------+------------------------------------------------------+ | 231314 | 充值手续费账户状态不正常 | +-----------------------------------------------+------------------------------------------------------+ | 231720 | 快捷支付只服务于个人或个体用户 | +-----------------------------------------------+------------------------------------------------------+ | 231721 | 分账串内容不能超过五个 | +-----------------------------------------------+------------------------------------------------------+ | 231722 | 分账串部分字段为空 | +-----------------------------------------------+------------------------------------------------------+ | 231723 | 分账串金额格式错误 | +-----------------------------------------------+------------------------------------------------------+ | 231724 | 分账串累计金额不等于订单金额 | +-----------------------------------------------+------------------------------------------------------+ | 231725 | 分账信息用户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 231726 | 分账信息账户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 231727 | 分账信息异常 | +-----------------------------------------------+------------------------------------------------------+ | 231728 | 分账串账户信息格式错误 | +-----------------------------------------------+------------------------------------------------------+ | 231729 | 分账串账户异常 | +-----------------------------------------------+------------------------------------------------------+ | 231730 | 快捷支付卡有变更,请重新获取验证码 | +-----------------------------------------------+------------------------------------------------------+ | 231731 | 快捷支付分账转账失败 | +-----------------------------------------------+------------------------------------------------------+ | 231732 | 快捷支付分账转账表处理失败 | +-----------------------------------------------+------------------------------------------------------+ | 231733 | 分账支付明细表处理失败 | +-----------------------------------------------+------------------------------------------------------+ | 231734 | 该商户客户号网银支付网关号未配置 | +-----------------------------------------------+------------------------------------------------------+ | 231735 | 商户无目标支付网关权限 | +-----------------------------------------------+------------------------------------------------------+ | 231736 | 快捷支付交易金额不一致 | +-----------------------------------------------+------------------------------------------------------+ | 231737 | 支付明细表处理失败 | +-----------------------------------------------+------------------------------------------------------+ | 231738 | 快捷支付分账串内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 231739 | 快捷支付短信发送异常 | +-----------------------------------------------+------------------------------------------------------+ 代码示例 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ java .. code:: java String valueObj = "{ "version": "10", "cmd_id": "231", "mer_cust_id": "6666000000026086", "user_cust_id": "6666000000026303", "order_id": "2011887094", "order_date": "20180327", "trans_amt": "6.95", "bind_card_id": "1000000085", "sms_code": "111111", "div_detail": "[{'divCustId':'6666000000026185','divAcctId':'79704','divAmt':'6.92','divFreezeFg':'01'},{'divCustId':'6666000000026086','divAcctId':'79506','divAmt':'0.03','divFreezeFg':'00'}]", "bg_ret_url": "http://192.168.0.74:8001/npayCallBack/asyncHandle.json", "ret_url": "", "mer_priv": "test", "extension": "test" }"; String testUrl = "http://192.168.3.170:8083/npay/merchantRequest"; String checkValue = sign(valueObj); String cmdId = "231"; 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": "231", "resp_code": "231000", "resp_desc": "交易成功", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... } .. 失败响应: .. code:: json 200 { "cmd_id": "231", "resp_code": "231099", "resp_desc": "交易失败", "mer_cust_id" : "6666000000026086", "order_date": "20180327", "order_id": "10000000001", ....... }