微信支付宝类接口 ================================= 扫码支付接口 ------------ 功能说明 ~~~~~~~~~~~~~~~~ 调用本接口后,跳转二维码页面,用户使用支付宝或者微信扫码支付。 调用方式:页面浏览器 请求参数 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +--------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 参数中文名称 | 参数名称 | 数据格式 | 是否必须 | 说明 | +====================+=======================+=====================+============+=====================================================================================================================================================================================================================================================+ | 版本号 | version | 定长2位String | 必须 | 目前固定为10 | +--------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 消息类型 | cmd\_id | 定长3位String | 必须 | 209 | +--------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户客户号 | mer\_cust\_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 | +--------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 用户客户号 | user\_cust\_id | 定长16位String | 可选 | 由汇付生成,用户的唯一性标识 | +--------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 订单日期 | order\_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 | +--------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 订单号 | order\_id | 变长20位String | 必须 | 由商户生成,必须保证唯一, 20位内的字母或数字组合 | +--------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商品描述 | goods\_desc | 变长127位String | 必须 | | +--------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 二维码支付类型 | pay\_type | 定长2位String | 必须 | 04 : 微信 05 : 支付宝 | +--------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 请求类型 | request\_type | 定长2位String | 必须 | 00 : PC端(汇付页面显示二维码) 01 : 移动端(汇付页面显示二维码) 02:返回商户ret\_url,由商户自己根据qrcode\_url生成二维码 如果需要直接返回二维码地址,请对接APP支付接口(218) | +--------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 交易金额 | trans\_amt | 变长14位String | 必须 | 金额格式是###.00 | +--------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 分账账户串 | div\_detail | 变长String | 必须 | 业务类型为支付时必传,分账账户必须是入账客户的账户 数据格式: [{'divCustId':'6666000000025350','divAcctId':'78276','divAmt':'50.00','divFreezeFg':'00'},{'divCustId':'6666000000025666','divAcctId':'78841','divAmt':'50.00','divFreezeFg':'01'}] | +--------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 操作员 | oper\_user\_Id | 变长32位String | 可选 | | +--------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商品类型 | goods\_type | 变长32位String | 可选 | | +--------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 订单超时时间 | order\_expire\_time | 变长12位String | 可选 | 单位秒 | +--------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 设备号 | device\_info | 变长32位String | 可选 | | +--------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户前台应答地址 | ret\_url | 变长128位的String | 可选 | 请求类型为后端时,必须输入 | +--------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位的String | 必须 | 通过后台异步通知结果 注意: 1) 使用时不要包含中文 2) 必须是外网地址 | +--------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 | +--------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数 | +--------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 二级商户号 | secondary\_mer\_id | 定长10位的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 | 必须 | 209 | +------------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 应答返回码 | resp\_code | 定长6位String | 必须 | 209000--调用成功,其他见返回码 | +------------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 应答返回描述 | resp\_desc | 变长String | 必须 | 返回码的对应中文描述 | +------------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 银行返回码 | bg\_bank\_code | 变长32位String | 可选 | | +------------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 银行返回描述 | bg\_bank\_message | 变长200位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位系统流水号 | +------------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商品描述 | goods\_desc | 变长1024位String | 必须 | | +------------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 二维码支付类型 | pay\_type | 定长2位String | 必须 | 04 : 微信 05 : 支付宝 | +------------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 请求类型 | request\_type | 定长2位String | 必须 | 00 : PC端(汇付页面显示二维码) 01 : 移动端(汇付页面显示二维码) 02:返回商户ret\_url,由商户自己根据qrcode\_url生成二维码 | +------------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 交易金额 | trans\_amt | 变长14位String | 必须 | 金额格式是###.00 | +------------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 分账账户串 | div\_detail | 变长String | 必须 | 业务类型为支付时必传,分账账户必须是入账客户的账户 数据格式: [{'divCustId':'6666000000025350','divAcctId':'78276','divAmt':'50.00','divFreezeFg':'00'},{'divCustId':'6666000000025666','divAcctId':'78841','divAmt':'50.00','divFreezeFg':'01'}] | +------------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 二维码链接 | qrcode\_url | 变长128位String | 可选 | | +------------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 操作员 | oper\_user\_id | 变长32位String | 可选 | | +------------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商品类型 | goods\_type | 变长32位String | 可选 | | +------------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 订单超时时间 | order\_expire\_time | 固定14位String | 可选 | 格式为YYYYMMDDHHmmss | +------------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 设备号 | device\_info | 变长32位String | 可选 | | +------------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 外部订单流水号 | out\_trans\_id | 变长64位String | 可选 | 外部订单流水号,指支付宝、微信、银联流水号 | +------------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户前台应答地址 | ret\_url | 变长128位的String | 可选 | 请求类型为后端时,必须输入 | +------------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户后台应答地址 | bg\_ret\_url | 变长128位的String | 必须 | 通过后台异步通知结果 注意: 1) 使用时不要包含中文 2) 必须是外网地址 | +------------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 商户私有域 | mer\_priv | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 | +------------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数 | +------------------------+-----------------------+---------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 返回码 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +-----------------------------------------------+------------------------------------------------------+ |**返回码** |**返回描述** | +-----------------------------------------------+------------------------------------------------------+ | 209000 | 交易成功 | +-----------------------------------------------+------------------------------------------------------+ | 209002 | 请求已受理 | +-----------------------------------------------+------------------------------------------------------+ | 209003 | 交易失败 | +-----------------------------------------------+------------------------------------------------------+ | 209004 | 交易关闭 | +-----------------------------------------------+------------------------------------------------------+ | 209098 | 系统超时 | +-----------------------------------------------+------------------------------------------------------+ | 209099 | 系统异常 | +-----------------------------------------------+------------------------------------------------------+ | 209100 | 请求参数非法 | +-----------------------------------------------+------------------------------------------------------+ | 209101 | 商户无此接口权限 | +-----------------------------------------------+------------------------------------------------------+ | 209102 | 验证签名失败 | +-----------------------------------------------+------------------------------------------------------+ | 209103 | 商户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 209104 | 用户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 209107 | 消息类型与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 209108 | 商户客户号与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 209109 | 版本号与签名内容不一致 | +-----------------------------------------------+------------------------------------------------------+ | 209110 | 商户号不存在 | +-----------------------------------------------+------------------------------------------------------+ | 209104 | 用户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 209105 | 账户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 209727 | 分账信息异常 | +-----------------------------------------------+------------------------------------------------------+ | 209721 | 分账串内容不能超过五个 | +-----------------------------------------------+------------------------------------------------------+ | 209722 | 分账串部分字段为空 | +-----------------------------------------------+------------------------------------------------------+ | 209723 | 分账串金额格式错误 | +-----------------------------------------------+------------------------------------------------------+ | 209728 | 分账串账户信息格式错误 | +-----------------------------------------------+------------------------------------------------------+ | 209729 | 分账串账户异常 | +-----------------------------------------------+------------------------------------------------------+ | 209726 | 分账信息账户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 209725 | 分账信息用户状态异常 | +-----------------------------------------------+------------------------------------------------------+ | 209741 | 分账串内容重复 | +-----------------------------------------------+------------------------------------------------------+ | 209732 | 分账串客户号信息格式错误 | +-----------------------------------------------+------------------------------------------------------+ | 209724 | 分账串累计金额不等于订单金额 | +-----------------------------------------------+------------------------------------------------------+ | 209202 | 交易订单号重复 | +-----------------------------------------------+------------------------------------------------------+ | 209744 | 商户不支持扫码支付 | +-----------------------------------------------+------------------------------------------------------+ | 209204 | 商户配置异常 | +-----------------------------------------------+------------------------------------------------------+ | 209303 | 商户支付基础信息未配置 | +-----------------------------------------------+------------------------------------------------------+ | 209321 | 支付手续费未配置 | +-----------------------------------------------+------------------------------------------------------+ | 209323 | 支付手续费只能向商户收取 | +-----------------------------------------------+------------------------------------------------------+ | 209314 | 支付手续费账户状态不正常 | +-----------------------------------------------+------------------------------------------------------+ | 209215 | 请补录身份信息 | +-----------------------------------------------+------------------------------------------------------+ | 209804 | 商户超限额或限次 | +-----------------------------------------------+------------------------------------------------------+ | 209805 | 商户未开通该功能权限 | +-----------------------------------------------+------------------------------------------------------+ | 209806 | 商户交易限制 | +-----------------------------------------------+------------------------------------------------------+ | 209341 | 订单已关闭 | +-----------------------------------------------+------------------------------------------------------+ | 209342 | 已支付成功 | +-----------------------------------------------+------------------------------------------------------+ | 209343 | 已支付失败 | +-----------------------------------------------+------------------------------------------------------+ | 209344 | 订单信息不匹配 | +-----------------------------------------------+------------------------------------------------------+ | 209345 | 未获取二维码链接 | +-----------------------------------------------+------------------------------------------------------+ 代码示例 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ java .. code:: java String valueObj = "{ "version": "10", "cmd_id": "209", "mer_cust_id": "6666000000026086", "user_cust_id": "6666000000026190", "order_id": "209017108", "order_date": "20170829", "trans_amt": "0.03", "bg_ret_url": "http://192.168.0.74:8001/npayCallBack/asyncHandle.json", "mer_priv": "*1erwer.868@", "ret_url": "", "extension": "u", "div_detail": "[{'divCustId':'6666000000026185','divAcctId':'79704','divAmt':'0.02','divFreezeFg':'01'},{'divCustId':'6666000000026086','divAcctId':'79506','divAmt':'0.01','divFreezeFg':'00'}]", "device_info": "测试测qq", "goods_desc": "分账串,有冻结", "goods_type": "试测试试qq", "oper_user_id": "试试qq", "order_expire_time": "9900", "pay_type": "04", "request_type": "01" }"; String testUrl = "http://192.168.3.170:8083/npay/merchantRequest"; String checkValue = sign(valueObj); String cmdId = "209"; 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("