介绍
账管家 为新金融行业提供“水电煤”基础服务。
业务和技术接口规范概述
接口规范概述
- 当参数为可选项时,form表单和赋值长度为零字符串中应包含该参数,且赋值长度为零。
- 接口的所有参数值不应该包含特殊字符,如:"&“、”-“和”‘“等。
- 参数编码为UTF-8字符集,对于中文、URL和Json字符串,提交参数时应做URLEncode处理,接口接收返回参数时应做URLDecode处理。
- 金额单位为元,精确到分,如:1200.00,359.14。
- 日期为定长8的字符串,格式为YYYYMMDD,如20140802。
订单类接口规范
通过商户号、订单号和订单日期来标识订单的唯一性。
重复订单规范
由于网络的不稳定性等原因,短期内相同订单的交易应答返回给商户订单系统时,有可能会出现以下两种情况:
1. 先完成的订单后送达商户
2. 对于同一笔订单收到两次交易结果
为此,本平台处理原则如下:
1) 只要商户收到订单交易成功的应答,再次收到订单交易失败的应答,通常情况下,商户的订单系统也不会对此订单做任何处理。即保持该订单成功状态;T+1取现接口,会以T+1日银行端最终返回结果为准返回给商户订单系统,需要商户订单系统根据交易结果更新订单状态。
2) 商户的订单系统对于某笔订单已经收到成功应答,有可能后续再次收到该笔订单的成功应答,此时商户只需要回应本平台收到成功即可。
接口调用规范
| 生产地址 | 测试地址 |
|---|---|
| https://finance.chinapnr.com/asharp/merchantRequest | http://mertest.chinapnr.com/asharp/merchantRequest |
请求参数规范
数据提交使用POST格式接口调用方式
本平台接口有两种调用方式:
1) 页面调用方式
商户以构造form表单的方式,通过用户的浏览器重定向到本平台接口,本平台完成交易后,将交易结果回送给商户订单系统,如企业用户开户采用这种方式。
2) 后台调用方式
即后台HttpPost请求方式,商户后台构造HttpPost请求,调用本平台接口。本平台完成交易后,将交易结果回送给商户订单系统,如个人用户开户采用这种方式。调用接口过程
说明:为保证接口的安全性,各接口所列有的请求参数和返回参数如无个别说明,以下数据体都需要参与签名:
1) 按照接口的参数列表
2) 按参数的值(非参数名)
3) 按从上到下的顺序进行字符串相加所得
4) 如参数为可选项并且为空,则该参数值不参与签名举例说明
将请求参数按顺序拼接成字符串
假设有如下一组数据:
version=10
cmd_id=101
mer_cust_id=6000123456
user_name=张三
bg_ret_url=http://mertest.chinapnr.com/asharp
按version+cmd_id+mer_cust_id+bg_ret_url的顺序拼接后的字符串结果为:
101016000123456http://mertest.chinapnr.com/asharp
第一步:将调用签名函数生成check_value
使用第一步拼接的字符串101016000123456http://mertest.chinapnr.com/asharp进行MD5加密后,与加密服务器通信,生成check_value。
假设获得的签名的值为:
A170E66B00D344F8CEA68C3A84F0ED2207805147793F806CBD3D3E166B57F511ABEB7D5D7A725ECEFDC640FDC2F7102CD8D470CB0BE18A3B4ADE870689D7FCBD4CA55DD5C2E1D6BFC3F30514B0813D8E680708B44A1C1637780CA0D998EF22C10B7E4B8954F304F226BB50F091A60C939F7C4DB513261FC47667757550C7911E
第二步:将请求参数和check_value以POST方式发送 获得签名后,将参数中包含中文和URL的字段user_name和bg_ret_url使用UTF-8字符集URLEncode后,将所有数据,以POST方式发送给本平台,即完成了一次接口请求。
接口应答接收规范
验证规范 商户收到接口应答后,要进行验证签名的处理,以验证数据的合法性。
验证过程如下:
1) 将指定的返回参数按顺序拼接成字符串
2) 调用验证签名函数验证check_value接口应答方式
本平台交易应答通过同步和异步两种方式应答给商户。
1) 同步应答:
对应不同的两种调用方式,同步应答有两种形式:
1.1) 同步页面应答方式
需要商户提供页面应答地址,本平台的交易应答数据以表单形式POST方式提交至商户页面应答地址;
商户如未提供页面返回地址,本平台会将交易结果以HTML页面格式应答至用户浏览器。如企业用户开户采用这种方式。
1.2) 同步后台应答方式
不需要商户提供应答地址,本平台会将交易应答参数以Json格式通过HttpResponse方式应答商户请求。如个人用户开户采用这种方式。
2) 异步应答:
必须商户提供后台应答地址,本平台的交易应答数据以表单形式POST方式提交至商户后台应答地址。
2.1) URL应使用UTF-8字符集URLEncode编码后传入
2.2) URL中请不要包含特殊字符
2.3) 必须是外网地址对异步返回方式的应答规则
为了表示商户订单系统已经收到交易应答,商户必须在对异步返回应答时输出一段特殊的字符串,组成规则为:固定字符串RECV_ORD_ID_加上交易应答中某一指定字段,一般为该交易的订单号order_id。
有些接口没有商户订单号,请查看具体的接口说明,说明中会指定,如:个人用户开户接口的指定字段为order_id。
例如:商户收到一笔订单号为990000034的异步返回的交易应答,则应在响应时输出RECV_ORD_ID_990000034的字符串。本平台将搜索商户交易接收页面的前1024字节,只有搜索到该字符串,才能确认商户已经收到该笔订单的交易返回应答,否则,本平台认为商户未收到该笔订单的交易应答。举例说明(以余额查询接口返回的数据为例):
第一步:将指定的返回参数按顺序拼接成字符串
假设返回数据如下:
{"cmd_id":"302","resp_code":"302000","resp_desc":""交易成功","mer_cust_id":"6000123456,””user_cust_id”:”6000123455”,”balance”:”5.00”,”cash_balance”:”5.00”,”acct_balance”:”10.00”,”freeze_balance”:”5.00”,“bg_ret_url”:“http%3A%2F%2Fmertest.chinapnr.com%2Fasharp”,"check_value":"B170E66B00D344F8CEA68C3A84F0ED2207805147793F806CBD3D3E166B57F511ABEB7D5D7A725ECEFDC640FDC2F7102CD8D470CB0BE18A3B4ADE870689D7FCBD4CA55DD5C2E1D6BFC3F30514B0813D8E680708B44A1C1637780CA0D998EF22C10B7E4B8954F304F226BB50F091A60C939F7C4DB513261FC47667757550C7911E"}
首先将参数中的中文和URL解码:
bg_ret_url= http://mertest.chinapnr.com/asharp按cmd_id+resp_code+mer_cust_id+user_cust_id+balance+cash_balance+acct_balance+freeze_balance+bg_ret_url的顺序拼接后的结果为:302302000600012345660001234555.005.0010.005.00http://mertest.chinapnr.com/asharp
第二步:调用验证签名函数验证check_value
将第一步拼接的字符串:302302000600012345660001234555.005.0010.005.00http://mertest.chinapnr.com/asharp进行MD5加密后,和接口返回的check_value传入验证签名函数进行验证。重复订单处理 商户收到的应答无论时间先后,还是通过同步或者异步的方式,都应被等同处理。商户有可能收到同一笔订单的多次交易应答,后续的处理步骤列示如下:
| 商户网站订单状态 | 从本平台接收到应答的订单状态 | 商户网站的交易应答接收程序应采取的处理步骤 |
|---|---|---|
| 失败 | 失败 | 无需修改商户订单系统数据库;提示持卡人交易失败 |
| 成功 | 成功 | 无需修改商户订单系统数据库;提示持卡人交易成功 |
| 失败 | 成功 | 需要修改商户订单系统数据库;提示持卡人交易成功 |
| 已受理 | 成功 | 需要修改商户订单系统数据库;提示持卡人交易成功 |
| 已受理 | 失败 | 需要修改商户订单系统数据库;提示持卡人交易失败 |
| 成功 | 失败 | T+1取现特殊场景,需要修改商户订单系统数据库;提示持卡人订单交易失败 |
接口类型
根据接口应答时交易状态的不同,将接口归类为四个类型:
同步接口
该类型的接口同步应答的交易状态为终态,无异步应答。同步+异步接口
该类型的接口同步应答的交易状态为终态,异步应答的交易状态与同步应答一致。异步接口
该类型的接口同步应答的交易状态,正常时为中间态,异常时为终态;异步应答的交易状态皆为终态。混合接口
该类型的接口同步应答的交易状态会根据具体交易类型的不同而不同,正常时会有中间态或终态,异常时为终态;异步应答的交易状态皆为终态。
接口列表
| 接口编号 | 接口名称 | 接口操作方法 |
|---|---|---|
| 101 | 个人用户开户 | POST |
| 102 | 企业用户开户 | POST |
| 116 | 前台快捷绑卡 | POST |
| 112 | 后台快捷绑卡 | POST |
| 117 | 前台代扣绑卡 | POST |
| 109 | 后台代扣绑卡 | POST |
| 104 | 取现绑卡 | POST |
| 105 | 解绑快捷/代扣卡 | POST |
| 108 | 删除取现卡 | POST |
| 110 | 短信发送 | POST |
| 114 | 二级商户号录入 | POST |
| 118 | 人脸支付绑定 | POST |
| 201 | 充值/支付 | POST |
| 206 | 快捷支付 | POST |
| 207 | 直接代扣 | POST |
| 212 | 支付宝服务窗支付 | POST |
| 211 | 微信公众号支付 | POST |
| 208 | 扫码支付 | POST |
| 209 | 交易退款 | POST |
| 202 | 取现 | POST |
| 203 | 转账 | POST |
| 214 | 代发 | POST |
| 213 | 人脸支付 | POST |
| 302 | 余额查询 | POST |
| 306 | 交易状态查询 | POST |
| 303 | 充值支付对账 | POST |
| 304 | 取现对账 | POST |
| 305 | 转账对账 | POST |
| 204 | 产品录入 | POST |
用户管理类
个人用户开户
String result = new String();
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("https://finance.chinapnr.com/asharp/merchantRequest");
try {
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("version", "10"));
nvps.add(new BasicNameValuePair("cmd_id", "101"));
nvps.add(new BasicNameValuePair("mer_cust_id", "6666000000000001"));
nvps.add(new BasicNameValuePair("order_date", "20180327"));
nvps.add(new BasicNameValuePair("order_id", "10000000001"));
.......
post.setEntity(new UrlEncodedFormEntity(nvps));
HttpResponse httpResponse = client.execute(post);
int code = httpResponse.getStatusLine().getStatusCode();
String returnStr = EntityUtils.toString(httpResponse.getEntity());
} catch (Exception e) {
e.printStackTrace();
}
成功响应
200
{
"cmd_id": "101",
"resp_code": "101000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应
200
{
"cmd_id": "101",
"resp_code": "101003",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
接口功能说明
用于在本平台系统下为个人用户开设专属账户
调用方式
后台调用
应答方式
同步后台应答、异步应答
接口类型
同步+异步
请求参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 版本号 | version | 定长2位String | 必须 | 目前固定为10 |
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为101 |
| 商户唯一标识号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 订单日期 | order_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 |
| 订单号 | order_id | 变长20位String | 必须 | 由商户生成,必须保证唯一,20位内数字或字母的组合 |
| 用户姓名 | user_name | 变长50位String | 必须 | 用户的真实姓名,中文应使用UTF-8字符集URLEncode编码后传入 |
| 身份证号 | cert_id | 定长18位String | 必须 | 用户的身份证号 |
| 手机号 | user_mobile | 定长11位String | 必须 | 用户的手机号 |
| 邮箱 | user_email | 变长40位String | 可选 | 用户的电子邮箱 |
| 短信验证码 | sms_code | 定长6位String | 可选 | 与user_mobile对应的短信验证码,测试环境调试时可以使用666666通过验证。 |
| 短信验证码日期 | sms_order_date | 定长8位String | 可选 | 与sms_code对应的验证码发送订单日期 |
| 短信验证码订单号 | sms_order_id | 变长20位String | 可选 | 与sms_code对应的验证码发送订单号 |
| 商户后台应答地址 | bg_ret_url | 变长128位String | 必须 | 后台异步通知接收地址 |
| 商户私有域 | mer_priv | 变长128位String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回。注意:如参数中包含中文,应对参数进行Base64加密后再使用 |
| 扩展域 | extension | 变长512位String | 可选 | 用于扩展请求参数 若需要进行二级商户号验证,则必传,格式:{“sub_mer_cust_id”: “111111111111”} 二级商户号由汇付生成,详见二级商户号录入接口 |
| 签名 | check_value | 定长256位String | 必须 | 加签规则:MD5+RSA 将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值。 |
本接口加签拼接顺序: version+cmd_id+mer_cust_id+order_date+order_id+cert_id+user_mobile+user_email+sms_code+sms_order_date+sms_order_id+bg_ret_url+mer_priv+extension
返回参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为101 |
| 应答返回码 | resp_code | 定长6位String | 必须 | 101000–调用成功,其他见返回码表 |
| 应答返回描述 | resp_desc | 变长String | 必须 | 返回码的对应中文描述,中文为UTF-8字符集URLEncode编码后的字符串,商户应解码获取原文 |
| 商户唯一标识号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 订单日期 | order_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 |
| 订单号 | order_id | 变长20位String | 必须 | 由商户生成,必须保证唯一,20位内数字或字母的组合 |
| 用户唯一标识号 | user_cust_id | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识 |
| 子账户号 | acct_id | 变长16位String | 必须 | 由汇付生成,用户的默认子账户号 |
| 本平台交易唯一标识号 | platform_seq_id | 定长18位String | 必须 | 组成规则:8位本平台日期+ 10位系统流水号 |
| 手续费金额 | fee_amt | 变长14位String | 可选 | 手续费金额,格式为###.00 |
| 手续费子账户号 | fee_acct_id | 变长9位String | 可选 | 手续费扣款子账户号 |
| 商户后台应答地址 | bg_ret_url | 变长128位String | 必须 | 后台异步通知接收地址 |
| 商户私有域 | mer_priv | 变长128位String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回。注意:如参数中包含中文,应对参数进行Base64加密后再使用 |
| 扩展域 | extension | 变长512位String | 可选 | 用于扩展请求参数 若需要进行二级商户号验证,则必传,格式:{“sub_mer_cust_id”: “111111111111”} 二级商户号由汇付生成,详见二级商户号录入接口 |
| 签名 | check_value | 定长256位String | 必须 | 加签规则:MD5+RSA 将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值。 |
本接口加签拼接顺序:
cmd_id+resp_code+mer_cust_id+order_date+order_id+user_cust_id+acct_id+platform_seq_id+fee_amt+fee_acct_id+bg_ret_url+mer_priv+extension
企业用户开户
String result = new String();
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("https://finance.chinapnr.com/asharp/merchantRequest");
try {
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("version", "10"));
nvps.add(new BasicNameValuePair("cmd_id", "102"));
nvps.add(new BasicNameValuePair("mer_cust_id", "6666000000000001"));
nvps.add(new BasicNameValuePair("order_date", "20180327"));
nvps.add(new BasicNameValuePair("order_id", "10000000001"));
.......
post.setEntity(new UrlEncodedFormEntity(nvps));
HttpResponse httpResponse = client.execute(post);
int code = httpResponse.getStatusLine().getStatusCode();
String returnStr = EntityUtils.toString(httpResponse.getEntity());
} catch (Exception e) {
e.printStackTrace();
}
成功响应
200
{
"cmd_id": "102",
"resp_code": "102000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应
200
{
"cmd_id": "102",
"resp_code": "101003",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
接口功能说明
用于在本平台系统下为企业用户开设专属账户
调用方式
页面调用
应答方式
同步页面应答(中间态/异常)、异步应答(终态)
接口类型
异步
请求参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 版本号 | version | 定长2位String | 必须 | 目前固定为10 |
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为102 |
| 商户唯一标识号 | mer_cust_id | 变长16位String | 必须 | 由汇付生成,商户的唯一标识号 |
| 企业开户申请号 | apply_id | 变长20的String | 必须 | 由商户提供,申请企业开户的唯一标识 |
| 订单日期 | order_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 |
| 订单号 | order_id | 定长20位String | 必须 | 由商户生成,必须保证唯一,20位内数字或字母的组合 |
| 操作类型 | operate_type | 定长8位String | 必须 | 00090000:新增00090001:修改 |
| 企业证照类型 | corp_license_type | 定长8位String | 必须 | 01030100:普通营业执照企业01030101:三证合一企业 |
| 企业类型 | corp_type | 定长8位String | 必须 | 01030000:普通企业 |
| 企业名称 | corp_name | 变长50位String | 必须 | 企业的公司全称,中文应使用UTF-8字符集URLEncode编码后传入 |
| 营业执照注册号 | business_code | 变长30位String | 可选 | 企业的营业执照注册号 |
| 组织机构代码 | institution_code | 定长9位String | 可选 | 企业的组织机构代码证 |
| 税务登记证号 | tax_code | 变长30位String | 可选 | 企业的税务登记号 |
| 统一社会信用代码 | social_credit_code | 定长18位String | 可选 | 企业的统一社会信用代码 |
| 证照起始日期 | license_start_date | 定长8位String | 必须 | 企业的营业证照起始日期,精确到年月日 |
| 证照结束日期 | license_end_date | 定长8位String | 必须 | 企业的营业证照结束日期,精确到年月日,99991231表示永久 |
| 企业经营地址 | corp_business_address | 变长250位字符串 | 必须 | 企业的经营地址,中文应使用UTF-8字符集URLEncode编码后传入 |
| 企业注册地址 | corp_reg_address | 变长250位字符串 | 必须 | 企业的注册地址,中文应使用UTF-8字符集URLEncode编码后传入 |
| 企业固定电话 | corp_fixed_telephone | 变长15位字符串 | 必须 | 企业的固定电话 |
| 经营范围 | business_scope | 变长600位字符串 | 必须 | 企业的经营范围,中文应使用UTF-8字符集URLEncode编码后传入 |
| 控股股东(实际控制人) | controlling_shareholder | 变长600位字符串 | 必须 | 企业的控股股东,中文应使用UTF-8字符集URLEncode编码后传入 |
| 法定代表人姓名 | legal_name | 变长50位String | 必须 | 企业的法人姓名,中文应使用UTF-8字符集URLEncode编码后传入 |
| 法人证件类型 | legal_cert_type | 定长8位String | 必须 | 01020100:身份证01020101:护照01020102:军官证01020104:回乡证01020106:台胞证01020107:其他 |
| 法人证件号码 | legal_cert_id | 变长20位String | 必须 | 法人的证件号码,与证件类型对应 |
| 法人证件起始日期 | legal_cert_start_date | 定长8位String | 必须 | 法定代表人的证件起始日期,精确到年月日 |
| 法人证件结束日期 | legal_cert_end_date | 定长8位String | 必须 | 法定代表人的证件结束日期,精确到年月日,99991231表示永久 |
| 法定代表人手机号码 | legal_mobile | 定长11位String | 必须 | 法定代表人的手机号码 |
| 企业联系人姓名 | contact_name | 变长50位String | 必须 | 企业联系人的姓名,中文应使用UTF-8字符集URLEncode编码后传入 |
| 联系人手机号 | contact_mobile | 定长11为String | 必须 | 联系人的手机号码 |
| 联系人邮箱 | contact_email | 变长40位String | 必须 | 联系人的邮箱地址 |
| 开户银行账户名 | bank_acct_name | 变长40位String | 必须 | 企业开户银行账户名,需与企业名称保持一致,中文应使用UTF-8字符集URLEncode编码后传入 |
| 开户银行 | bank_id | 变长8位String | 必须 | 具体见附件一:充值/取现支持银行列表及代号 |
| 开户银行账号 | bank_acct_no | 变长32位String | 必须 | 企业开户银行账号 |
| 开户银行支行名称 | bank_branch | 变长100位String | 必须 | 企业开户银行的支行名称,中文应使用UTF-8字符集URLEncode编码后传入 |
| 开户银行省份 | bank_prov | 变长4位String | 必须 | 银行卡开户省份,具体见附件二 |
| 开户银行地区 | bank_area | 定长4位String | 必须 | 银行卡开户地区,具体见附件二 |
| 商户后台应答地址 | bg_ret_url | 变长128位String | 必须 | 通过后台异步通知,商户应在应答接收的响应中输出RECV_ORD_ID字样的字符串,表明商户已经收到该笔交易结果。注意:1)URL应使用UTF-8字符集URLEncode编码后传入2)URL中请不要包含特殊字符3)必须是外网地址 |
| 页面返回URL | ret_url | 变长128位String | 可选 | 交易完成后,本平台系统把交易结果通过页面方式,发送到该地址上。注意:1)URL应使用UTF-8字符集URLEncode编码后传入2)URL中请不要包含特殊字符3)必须是外网地址 |
| 商户私有域 | mer_priv | 变长120位String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回。注意:如参数中包含中文,应对参数进行Base64加密后再使用 |
| 扩展域 | extension | 变长512位String | 可选 | 用于扩展请求参数若需要进行二级商户号验证,则必传,格式:{“sub_mer_cust_id”:“111111111111”}二级商户号由汇付生成,详见4.2.13.二级商户号录入接口 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值。 |
本接口加签拼接顺序: version+cmd_id+mer_cust_id+apply_id+order_date+order_id+operate_type+corp_license_type+corp_type+business_code+institution_code+tax_code+social_credit_code+license_start_date+license_end_date+corp_fixed_telephone+legal_cert_type+legal_cert_id+legal_mobile+legal_cert_start_date+legal_cert_end_date+contact_mobile+contact_email+bank_id+bank_acct_no+bank_prov+bank_area+bg_ret_url+ret_url+mer_priv+extension
返回参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为102 |
| 应答返回码 | resp_code | 定长6位String | 必须 | 102000–调用成功,其他见:返回码表 |
| 应答返回描述 | resp_desc | 变长String | 必须 | 返回码的对应中文描述,中文为UTF-8字符集URLEncode编码后的字符串,商户应解码获取原文 |
| 企业开户申请号 | apply_id | 变长20位String | 必须 | 由商户提供,申请企业开户的唯一标识 |
| 订单日期 | order_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 |
| 订单号 | order_id | 定长20位String | 必须 | 由商户生成,必须保证唯一,20位内数字或字母的组合 |
| 商户唯一标识号 | mer_cust_id | 变长16位String | 必须 | 由汇付生成,商户的唯一标识号 |
| 用户唯一标识号 | user_cust_id | 变长16位String | 可选 | 由汇付生成,用户的唯一标识号 |
| 子账户号 | acct_id | 变长9位String | 可选 | 由汇付生成,用户的默认子账户号 |
| 企业名称 | corp_name | 变长50位String | 必须 | 企业的全称,中文应使用UTF-8字符集URLEncode编码后传入 |
| 审核状态 | audit_status | 定长8位String | 必须 | 02000101:待审核02000102:审核中02000103:待资料修改02000104:审核通过02000105:审核不通过 |
| 审核状态描述 | audit_desc | 变长120位String | 可选 | 针对审核状态的详细说明 |
| 商户后台应答地址 | bg_ret_url | 变长128位String | 必须 | 返参中的URL为UTF-8字符集URLEncode编码后的字符串,商户应解码获取原文 |
| 页面返回URL | ret_url | 变长128位String | 可选 | 返参中的URL为UTF-8字符集URLEncode编码后的字符串,商户应解码获取原文 |
| 商户私有域 | mer_priv | 变长120位String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回。注意:如参数中包含中文,应对参数进行Base64加密后再使用 |
| 返参扩展域 | extension | 变长512位String | 可选 | 用于扩展请求参数 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值。 |
本接口加签拼接顺序:
cmd_id+resp_code+apply_id+order_date+order_id+mer_cust_id+user_cust_id+acct_id+audit_status+bg_ret_url+ret_url+mer_priv+extension
前台快捷绑卡
String result = new String();
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("https://finance.chinapnr.com/asharp/merchantRequest");
try {
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("version", "10"));
nvps.add(new BasicNameValuePair("cmd_id", "116"));
nvps.add(new BasicNameValuePair("mer_cust_id", "6666000000000001"));
nvps.add(new BasicNameValuePair("order_date", "20180327"));
nvps.add(new BasicNameValuePair("order_id", "10000000001"));
.......
post.setEntity(new UrlEncodedFormEntity(nvps));
HttpResponse httpResponse = client.execute(post);
int code = httpResponse.getStatusLine().getStatusCode();
String returnStr = EntityUtils.toString(httpResponse.getEntity());
} catch (Exception e) {
e.printStackTrace();
}
成功响应
200
{
"cmd_id": "116",
"resp_code": "116000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应
200
{
"cmd_id": "116",
"resp_code": "116003",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
接口功能说明
前台快捷绑卡
调用方式
页面调用
应答方式
同步页面应答、异步应答
接口类型
异步
请求参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 版本号 | version | 定长2位String | 必须 | 目前固定为10 |
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为116 |
| 商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 订单日期 | order_date | 定长8位String | 必须 | 格式为“yyyyMMdd” |
| 订单号 | order_id | 变长20位String | 必须 | 由商户的系统生成,订单号和订单日期保证唯一 |
| 客户用户名 | user_name | 变长50位String | 必须 | 用户的真实姓名 |
| 身份证号 | cert_id | 定长18位String | 必须 | 用户身份证号,目前仅支持身份证 |
| 银行预留手机号 | card_mobile | 变长11位String | 必须 | 本次快捷绑卡待绑定的银行卡,在银行开户时的预留手机号,变长11位数字 |
| 开户银行代号 | bank_id | 变长8位String | 必须 | 具体见附件二:代扣充值支持银行列表 |
| 银行卡号 | card_no | 变长32位String | 必须 | 待绑定的银行卡号 |
| 借贷标记 | dc_flag | 定长1位String | 必须 | D–借记,储蓄卡C–贷记,信用卡 |
| 银行卡开户省份 | card_prov | 定长4位String | 可选 | 银行卡开户省份 |
| 银行卡开户地区 | card_area | 定长4位String | 可选 | 银行卡开户地区 |
| 商户后台应答地址 | bg_ret_url | 变长128位的String | 必须 | 通过后台异步通知,商户应在应答接收的响应中输出RECV_ORD_ID字样的字符串,表明商户已经收到该笔交易结果。注意:1)URL应使用UTF-8字符集URLEncode编码后传入2)URL中请不要包含“附件三:BgRetUrl中禁止的字符串列表”的字符串3)必须是外网地址 |
| 页面返回URL | ret_url | 变长128位String | 可选 | 交易完成后,本平台系统把交易结果通过页面方式,发送到该地址上。注意:1)URL应使用UTF-8字符集URLEncode编码后传入2)URL中请不要包含特殊字符3)必须是外网地址 |
| 商户私有域 | mer_priv | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回。注意:如参数中包含中文,应对参数进行Base64加密后再使用。 |
| 扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数若需要进行二级商户号验证,则必传,格式:{“sub_mer_cust_id”:“111111111111”}二级商户号由汇付生成,详见4.2.13.二级商户号录入接口 |
| 页面类型 | page_type | 定长2位String | 可选 | 桌面端样式页面:00移动端样式页面:10默认桌面端样式 |
| 签名 | check_value | 变长256位的String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序: version+cmd_id+mer_cust_id+order_date+order_id+cert_id+card_mobile+bank_id+card_no+dc_flag+card_prov+card_area+bg_ret_url+ret_url+mer_priv+extension+page_type
返回参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为“116” |
| 应答返回码 | resp_code | 定长6位String | 必须 | 116000–调用成功,其他见返回码附件表 |
| 应答返回描述 | resp_desc | 变长String | 必须 | 返回码的对应中文描述 |
| 商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 已开户标识 | reg_flag | 定长8位String | 必须 | 00000000:新开户00000001:已开户 |
| 用户客户号 | user_cust_id | 定长16位String | 可选 | 由汇付生成,用户的唯一性标识,成功时必返 |
| 用户账户号 | acct_id | 变长8位String | 可选 | 用户账户号新开户且成功时必返 |
| 订单日期 | order_date | 定长8位String | 必须 | 格式为“yyyyMMdd” |
| 订单号 | order_id | 变长20位String | 必须 | 由商户的系统生成,订单号和订单日期保证唯一 |
| 本平台交易唯一标识号 | platform_seq_id | 定长18位String | 必须 | 组成规则:8位本平台日期+10位系统流水号 |
| 手续费金额 | fee_amt | 变长14位String | 可选 | 手续费金额,格式为###.00 |
| 手续费子账户号 | fee_acct_id | 变长9位String | 可选 | 手续费扣款子账户号 |
| 商户私有域 | mer_priv | 变长120位的String | 可选 | 为商户的自定义字段 |
| 签名 | check_value | 变长256位的String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序:
cmd_id+resp_code+mer_cust_id+reg_flag+user_cust_id+acct_id+order_date+order_id+platform_seq_id+fee_amt+fee_acct_id+mer_priv
后台快捷绑卡
String result = new String();
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("https://finance.chinapnr.com/asharp/merchantRequest");
try {
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("version", "10"));
nvps.add(new BasicNameValuePair("cmd_id", "112"));
nvps.add(new BasicNameValuePair("mer_cust_id", "6666000000000001"));
nvps.add(new BasicNameValuePair("order_date", "20180327"));
nvps.add(new BasicNameValuePair("order_id", "10000000001"));
.......
post.setEntity(new UrlEncodedFormEntity(nvps));
HttpResponse httpResponse = client.execute(post);
int code = httpResponse.getStatusLine().getStatusCode();
String returnStr = EntityUtils.toString(httpResponse.getEntity());
} catch (Exception e) {
e.printStackTrace();
}
成功响应
200
{
"cmd_id": "112",
"resp_code": "112000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应
200
{
"cmd_id": "112",
"resp_code": "112003",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
接口功能说明
为未开户的用户开户的同时绑定快捷卡,或为已开户的用户绑定快捷卡
调用方式
后台调用
应答方式
同步后台应答、异步应答
接口类型
异步
请求参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 版本号 | version | 定长2位String | 必须 | 目前固定为11 |
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为112 |
| 商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 订单日期 | order_date | 定长8位String | 必须 | 格式为“yyyyMMdd” |
| 订单号 | order_id | 变长20位String | 必须 | 由商户的系统生成,订单号和订单日期保证唯一 |
| 用户客户号 | user_cust_id | 定长16位String | 可选 | 由汇付生成,商户的唯一性标识条件可选:如用户已经开户,可选填该参数,如填写,接口会以该参数来辨识用户,不再匹配客户用户名和身份证号的正确性,但依然会校验参数格式;如不填写,接口会以客户用户名及身份证号匹配客户;如果用户未开户,请不填该参数 |
| 客户用户名 | user_name | 变长50位String | 可选 | 用户的真实姓名条件可选,条件参考用户客户号描述 |
| 身份证号 | cert_id | 定长18位String | 可选 | 用户身份证号,目前仅支持身份证条件可选,条件参考用户客户号描述 |
| 银行预留手机号 | card_mobile | 变长11位String | 必须 | 本次快捷绑卡待绑定的银行卡,在银行开户时的预留手机号,变长11位数字 |
| 开户银行代号 | bank_id | 变长8位String | 必须 | 具体见附件一:代扣充值支持银行列表 |
| 银行卡号 | card_no | 变长32位String | 必须 | 待绑定的银行卡号 |
| 借贷标记 | dc_flag | 定长1位String | 必须 | D–借记,储蓄卡C–贷记,信用卡注:本接口暂仅支持借记卡 |
| 银行卡开户省份 | card_prov | 定长4位String | 可选 | 银行卡开户省份 |
| 银行卡开户地区 | card_area | 定长4位String | 可选 | 银行卡开户地区 |
| 阶段标志 | step_flag | 定长2位String | 必须 | 01:验卡阶段02:验证短信阶段 |
| 绑卡请求流水 | bind_trans_id | 变长20位String | 必须 | 标志一个绑卡请求,商户下判断唯一,只能是数字和字母 |
| 短信验证码 | sms_code | 定长6位String | 可选 | 银行预留手机号对应的短信验证码,验证短信阶段必须 |
| 商户后台应答地址 | 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.二级商户号录入接口 |
| 签名 | check_value | 变长256位的String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序: version+cmd_id+mer_cust_id+order_date+order_id+user_cust_id+cert_id+bank_id+card_no+card_mobile+dc_flag+card_prov+card_area+step_flag+bind_trans_id+sms_code+bg_ret_url+mer_priv+extension
返回参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 消息类型 | cmd_id | 定长3位String | 是 | 每一种消息类型代表一种交易,此处为“112” |
| 应答返回码 | resp_code | 定长6位String | 是 | 112000–调用成功,其他见返回码附件表 |
| 应答返回描述 | resp_desc | 变长String | 是 | 返回码的对应中文描述 |
| 商户客户号 | mer_cust_id | 定长16位String | 是 | 由汇付生成,商户的唯一性标识 |
| 已开户标识 | reg_flag | 定长8位String | 必须 | 00000000:新开户00000001:已开户 |
| 用户客户号 | user_cust_id | 定长16位String | 可选 | 由汇付生成,用户的唯一性标识,成功时必返 |
| 用户账户号 | acct_id | 变长8位String | 可选 | 用户账户号新开户且成功时必返 |
| 订单日期 | order_date | 定长8位String | 必须 | 格式为“yyyyMMdd” |
| 订单号 | order_id | 变长20位String | 必须 | 由商户的系统生成,订单号和订单日期保证唯一 |
| 本平台交易唯一标识号 | platform_seq_id | 定长18位String | 必须 | 组成规则:8位本平台日期+10位系统流水号 |
| 手续费金额 | fee_amt | 变长14位String | 可选 | 手续费金额,格式为###.00 |
| 手续费子账户号 | fee_acct_id | 变长9位String | 可选 | 手续费扣款子账户号 |
| 商户私有域 | mer_priv | 变长120位的String | 可选 | 为商户的自定义字段 |
| 签名 | check_value | 变长256位的String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序:
cmd_id+resp_code+mer_cust_id+reg_flag+user_cust_id+acct_id+order_date+order_id+platform_seq_id+fee_amt+fee_acct_id+mer_priv
前台代扣绑卡
String result = new String();
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("https://finance.chinapnr.com/asharp/merchantRequest");
try {
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("version", "10"));
nvps.add(new BasicNameValuePair("cmd_id", "117"));
nvps.add(new BasicNameValuePair("mer_cust_id", "6666000000000001"));
nvps.add(new BasicNameValuePair("order_date", "20180327"));
nvps.add(new BasicNameValuePair("order_id", "10000000001"));
.......
post.setEntity(new UrlEncodedFormEntity(nvps));
HttpResponse httpResponse = client.execute(post);
int code = httpResponse.getStatusLine().getStatusCode();
String returnStr = EntityUtils.toString(httpResponse.getEntity());
} catch (Exception e) {
e.printStackTrace();
}
成功响应
200
{
"cmd_id": "117",
"resp_code": "117000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应
200
{
"cmd_id": "117",
"resp_code": "117003",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
接口功能说明
前台代扣绑卡
调用方式
页面调用
应答方式
同步页面应答、异步应答
接口类型
异步
请求参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 版本号 | version | 定长2位String | 必须 | 目前固定为10 |
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为117 |
| 商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 订单日期 | order_date | 定长8位String | 必须 | 格式为“yyyyMMdd” |
| 订单号 | order_id | 变长20位String | 必须 | 由商户的系统生成,订单号和订单日期保证唯一 |
| 产品编号 | product_id | 变长20位String | 可选 | 对应产品录入中产品ID |
| 产品订单号 | product_order_id | 变长20位String | 可选 | 由商户的系统生成,本次签约的产品订单号,产品订单号保证唯一 |
| 开户名 | user_name | 变长50位String | 必须 | 用户的真实姓名 |
| 身份证号 | cert_id | 定长18位String | 必须 | 用户身份证号 |
| 开户银行代号 | bank_id | 变长8位String | 必须 | 具体见附件二:代扣充值支持银行列表 |
| 银行卡号 | card_no | 变长32位String | 必须 | 待绑定的银行卡号 |
| 借贷标记 | dc_flag | 定长1位String | 必须 | D–借记,储蓄卡C–贷记,信用卡注:本接口暂仅支持借记卡 |
| 银行预留手机号 | card_mobile | 变长11位String | 必须 | 银行开户时的预留手机号 |
| 银行卡开户省份 | card_prov | 定长4位String | 可选 | 银行卡开户省份 |
| 银行卡开户地区 | card_area | 定长4位String | 可选 | 银行卡开户地区 |
| 页面返回URL | ret_url | 变长128位String | 可选 | 交易完成后,本平台系统把交易结果通过页面方式,发送到该地址上。注意:1)URL应使用UTF-8字符集URLEncode编码后传入2)URL中请不要包含特殊字符3)必须是外网地址 |
| 商户后台应答地址 | bg_ret_url | 变长128位的String | 必须 | 后台异步通知商户开户结果 |
| 商户私有域 | mer_priv | 变长120位的String | 可选 | 为商户的自定义字段 |
| 扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数若需要进行二级商户号验证,则必传,格式:{“sub_mer_cust_id”:“111111111111”}二级商户号由汇付生成,详见4.2.13.二级商户号录入接口 |
| 页面类型 | page_type | 定长2位String | 可选 | 桌面端样式页面:00移动端样式页面:10默认桌面端样式 |
| 签名 | check_value | 变长256位的String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序: version+cmd_id+mer_cust_id+order_date+order_id+product_id+product_order_id+cert_id+bank_id+card_no+dc_flag+card_mobile+card_prov+card_area+ret_url+bg_ret_url+mer_priv+extension+page_type
返回参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为117 |
| 应答返回码 | resp_code | 定长6位String | 必须 | 117000–调用成功,其他见返回码附件表 |
| 应答返回描述 | resp_desc | 变长String | 必须 | 返回码的对应中文描述 |
| 商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 用户客户号 | user_cust_id | 定长16位String | 可选 | 由汇付生成,用户的唯一性标识 |
| 用户账户号 | acct_id | 变长8位String | 可选 | 用户账户号 |
| 订单日期 | order_date | 定长8位String | 必须 | 格式为“yyyyMMdd” |
| 订单号 | order_id | 变长20位String | 必须 | 由商户的系统生成,订单号和订单日期保证唯一 |
| 本平台交易唯一标识号 | platform_seq_id | 定长18位String | 必须 | 组成规则:8位本平台日期+10位系统流水号 |
| 开户标识 | reg_flag | 定长8位String | 必须 | 00000000:新开户00000001:已开户 |
| 手续费金额 | fee_amt | 变长14位String | 可选 | 手续费金额,格式为###.00 |
| 手续费子账户号 | fee_acct_id | 变长9位String | 可选 | 手续费扣款子账户号 |
| 商户后台应答地址 | bg_ret_url | 变长128位String | 必须 | 返参中的URL为UTF-8字符集URLEncode编码后的字符串,商户应解码获取原文 |
| 页面返回URL | ret_url | 变长128位String | 可选 | 交易完成后,本平台系统把交易结果通过页面方式,发送到该地址上 |
| 商户私有域 | mer_priv | 变长120位的String | 可选 | 为商户的自定义字段 |
| 扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数 |
| 签名 | check_value | 变长256位的String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序:
cmd_id+resp_code+mer_cust_id+user_cust_id+acct_id+order_date+order_id+platform_seq_id+reg_flag+fee_amt+fee_acct_id+ret_url_bg_ret_url+mer_priv+extension
后台代扣绑卡
String result = new String();
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("https://finance.chinapnr.com/asharp/merchantRequest");
try {
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("version", "11"));
nvps.add(new BasicNameValuePair("cmd_id", "109"));
nvps.add(new BasicNameValuePair("mer_cust_id", "6666000000000001"));
nvps.add(new BasicNameValuePair("order_date", "20180327"));
nvps.add(new BasicNameValuePair("order_id", "10000000001"));
.......
post.setEntity(new UrlEncodedFormEntity(nvps));
HttpResponse httpResponse = client.execute(post);
int code = httpResponse.getStatusLine().getStatusCode();
String returnStr = EntityUtils.toString(httpResponse.getEntity());
} catch (Exception e) {
e.printStackTrace();
}
成功响应
200
{
"cmd_id": "109",
"resp_code": "109000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应
200
{
"cmd_id": "109",
"resp_code": "109003",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
接口功能说明
用于代扣卡绑定和代扣订单签约,可支持多张代扣卡绑定,若绑定签约成功,即同时为用户开设专属账户
调用方式
后台调用
应答方式
同步后台应答、异步应答
接口类型
异步
请求参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 版本号 | version | 定长2位String | 必须 | 目前固定为11 |
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为109 |
| 商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 用户客户号 | user_cust_id | 定长16位String | 可选 | 由汇付生成,商户的唯一性标识 |
| 订单日期 | order_date | 定长8位String | 必须 | 格式为“yyyyMMdd” |
| 订单号 | order_id | 变长20位String | 必须 | 由商户的系统生成,订单号和订单日期保证唯一 |
| 产品编号 | product_id | 变长20位String | 必须 | 对应产品录入中产品ID |
| 产品订单号 | product_order_id | 变长20位String | 必须 | 由商户的系统生成,本次签约的产品订单号,产品订单号保证唯一 |
| 开户名 | user_name | 变长50位String | 必须 | 用户的真实姓名 |
| 身份证号 | cert_id | 定长18位String | 必须 | 用户身份证号 |
| 开户银行代号 | bank_id | 变长8位String | 必须 | 具体见附件一:代扣充值支持银行列表 |
| 银行卡号 | card_no | 变长32位String | 必须 | 待绑定的银行卡号 |
| 借贷标记 | dc_flag | 定长1位String | 必须 | D–借记,储蓄卡C–贷记,信用卡注:本接口暂仅支持借记卡 |
| 银行预留手机号 | card_mobile | 变长11位String | 必须 | 银行开户时的预留手机号 |
| 银行卡开户省份 | card_prov | 定长4位String | 可选 | 银行卡开户省份,具体见附件二 |
| 银行卡开户地区 | card_area | 定长4位String | 可选 | 银行卡开户地区,具体见附件二 |
| 阶段标志 | step_flag | 定长2位String | 必须 | 01:验卡阶段;02:验证短信阶段 |
| 短信验证码 | sms_code | 定长6位String | 可选 | 与本次绑卡时的银行预留手机号对应的短信验证码 |
| 绑卡请求流水 | bind_trans_id | 定长20位String | 必须 | 标志一个绑卡请求,商户下判断唯一,只能是数字和字母 |
| 商户后台应答地址 | bg_ret_url | 变长128位的String | 必须 | 通过后台异步通知,商户应在应答接收的响应中输出RECV_ORD_ID字样的字符串,表明商户已经收到该笔交易结果。注意:1)URL应使用UTF-8字符集URLEncode编码后传入2)URL中请不要包含特殊字符3)必须是外网地址 |
| 商户私有域 | mer_priv | 变长120位的String | 可选 | 为商户的自定义字段 |
| 扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数若需要进行二级商户号验证,则必传,格式:{“sub_mer_cust_id”:“111111111111”}二级商户号由汇付生成 |
| 签名 | check_value | 变长256位的String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序: version+cmd_id+mer_cust_id+user_cust_id+order_date+order_id+product_id+product_order_id+cert_id+bank_id+card_no+dc_flag+card_mobile+card_prov+card_area+step_flag+sms_code+bind_trans_id+bg_ret_url+mer_priv+extension
返回参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为109 |
| 应答返回码 | resp_code | 定长6位String | 必须 | 109000–调用成功,其他见返回码附件表 |
| 应答返回描述 | resp_desc | 变长String | 必须 | 返回码的对应中文描述 |
| 商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 用户客户号 | user_cust_id | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识 |
| 用户账户号 | acct_id | 变长8位String | 可选 | 用户账户号 |
| 订单日期 | order_date | 定长8位String | 必须 | 格式为“yyyyMMdd” |
| 订单号 | order_id | 变长20位String | 必须 | 由商户的系统生成,订单号和订单日期保证唯一 |
| 产品编号 | product_id | 变长20位String | 必须 | 对应订单录入中产品ID |
| 产品订单号 | product_order_id | 变长20位String | 必须 | 本次签约的产品订单号 |
| 本平台交易唯一标识号 | platform_seq_id | 定长18位String | 必须 | 组成规则:8位本平台日期+10位系统流水号 |
| 开户标识 | reg_flag | 定长8位String | 必须 | 00000000:新开户00000001:已开户 |
| 开户银行代号 | bank_id | 变长8位String | 必须 | 对应产品录入中产品ID |
| 银行卡号 | card_no | 变长32位String | 必须 | 待绑定的银行卡卡号 |
| 手续费金额 | fee_amt | 变长14位String | 可选 | 手续费金额,格式为###.00 |
| 手续费子账户号 | fee_acct_id | 变长9位String | 可选 | 手续费扣款子账户号 |
| 商户后台应答地址 | bg_ret_url | 变长128位的String | 必须 | 后台异步通知商户开户结果 |
| 商户私有域 | mer_priv | 变长120位的String | 可选 | 为商户的自定义字段 |
| 扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数 |
| 签名 | check_value | 变长256位的String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序:
cmd_id+resp_code+mer_cust_id+user_cust_id+acct_id+order_date+order_id+product_id+product_order_id+platform_seq_id+reg_flag+bank_id+card_no+fee_amt+fee_acct_id+bg_ret_url+mer_priv+extension
取现绑卡
String result = new String();
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("https://finance.chinapnr.com/asharp/merchantRequest");
try {
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("version", "10"));
nvps.add(new BasicNameValuePair("cmd_id", "104"));
nvps.add(new BasicNameValuePair("mer_cust_id", "6666000000000001"));
nvps.add(new BasicNameValuePair("order_date", "20180327"));
nvps.add(new BasicNameValuePair("order_id", "10000000001"));
.......
post.setEntity(new UrlEncodedFormEntity(nvps));
HttpResponse httpResponse = client.execute(post);
int code = httpResponse.getStatusLine().getStatusCode();
String returnStr = EntityUtils.toString(httpResponse.getEntity());
} catch (Exception e) {
e.printStackTrace();
}
成功响应
200
{
"cmd_id": "104",
"resp_code": "101000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应
200
{
"cmd_id": "104",
"resp_code": "104003",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
接口功能说明
用于绑定取现银行卡,以便用于用户取现
调用方式
后台调用
应答方式
同步后台应答、异步应答
接口类型
混合
请求参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 版本号 | version | 定长2位String | 必须 | 目前固定为10 |
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为104 |
| 商户唯一标识号 | 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 | 必须 | 具体见附件一:取现支持银行列表 |
| 银行卡号 | card_no | 变长32位String | 必须 | 本次取现绑卡待绑定的银行卡号 |
| 借贷标记 | dc_flag | 定长1位String | 必须 | D–借记,储蓄卡C–贷记,信用卡注:本接口暂仅支持借记卡 |
| 银行卡开户省份 | card_prov | 定长4位String | 可选 | 本次取现绑卡待绑定的银行卡开户省份,具体见附件二 |
| 银行卡开户地区 | card_area | 定长4位String | 可选 | 本次取现绑卡待绑定的银行卡开户地区,具体见附件二 |
| 是否默认取现卡 | is_default | 定长8位String | 必须 | 00000000:非默认取现卡00000001:默认取现卡用户首次绑卡时,无论传任何值,绑定成功后都会设置为默认取现卡;用户已有默认取现卡时,新绑定默认取现卡会替换掉原有默认取现卡 |
| 后台返回地址 | bg_ret_url | 变长128位String | 必须 | 通过后台异步通知,商户应在应答接收的响应中输出RECV_ORD_ID字样的字符串,表明商户已经收到该笔交易结果,注意:1)URL应使用UTF-8字符集URLEncode编码后传入;2)URL中请不要包含特殊字符3)必须是外网地址 |
| 商户私有域 | mer_priv | 变长128位String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回。注意:如参数中包含中文,应对参数进行Base64加密后再使用 |
| 扩展域 | extension | 变长512位String | 可选 | 用于扩展请求参数若需要进行二级商户号验证,则必传,格式:{“sub_mer_cust_id”:“111111111111”}二级商户号由汇付生成,详见4.2.13.二级商户号录入接口 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序: version+cmd_id+mer_cust_id+user_cust_id+order_date+order_id+bank_id+card_no+dc_flag+card_prov+card_area+is_default+bg_ret_url+mer_priv+extension
返回参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为104 |
| 应答返回码 | resp_code | 定长6位String | 必须 | 104000–调用成功,其他见:返回码表 |
| 应答返回描述 | resp_desc | 变长String | 必须 | 返回码的对应中文描述,中文为UTF-8字符集URLEncode编码后的字符串,商户应解码获取原文 |
| 商户唯一标识号 | mer_cust_id | 定长16位 | 必须 | 由汇付生成,商户的唯一性标识 |
| 用户唯一标识号 | user_cust_id | 定长16位 | 必须 | 由汇付生成,用户的唯一性标识 |
| 订单日期 | order_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 |
| 订单号 | order_id | 变长20位String | 必须 | 由商户生成,必须保证唯一,20位内数字或字母的组合 |
| 本平台交易唯一标识号 | platform_seq_id | 定长18位String | 可选 | 组成规则:8位本平台日期+10位系统流水号 |
| 银行代号 | bank_id | 变长8位String | 必须 | 具体见附件一:取现支持银行列表 |
| 银行卡号 | card_no | 变长32位String | 必须 | 本次取现绑卡待绑定的银行卡号 |
| 借贷标记 | dc_flag | 定长1位String | 必须 | D–借记,储蓄卡C–贷记,信用卡注:本接口暂仅支持借记卡 |
| 银行卡开户省份 | card_prov | 定长4位String | 可选 | 本次取现绑卡待绑定的银行卡开户省份,具体见附件二绑定对公账户时必选 |
| 银行卡开户地区 | card_area | 定长4位String | 可选 | 本次取现绑卡待绑定的银行卡开户地区,具体见附件二绑定对公账户时必选 |
| 是否默认取现卡 | is_default | 定长8位String | 必须 | 00000000:非默认取现卡00000001:默认取现卡用户首次绑卡时,无论传任何值,绑定成功后都会设置为默认取现卡;用户已有默认取现卡时,新绑定默认取现卡会替换掉原有默认取现卡 |
| 手续费金额 | fee_amt | 变长14位String | 可选 | 手续费金额,格式为###.00 |
| 手续费子账户号 | fee_acct_id | 变长9位String | 可选 | 手续费扣款子账户号 |
| 后台返回地址 | bg_ret_url | 变长128位String | 必须 | 返参中的URL为UTF-8字符集URLEncode编码后的字符串,商户应解码获取原文 |
| 商户私有域 | mer_priv | 变长128位String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回。注意:如参数中包含中文,应对参数进行Base64加密后再使用 |
| 扩展域 | extension | 变长512位String | 可选 | 用于扩展请求参数 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序:
cmd_id+resp_code+mer_cust_id+user_cust_id+order_date+order_id+platform_seq_id+bank_id+card_no+dc_flag+card_prov+card_area+is_default+fee_amt+fee_acct_id+bg_ret_url+mer_priv+extension
解绑快捷/代扣卡
String result = new String();
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("https://finance.chinapnr.com/asharp/merchantRequest");
try {
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("version", "10"));
nvps.add(new BasicNameValuePair("cmd_id", "105"));
nvps.add(new BasicNameValuePair("mer_cust_id", "6666000000000001"));
nvps.add(new BasicNameValuePair("order_date", "20180327"));
nvps.add(new BasicNameValuePair("order_id", "10000000001"));
.......
post.setEntity(new UrlEncodedFormEntity(nvps));
HttpResponse httpResponse = client.execute(post);
int code = httpResponse.getStatusLine().getStatusCode();
String returnStr = EntityUtils.toString(httpResponse.getEntity());
} catch (Exception e) {
e.printStackTrace();
}
成功响应
200
{
"cmd_id": "105",
"resp_code": "105000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应
200
{
"cmd_id": "105",
"resp_code": "105003",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000000001",
"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 | 必须 | 具体见附件一:快捷充值支持银行列表 |
| 银行卡号 | card_no | 变长32位String | 必须 | 银行卡号 |
| 银行卡预留手机号 | card_mobile | 变长11位String | 必须 | 银行卡预留手机号 |
| 短信验证码日期 | sms_order_date | 定长8位String | 可选 | 与sms_code对应的验证码发送订单日期 |
| 短信验证码订单号 | sms_order_id | 变长20位String | 可选 | 与sms_code对应的验证码发送订单号 |
| 短信验证码 | sms_code | 定长6位String | 可选 | 短信验证码,测试环境调试时可以使用666666通过验证。 |
| 商户后台应答地址 | 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.二级商户号录入接口 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序: version+cmd_id+mer_cust_id+user_cust_id+order_date+order_id+bank_id+card_no+card_mobile+sms_code+sms_order_date+sms_order_id+bg_ret_url+mer_priv+extension
返回参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 接口标识 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为105 |
| 应答返回码 | resp_code | 定长6位String | 必须 | 105000–调用成功,其他见:返回码表 |
| 应答描述 | 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位内数字或字母的组合 |
| 银行代码 | bank_id | 定长8位String | 必须 | 具体见附件一:快捷充值支持银行列表 |
| 银行卡号 | card_no | 变长32位String | 必须 | 银行卡号 |
| 银行卡预留手机号 | 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 | 必须 | 返参中的URL为UTF-8字符集URLEncode编码后的字符串,商户应解码获取原文 |
| 商户私有域 | mer_priv | 变长120位String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回。注意:如参数中包含中文,应对参数进行Base64加密后再使用。 |
| 返参扩展域 | extension | 变长512位String | 可选 | 用于扩展请求参数 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序:
cmd_id+resp_code+mer_cust_id+user_cust_id+order_date+order_id+bank_id+card_no+card_mobile+sms_code+sms_order_date+sms_order_id+bg_ret_url+mer_priv+extension
删除取现卡
String result = new String();
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("https://finance.chinapnr.com/asharp/merchantRequest");
try {
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("version", "10"));
nvps.add(new BasicNameValuePair("cmd_id", "108"));
nvps.add(new BasicNameValuePair("mer_cust_id", "6666000000000001"));
nvps.add(new BasicNameValuePair("order_date", "20180327"));
nvps.add(new BasicNameValuePair("order_id", "10000000001"));
.......
post.setEntity(new UrlEncodedFormEntity(nvps));
HttpResponse httpResponse = client.execute(post);
int code = httpResponse.getStatusLine().getStatusCode();
String returnStr = EntityUtils.toString(httpResponse.getEntity());
} catch (Exception e) {
e.printStackTrace();
}
成功响应
200
{
"cmd_id": "108",
"resp_code": "108000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应
200
{
"cmd_id": "108",
"resp_code": "108003",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
接口功能说明
用于个人用户、企业用户和商户删除非默认取现卡
调用方式
后台调用
应答方式
同步后台应答、异步应答
接口类型
同步
请求参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 版本号 | version | 定长2位String | 必须 | 固定为10,如版本升级,能向前兼容 |
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为108 |
| 商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 用户客户号 | user_cust_id | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识 |
| 订单日期 | order_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 |
| 订单号 | order_id | 变长20位String | 必须 | 由商户生成,必须保证唯一,20位内数字或字母的组合 |
| 开户银行卡号 | card_no | 变长32位String | 必须 | 本次删除取现卡待删除的银行卡号,不可为用户默认取现卡 |
| 商户后台应答地址 | bg_ret_url | 变长128位的String | 必须 | 通过后台异步通知,商户应在应答接收的响应中输出RECV_ORD_ID字样的字符串,表明商户已经收到该笔交易结果。注意:1)URL应使用UTF-8字符集URLEncode编码后传入2)URL中请不要包含特殊字符3)必须是外网地址 |
| 商户私有域 | mer_priv | 变长128位的String | 必须 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回。注意:如参数中包含中文,应对参数进行Base64加密后再使用。 |
| 入参扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数若需要进行二级商户号验证,则必传,格式:{“sub_mer_cust_id”:“111111111111”}二级商户号由汇付生成,详见4.2.13.二级商户号录入接口 |
| 签名 | check_value | 变长256位的String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序:
version+cmd_id+mer_cust_id+user_cust_id+order_date+order_id+card_no+bg_ret_url+mer_priv+extension
返回参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为108 |
| 应答返回码 | resp_code | 定长6位String | 必须 | 108000–调用成功,其他见:返回码表 |
| 应答返回描述 | 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位系统流水号 |
| 开户银行卡号 | card_no | 变长32位String | 必须 | 本次删除取现卡待删除的银行卡号,不可为用户默认取现卡 |
| 商户后台应答地址 | bg_ret_url | 变长128位的String | 必须 | 通过后台异步通知,商户应在应答接收的响应中输出RECV_ORD_ID字样的字符串,表明商户已经收到该笔交易结果。注意:1)URL应使用UTF-8字符集URLEncode编码后传入2)URL中请不要包含特殊字符3)必须是外网地址 |
| 商户私有域 | mer_priv | 变长128位的String | 必须 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回。注意:如参数中包含中文,应对参数进行Base64加密后再使用。 |
| 入参扩展域 | extension | 变长512位的String | 可选 | 用于扩展请求参数 |
| 签名 | check_value | 变长256位的String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序:
cmd_id+resp_code+mer_cust_id+user_cust_id+order_date+order_id+platform_seq_id+card_no+bg_ret_url+ mer_priv+ extension
短信验证码发送
String result = new String();
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("https://finance.chinapnr.com/asharp/merchantRequest");
try {
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("version", "10"));
nvps.add(new BasicNameValuePair("cmd_id", "110"));
nvps.add(new BasicNameValuePair("mer_cust_id", "6666000000000001"));
nvps.add(new BasicNameValuePair("order_date", "20180327"));
nvps.add(new BasicNameValuePair("order_id", "10000000001"));
.......
post.setEntity(new UrlEncodedFormEntity(nvps));
HttpResponse httpResponse = client.execute(post);
int code = httpResponse.getStatusLine().getStatusCode();
String returnStr = EntityUtils.toString(httpResponse.getEntity());
} catch (Exception e) {
e.printStackTrace();
}
成功响应
200
{
"cmd_id": "110",
"resp_code": "110000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应
200
{
"cmd_id": "110",
"resp_code": "110003",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
接口功能说明
用于个人用户开户、解绑快捷卡、快捷充值和后台快捷绑卡接口发送短信验证码
调用方式
后台调用
应答方式
同步后台应答
接口类型
同步
请求参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 版本号 | version | 定长2位String | 必须 | 固定为10,如版本升级,能向前兼容 |
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为110 |
| 商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 用户客户号 | user_cust_id | 定长16位String | 可选 | 由汇付生成,用户的唯一性标识注:快捷充值短信发送必传 |
| 订单日期 | order_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 |
| 订单号 | order_id | 变长20位String | 必须 | 由商户生成,必须保证唯一,20位内数字或字母的组合 |
| 业务类型 | business_type | 定长3位String | 必须 | 101:用户开户105:解绑快捷卡113:后台快捷绑卡201:快捷充值 |
| 用户手机号 | user_mobile | 定长11位String | 必须 | 待接收短信验证码的手机号 |
| 签名 | check_value | 定长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序: version+cmd_id+mer_cust_id+user_cust_id+order_date+order_id+business_type+user_mobile
返回参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 消息类型 | cmd_id | 定长3位Sring | 必须 | 每一种消息类型代表一种交易,此处为110 |
| 返回码 | resp_code | 定长6位String | 必须 | 110000–调用成功,其他见:返回码表 |
| 结果描述 | resp_desc | 变长String | 必须 | 返回码的对应中文描述 |
| 商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 用户客户号 | user_cust_id | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识 |
| 订单日期 | order_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 |
| 订单号 | order_id | 变长20位String | 必须 | 由商户生成,必须保证唯一,20位内数字或字母的组合 |
| 业务类型 | business_type | 定长3位String | 必须 | 101:用户开户105:解绑快捷卡201:快捷充值 |
| 用户手机号 | user_mobile | 定长11位String | 必须 | 待接收短信验证码的手机号 |
| 签名 | check_value | 定长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序:
cmd_id+resp_code+mer_cust_id+user_cust_id+order_date+order_id+business_type+user_mobile
二级商户录入
String result = new String();
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("https://finance.chinapnr.com/asharp/merchantRequest");
try {
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("version", "10"));
nvps.add(new BasicNameValuePair("cmd_id", "114"));
nvps.add(new BasicNameValuePair("mer_cust_id", "6666000000000001"));
nvps.add(new BasicNameValuePair("order_date", "20180327"));
nvps.add(new BasicNameValuePair("order_id", "10000000001"));
.......
post.setEntity(new UrlEncodedFormEntity(nvps));
HttpResponse httpResponse = client.execute(post);
int code = httpResponse.getStatusLine().getStatusCode();
String returnStr = EntityUtils.toString(httpResponse.getEntity());
} catch (Exception e) {
e.printStackTrace();
}
成功响应
200
{
"cmd_id": "114",
"resp_code": "101000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应
200
{
"cmd_id": "114",
"resp_code": "101003",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
接口功能说明
二级商户录入
调用方式
后台调用
应答方式
同步后台应答、异步应答
接口类型
同步+异步
请求参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 版本号 | version | 定长2位String | 是 | 目前固定为10 |
| 消息类型 | cmd_id | 定长3位String | 是 | 每一种消息类型代表一种交易,此处为“114” |
| 订单日期 | order_date | 定长8位String | 是 | 格式为YYYYMMDD,例如:20160307 |
| 订单号 | order_id | 变长20位String | 是 | 由商户生成,必须保证唯一,20位内数字或字母的组合 |
| 商户客户号 | mer_cust_id | 定长16位String | 是 | 由汇付生成,商户的唯一性标识 |
| 二级商户名 | sub_mer_cust_name | 变长50位String | 是 | 二级商户名称,中文应使用UTF-8字符集URLEncode编码后传入 |
| 商户后台应答地址 | bg_ret_url | 变长128位的String | 是 | 通过后台异步通知,商户应在应答接收的响应中输出RECV_ORD_ID字样的字符串,表明商户已经收到该笔交易结果。注意:1)URL应使用UTF-8字符集URLEncode编码后传入2)URL中请不要包含特殊字符3)必须是外网地址 |
| 商户私有域 | mer_priv | 变长120位的String | 否 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回。注意:如参数中包含中文,应对参数进行Base64加密后再使用。 |
| 入参扩展域 | extension | 变长512位的String | 否 | 用于扩展请求参数 |
| 签名 | check_value | 变长256位的String | 是 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序: version+cmd_id+mer_cust_id+order_date+order_id+cert_id+card_mobile+bank_id+card_no+dc_flag+card_prov+card_area+bg_ret_url+ret_url+mer_priv+extension+page_type
返回参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 消息类型 | cmd_id | 定长3位String | 是 | 每一种消息类型代表一种交易,此处为“114” |
| 应答返回码 | resp_code | 定长6位String | 是 | 114000–调用成功,其他见返回码附件表 |
| 应答返回描述 | resp_desc | 变长String | 是 | 返回码的对应中文描述 |
| 商户客户号 | mer_cust_id | 定长16位String | 是 | 由汇付生成,商户的唯一性标识 |
| 二级商户号 | sub_mer_cust_id | 变长20位String | 否 | 二级商户号,20位内数字或字母的组合,录入成功(返回码:114000)时必返 |
| 订单日期 | order_date | 定长8位String | 是 | 格式为YYYYMMDD,例如:20160307 |
| 订单号 | order_id | 变长20位String | 是 | 由商户生成,必须保证唯一,20位内数字或字母的组合 |
| 平台流水号 | platform_seq_id | 定长18位String | 否 | 组成规则:8位本平台日期+10位系统流水号,录入成功(返回码:114000)时必返 |
| 商户私有域 | mer_priv | 变长120位的String | 否 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回。注意:如参数中包含中文,应对参数进行Base64加密后再使用。 |
| 签名 | check_value | 变长256位的String | 是 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序:
cmd_id+resp_code+mer_cust_id+sub_mer_cust_id+order_date+order_id+platform_seq_id+mer_priv
人脸支付绑定
String result = new String();
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("https://finance.chinapnr.com/asharp/merchantRequest");
try {
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("version", "10"));
nvps.add(new BasicNameValuePair("cmd_id", "118"));
nvps.add(new BasicNameValuePair("mer_cust_id", "6666000000000001"));
nvps.add(new BasicNameValuePair("order_date", "20180327"));
nvps.add(new BasicNameValuePair("order_id", "10000000001"));
.......
post.setEntity(new UrlEncodedFormEntity(nvps));
HttpResponse httpResponse = client.execute(post);
int code = httpResponse.getStatusLine().getStatusCode();
String returnStr = EntityUtils.toString(httpResponse.getEntity());
} catch (Exception e) {
e.printStackTrace();
}
成功响应
200
{
"cmd_id": "118",
"resp_code": "101000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应
200
{
"cmd_id": "118",
"resp_code": "101003",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
接口功能说明
人脸绑定接口,用于后续人脸支付
调用方式
后台调用
应答方式
同步页面应答、异步应答
接口类型
同步接口
请求参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 版本号 | version | 定长2位String | 必须 | 目前固定为10 |
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为118 |
| 商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 用户客户号 | user_cust_id | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识 |
| 订单日期 | order_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 |
| 订单号 | order_id | 变长20位String | 必须 | 由商户生成,必须保证唯一,20位内数字或字母的组合 |
| 人脸认证流水 | realme_seq_id | 变长20位String | 必须 | 人脸公安验证流水 |
| 商户后台应答地址 | bg_ret_url | 变长128位String | 必须 | 通过后台异步通知,商户应在应答接收的响应中输出RECV_ORD_ID字样的字符串,表明商户已经收到该笔交易结果。注意:1)URL应使用UTF-8字符集URLEncode编码后传入2)URL中请不要包含“附件三:BgRetUrl中禁止的字符串列表”的字符串3)必须是外网地址 |
| 商户私有域 | mer_priv | 变长120位String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回。注意:如参数中包含中文,应对参数进行Base64加密后再使用 |
| 扩展域 | extension | 变长512位String | 可选 | 用于扩展请求参数若需要进行二级商户号验证,则必传,格式:{“sub_mer_cust_id”:“111111111111”}二级商户号由汇付生成,详见4.2.9.二级商户号录入接口 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序:
version+cmd_id+mer_cust_id+user_cust_id+order_date+order_id+realme_seq_id+bg_ret_url+mer_priv+extension
返回参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为118 |
| 应答返回码 | resp_code | 定长6位String | 必须 | 118000–调用成功,其他见附件四:返回码表 |
| 应答返回描述 | 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位系统流水号 |
| 商户私有域 | mer_priv | 变长120位String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回。注意:如参数中包含中文,应对参数进行Base64加密后再使用 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序:
cmd_id+resp_code+mer_cust_id+user_cust_id+order_date+order_id+platform_seq_id+mer_priv
交易类
充值/支付
String result = new String();
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("https://finance.chinapnr.com/asharp/merchantRequest");
try {
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("version", "10"));
nvps.add(new BasicNameValuePair("cmd_id", "201"));
nvps.add(new BasicNameValuePair("mer_cust_id", "6666000000000001"));
nvps.add(new BasicNameValuePair("order_date", "20180327"));
nvps.add(new BasicNameValuePair("order_id", "10000000001"));
.......
post.setEntity(new UrlEncodedFormEntity(nvps));
HttpResponse httpResponse = client.execute(post);
int code = httpResponse.getStatusLine().getStatusCode();
String returnStr = EntityUtils.toString(httpResponse.getEntity());
} catch (Exception e) {
e.printStackTrace();
}
成功响应
200
{
"cmd_id": "201",
"resp_code": "101000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应
200
{
"cmd_id": "201",
"resp_code": "101003",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
接口功能说明
接口功能说明:用于网银充值/支付,免注册网银支付、快捷支付和代扣支付
充值类型recharge_type=02020000,个人网银充值
充值类型recharge_type=02020001,企业网银充值
充值类型recharge_type=02020002,快捷充值(仅支持个人用户)
充值类型recharge_type=02020003,代扣充值(仅支持个人用户),此类充值sign_seq_id不能为空
充值类型recharge_type=02020006,二段式快捷支付,阶段标识和业务请求流水不能为空
交易类型trans_type=02020100,仅是充值到用户账户
交易类型trans_type=02020101,包含支付功能,即充值到用户账户后再转账到另一账户,此类交易in_cust_id和div_detail不能为空
调用方式
网银(包括个人与企业):页面调用
快捷/代扣:后台调用
应答方式
网银(包括个人与企业):同步页面应答、异步应答
快捷/代扣:同步后台应答、异步应答
接口类型
网银(包括个人与企业):同步+异步
快捷/代扣:异步
请求参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 版本号 | version | 定长2位String | 必须 | 目前固定为10 |
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为201 |
| 商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 用户客户号 | user_cust_id | 定长16位String | 可选 | 由汇付生成,用户的唯一性标识交易类型为免注册网银支付时,非必传 |
| 订单日期 | order_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 |
| 订单号 | order_id | 变长20位String | 必须 | 由商户生成,必须保证唯一,20位内数字或字母的组合 |
| 交易类型 | trans_type | 定长8位String | 必须 | 02020100:充值02020101:支付02020102:免注册网银支付02020103:非消费金融代扣支付个人用户支持支付和免注册网银支付交易 |
| 充值类型 | recharge_type | 定长8位String | 必须 | 02020000:个人网银02020001:企业网银02020002:快捷02020003:代扣02020006:二段式快捷交易类型为免注册网银支付时,充值类型仅支持个人网银和企业网银 |
| 阶段标志 | step_flag | 定长2位String | 可选 | 01:快捷支付请求02:快捷支付确认充值类型为二段式快捷时必填 |
| 业务请求流水 | biz_trans_id | 变长20位String | 可选 | 标志一个二段式快捷请求,商户下判断唯一,只能是数字和字母充值类型为二段式快捷时必填 |
| 交易金额 | trans_amt | 变长14位String | 必须 | 交易金额,格式为###.00 |
| 开户银行代号 | bank_id | 变长8位String | 可选 | 个人/企业网银充值必传快捷/代扣充值非必传,可为空 |
| 借贷标记 | dc_flag | 定长1位String | 可选 | 个人/企业网银充值必传快捷/代扣充值非必传,可为空D–借记C–贷记 |
| 短信验证码 | sms_code | 定长6位String | 可选 | 与快捷绑卡时的银行预留手机号对应的短信验证码 |
| 短信验证码日期 | sms_order_date | 变长8位String | 可选 | 快捷充值使用,与sms_code对应的验证码订单日期 |
| 短信验证码订单号 | sms_order_id | 变长20位String | 可选 | 快捷充值使用,与sms_code对应的验证码订单号 |
| 代扣签约流水 | sign_seq_id | 变长18位String | 可选 | 代扣签约订单唯一标识,代扣充值必传,其他充值不需传 |
| 入账客户号 | in_cust_id | 定长16位String | 可选 | 业务类型为支付时必传,且入账客户号不能是充值客户本人,多条分账可不传 |
| 分账账户串 | div_detail | 变长String | 可选 | 业务类型为支付时必传,分账账户必须是入账客户的账户,分账串使用UTF-8字符集URLEncode编码后传入数据格式:[{“in_cust_id”:“6666000000123456”,“div_acct_id”:“000001”,“div_amt”:“1.00”},{“in_cust_id”:“6666000000123457”,“div_acct_id”:“000002”,“div_amt”:“1.00”}]分账串金额之和需等于充值金额支持多条分账指令 |
| 分账入账客户号 | in_cust_id | 定长16位String | 可选 | div_detail参数下的二级参数分账入账客户号 |
| 分账账户号 | div_acct_id | 变长9位String | 可选 | div_detail参数下的二级参数分账账户号 |
| 分账金额 | div_amt | 变长14位String | 可选 | div_detail参数下的二级参数分账金额,保留两位小数 |
| 商户前台应答地址 | ret_url | 变长128位String | 可选 | 网银充值/支付必传交易完成后,本平台系统把交易结果通过页面方式,发送到该地址上注意:1)URL应使用UTF-8字符集URLEncode编码后传入;2)URL中请不要包含特殊字符3)必须是外网地址 |
| 商户后台应答地址 | 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.二级商户号录入接口 |
| 银行卡号 | card_no | 变长32位String | 可选 | 代扣支付使用的卡号,不传时默认使用最新绑定的代扣卡 |
| 交易场景 | trans_scene | 定长3位 | 可选 | 交易类型为免注册网银支付时,必传001:投资理财002:实物买卖/租赁003:虚拟物品购买/购买服务004:缴费005:还款006:账户充值 |
| 交易场景小类 | trans_scene_sub | 定长6位 | 可选 | 交易类型为免注册网银支付时,必传001001:定期001002:活期002001:数码及家用电器002002:家具建材002003:生活用品(含:服饰、美容、箱包、玩具、图书/音像、食品等)002004:珠宝/古玩/贵金属/邮币卡002005:医药003001:游戏点卡003002:电话费003003:储值卡003004:服务(含:旅游、美容、按摩、入场消费的美食团购等)004001:公共事业004002:手机话费004003:教育004004:房屋租赁/物业费005001:到期还款005002:提前还款005003:预期还款005004:活期赎回006001:其他 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序: version+cmd_id+mer_cust_id+user_cust_id+order_date+order_id+trans_type+recharge_type+step_flag+biz_trans_id+trans_amt+bank_id+dc_flag+sms_code+sms_order_date+sms_order_id+sign_seq_id+in_cust_id+div_detail+ret_url+bg_ret_url+mer_priv+extension+card_no+trans_scene+trans_scene_sub
返回参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 消息类型 | cmd_id | 变长String | 必须 | 每一种消息类型代表一种交易,此处为201 |
| 应答返回码 | resp_code | 定长6位String | 必须 | 201000–调用成功,其他见:返回码表 |
| 应答返回描述 | 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 | 必须 | 02020100:充值02020101:支付02020102:免注册支付个人用户仅支持支付交易 |
| 充值类型 | recharge_type | 定长8位String | 必须 | 02020000:个人网银02020001:企业网银02020002:快捷02020003:代扣02020006:二段式快捷交易类型为免注册支付时,充值类型只支持个人网银和企业网银 |
| 阶段标志 | step_flag | 定长2位String | 可选 | 01:快捷支付请求02:快捷支付确认 |
| 业务请求流水 | biz_trans_id | 变长20位String | 可选 | 标志一个二段式快捷请求,商户下判断唯一,只能是数字和字母 |
| 交易金额 | trans_amt | 变长14位String | 必须 | 交易金额,格式为###.00 |
| 开户银行代号 | bank_id | 变长8位String | 可选 | 个人/企业网银充值必传快捷/代扣充值非必传,可为空 |
| 借贷标记 | dc_flag | 定长1位String | 可选 | 个人/企业网银充值必传快捷/代扣充值非必传,可为空D–借记C–贷记 |
| 短信验证码 | sms_code | 定长6位String | 可选 | 与快捷绑卡时的银行预留手机号对应的短信验证码 |
| 短信验证码日期 | sms_order_date | 定长8位String | 可选 | 快捷充值使用,与sms_code对应的验证码订单日期 |
| 短信验证码订单号 | sms_order_id | 变长20位String | 可选 | 快捷充值使用,与sms_code对应的验证码订单号 |
| 代扣签约流水号 | sign_seq_id | 变长18位String | 可选 | 代扣签约订单唯一标识,代扣充值必传,其他充值不需传 |
| 入账客户号 | in_cust_id | 定长16位String | 可选 | 业务类型为支付时必传,且入账客户号不能是充值客户本人 |
| 分账账户串 | div_detail | 变长String | 可选 | 业务类型为支付时必传,分账账户必须是入账客户的账户数据格式:[{“div_acct_id”:“000001”,“div_amt”:“1.00”},{“div_acct_id”:“000002”,“div_amt”:“2.00”}]分账串金额之和需等于充值金额支持多条分账指令 |
| 分账账户号 | div_acct_id | 变长9位String | 可选 | div_detai参数下的二级参数分账账户号 |
| 分账金额 | div_amt | 变长14位String | 可选 | div_detai参数下的二级参数分账金额,保留两位小数 |
| 手续费金额 | fee_amt | 变长14位String | 可选 | 手续费金额,格式为###.00 |
| 手续费扣款客户号 | fee_cust_id | 定长16位String | 可选 | 手续费扣款客户号 |
| 手续费子账户号 | fee_acct_id | 变长9位String | 可选 | 手续费扣款子账户号 |
| 商户前台应答地址 | ret_url | 变长128位String | 可选 | 返参中的URL为UTF-8字符集URLEncode编码后的字符串,商户应解码获取原文。 |
| 商户后台应答地址 | bg_ret_url | 变长128位String | 必须 | 返参中的URL为UTF-8字符集URLEncode编码后的字符串,商户应解码获取原文。 |
| 商户私有域 | mer_priv | 变长120位String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回。注意:如参数中包含中文,应对参数进行Base64加密后再使用。 |
| 扩展域 | extension | 变长512位String | 可选 | 用于扩展请求参数 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值。 |
本接口加签拼接顺序:
cmd_id+resp_code+mer_cust_id+user_cust_id+order_date+order_id+platform_seq_id+trans_type+recharge_type+step_flag+biz_trans_id+trans_amt+bank_id+dc_flag+sms_code+sms_order_date+sms_order_id+sign_seq_id+in_cust_id+div_detail+fee_amt+fee_cust_id+fee_acct_id+ret_url+bg_ret_url+mer_priv+extension
快捷支付
String result = new String();
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("https://finance.chinapnr.com/asharp/merchantRequest");
try {
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("version", "10"));
nvps.add(new BasicNameValuePair("cmd_id", "206"));
nvps.add(new BasicNameValuePair("mer_cust_id", "6666000000000001"));
nvps.add(new BasicNameValuePair("order_date", "20180327"));
nvps.add(new BasicNameValuePair("order_id", "10000000001"));
.......
post.setEntity(new UrlEncodedFormEntity(nvps));
HttpResponse httpResponse = client.execute(post);
int code = httpResponse.getStatusLine().getStatusCode();
String returnStr = EntityUtils.toString(httpResponse.getEntity());
} catch (Exception e) {
e.printStackTrace();
}
成功响应
200
{
"cmd_id": "206",
"resp_code": "101000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应
200
{
"cmd_id": "206",
"resp_code": "101003",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
接口功能说明
包括开户、绑卡和快捷支付功能
调用方式
后台调用
应答方式
同步后台应答、异步应答
接口类型
异步
请求参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 版本号 | version | 定长2位String | 必须 | 目前固定为10 |
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为206 |
| 商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 订单日期 | order_date | 定长8位String | 必须 | 格式为“yyyyMMdd” |
| 订单号 | order_id | 变长20位String | 必须 | 由商户的系统生成,订单号和订单日期保证唯一 |
| 用户客户号 | user_cust_id | 定长16位String | 可选 | 由汇付生成,商户的唯一性标识条件可选:如用户已经开户,可选填该参数,如填写,接口会以该参数来辨识用户,不再匹配客户用户名和身份证号的正确性,但依然会校验参数格式;如不填写,接口会以客户用户名及身份证号匹配客户;如果用户未开户,请不填该参数 |
| 客户用户名 | user_name | 变长50位String | 可选 | 用户的真实姓名条件可选,条件参考用户客户号描述 |
| 身份证号 | cert_id | 定长18位String | 可选 | 用户身份证号,目前仅支持身份证条件可选,条件参考用户客户号描述 |
| 银行预留手机号 | card_mobile | 变长11位String | 必须 | 本次快捷绑卡待绑定的银行卡,在银行开户时的预留手机号,变长11位数字 |
| 开户银行代号 | bank_id | 变长8位String | 必须 | 具体见附件一:代扣充值支持银行列表 |
| 银行卡号 | card_no | 变长32位String | 必须 | 待绑定的银行卡号 |
| 借贷标记 | dc_flag | 定长1位String | 必须 | D—借记,储蓄卡C—贷记,信用卡 |
| 贷记卡CVV2 | cvv2 | 定长3位 | 可选 | 当dc_flag为C时,必传cvv2 |
| 贷记卡有效期 | valid_date | 定长4位 | 可选 | 当dc_flag为C时,必传cvv2 |
| 银行卡开户省份 | card_prov | 定长4位String | 可选 | 银行卡开户省份 |
| 银行卡开户地区 | card_area | 定长4位String | 可选 | 银行卡开户地区 |
| 阶段标志 | step_flag | 定长2位String | 必选 | 01:验卡阶段02:验证短信阶段 |
| 业务请求流水 | biz_trans_id | 变长20位String | 必选 | 标志一个快捷支付请求,商户下判断唯一,只能是数字和字母 |
| 交易金额 | trans_amt | 变长14位String | 必须 | 交易金额,格式为###.00 |
| 入账客户号 | in_cust_id | 定长16位String | 必须 | 入账客户号不能是充值客户本人 |
| 分账账户串 | div_detail | 变长String | 必须 | 分账账户必须是入账客户的账户,分账串使用UTF-8字符集URLEncode编码后传入数据格式:[{“div_acct_id”:“000001”,“div_amt”:“1.00”},{“div_acct_id”:“000002”,“div_amt”:“2.00”}]分账串金额之和需等于充值金额支持多条分账指令 |
| 分账账户号 | div_acct_id | 变长9位String | 可选 | div_detail参数下的二级参数分账账户号 |
| 分账金额 | div_amt | 变长14位String | 可选 | div_detail参数下的二级参数分账金额,保留两位小数 |
| 短信验证码 | sms_code | 定长6位String | 可选 | 银行预留手机号对应的短信验证码,调用接口验卡阶段获取,调用接口验证短信阶段此参数必填 |
| 商户后台应答地址 | 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.二级商户号录入接口 |
| 签名 | check_value | 变长256位的String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序: version+cmd_id+mer_cust_id+order_date+order_id+user_cust_id+cert_id+card_mobile+bank_id+card_no+dc_flag+cvv2+valid_date+card_prov+card_area+step_flag+biz_trans_id+trans_amt+in_cust_id+div_detail+sms_code+bg_ret_url+mer_priv+extension
返回参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为“206” |
| 应答返回码 | resp_code | 定长6位String | 必须 | 206000–调用成功,其他见返回码附件表 |
| 应答返回描述 | resp_desc | 变长String | 必须 | 返回码的对应中文描述 |
| 商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 用户客户号 | user_cust_id | 定长16位String | 可选 | 由汇付生成,用户的唯一性标识,成功时必返 |
| 交易金额 | trans_amt | 变长14位String | 必须 | 交易金额,格式为###.00 |
| 用户账户号 | acct_id | 变长8位String | 可选 | 用户账户号新开户且成功时必返 |
| 订单日期 | order_date | 定长8位String | 必须 | 格式为“yyyyMMdd” |
| 订单号 | order_id | 变长20位String | 必须 | 由商户的系统生成,订单号和订单日期保证唯一 |
| 本平台交易唯一标识号 | platform_seq_id | 定长18位String | 必须 | 组成规则:8位本平台日期+10位系统流水号 |
| 验卡手续费金额 | verify_fee_amt | 变长14位String | 可选 | 验卡手续费金额,格式为###.00 |
| 验卡手续费子账户号 | verify_fee_acct_id | 变长9位String | 可选 | 验卡手续费扣款子账户号 |
| 支付手续费金额 | pay_fee_amt | 变长14位String | 可选 | 支付手续费金额,格式为###.00 |
| 支付手续费子账户号 | pay_fee_acct_id | 变长9位String | 可选 | 支付验卡手续费扣款子账户号 |
| 商户私有域 | mer_priv | 变长120位的String | 可选 | 为商户的自定义字段 |
| 签名 | check_value | 变长256位的String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序:
cmd_id+resp_code+mer_cust_id+user_cust_id+trans_amt+acct_id+order_date+order_id+platform_seq_id+verify_fee_amt+verify_fee_acct_id+pay_fee_amt+pay_fee_acct_id+mer_priv
直接代扣
String result = new String();
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("https://finance.chinapnr.com/asharp/merchantRequest");
try {
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("version", "10"));
nvps.add(new BasicNameValuePair("cmd_id", "207"));
nvps.add(new BasicNameValuePair("mer_cust_id", "6666000000000001"));
nvps.add(new BasicNameValuePair("order_date", "20180327"));
nvps.add(new BasicNameValuePair("order_id", "10000000001"));
.......
post.setEntity(new UrlEncodedFormEntity(nvps));
HttpResponse httpResponse = client.execute(post);
int code = httpResponse.getStatusLine().getStatusCode();
String returnStr = EntityUtils.toString(httpResponse.getEntity());
} catch (Exception e) {
e.printStackTrace();
}
成功响应
200
{
"cmd_id": "207",
"resp_code": "101000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应
200
{
"cmd_id": "207",
"resp_code": "101003",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
接口功能说明
使用四要素进行直接进行代扣功能
调用方式
后台调用
应答方式
同步后台应答、异步应答
接口类型
异步
请求参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 版本号 | version | 定长2位String | 必须 | 目前固定为10 |
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为207 |
| 商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 订单日期 | order_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 |
| 订单号 | order_id | 变长20位String | 必须 | 由商户生成,必须保证唯一,20位内数字或字母的组合 |
| 付款方姓名 | user_name | 变长50位String | 必须 | 用户的真实姓名,中文应使用UTF-8字符集URLEncode编码后传入 |
| 付款方证件类型 | cert_type | 定长8位String | 必须 | 01020100:身份证01020101:护照01020102:军官证01020104:回乡证01020106:台胞证01020107:其他目前仅支持身份证 |
| 付款方证件号 | cert_id | 变长20位String | 必须 | 付款方证件号码,与证件类型对应 |
| 付款方银行预留手机号 | card_mobile | 变长11位String | 必须 | 付款方银行预留手机号,变长11位数字 |
| 付款方银行卡号 | card_no | 变长32位String | 必须 | 付款方银行卡号,变长32位数字 |
| 交易金额 | trans_amt | 变长14位String | 必须 | 交易金额,格式为###.00 |
| 银行账户类型 | card_type | 定长8位String | 必须 | 01050001:对公账户01050000:对私账户目前仅支持对私 |
| 入款方账户号 | in_cust_acct_id | 变长9位String | 必须 | 入款方账户号 |
| 入款方用户号 | in_cust_id | 定长16位String | 必须 | 入款方客户号,不能是出款方客户号 |
| 商户后台应答地址 | bg_ret_url | 变长128位String | 必须 | 通过后台异步通知,商户应在应答接收的响应中输出RECV_ORD_ID字样的字符串,表明商户已经收到该笔交易结果。注意:1)URL应使用UTF-8字符集URLEncode编码后传入2)URL中请不要包含“附件三:BgRetUrl中禁止的字符串列表”的字符串3)必须是外网地址 |
| 商户私有域 | mer_priv | 变长120位String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回。注意:如参数中包含中文,应对参数进行Base64加密后再使用 |
| 扩展域 | extension | 变长512位String | 可选 | 用于扩展请求参数若需要进行二级商户号验证,则必传,格式:{“sub_mer_cust_id”:“111111111111”}二级商户号由汇付生成,详见4.2.13.二级商户号录入接口 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序: version+cmd_id+mer_cust_id+order_date+order_id+cert_type+cert_id+card_mobile+card_no+trans_amt+cardType+in_cust_acct_id+in_cust_id+bg_ret_url+mer_priv+extension
返回参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为“207” |
| 应答返回码 | resp_code | 定长6位String | 必须 | 207000–调用成功,其他见返回码附件表 |
| 应答返回描述 | resp_desc | 变长String | 必须 | 返回码的对应中文描述 |
| 商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 订单日期 | order_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 |
| 订单号 | order_id | 变长20位String | 必须 | 由商户生成,必须保证唯一,20位内数字或字母的组合 |
| 本平台交易唯一标识号 | platform_seq_id | 定长18位String | 必须 | 组成规则:8位本平台日期+10位系统流水号 |
| 手续费金额 | fee_amt | 变长14位String | 可选 | 手续费金额,格式为###.00 |
| 手续费扣款客户号 | fee_cust_id | 定长16位String | 可选 | 手续费扣款客户号 |
| 手续费子账户号 | fee_acct_id | 变长9位String | 可选 | 手续费扣款子账户号 |
| 商户私有域 | mer_priv | 变长120位String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回。注意:如参数中包含中文,应对参数进行Base64加密后再使用 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序:
cmd_id+resp_code+mer_cust_id+order_date+order_id+platform_seq_id+fee_amt+fee_cust_id+fee_acct_id+mer_priv
支付宝服务窗支付
String result = new String();
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("https://finance.chinapnr.com/asharp/merchantRequest");
try {
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("version", "10"));
nvps.add(new BasicNameValuePair("cmd_id", "212"));
nvps.add(new BasicNameValuePair("mer_cust_id", "6666000000000001"));
nvps.add(new BasicNameValuePair("order_date", "20180327"));
nvps.add(new BasicNameValuePair("order_id", "10000000001"));
.......
post.setEntity(new UrlEncodedFormEntity(nvps));
HttpResponse httpResponse = client.execute(post);
int code = httpResponse.getStatusLine().getStatusCode();
String returnStr = EntityUtils.toString(httpResponse.getEntity());
} catch (Exception e) {
e.printStackTrace();
}
成功响应
200
{
"cmd_id": "212",
"resp_code": "101000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应
200
{
"cmd_id": "212",
"resp_code": "101003",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
接口功能说明
支付宝服务窗支付
调用方式
后台调用
应答方式
同步后台应答、异步应答
接口类型
异步
请求参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 版本号 | version | 定长2位String | 必须 | 目前固定为10 |
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为212 |
| 商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 用户客户号 | user_cust_id | 定长16位String | 可选 | 由汇付生成,用户的唯一性标识 |
| 订单日期 | order_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 |
| 订单号 | order_id | 变长20位String | 必须 | 由商户生成,必须保证唯一,20位内数字或字母的组合 |
| 支付宝用户账号 | alipay_logon_id | 变长100位String | 可选 | 买家支付宝账号,和alipay_id不能同时空 |
| 支付宝用户ID | alipay_id | 变长100位String | 可选 | 买家的支付宝用户ID,和alipay_logon_id不能同时空 |
| 交易金额 | trans_amt | 变长14位String | 必须 | 交易金额,格式为###.00 |
| 入账客户号 | in_cust_id | 定长16位String | 必须 | 入账客户号不能是充值客户本人 |
| 分账账户串 | div_detail | 变长String | 必须 | 分账账户必须是入账客户的账户,分账串使用UTF-8字符集URLEncode编码后传入数据格式:[{“div_acct_id”:“000001”,“div_amt”:“1.00”},{“div_acct_id”:“000002”,“div_amt”:“2.00”}]分账串金额之和需等于充值金额支持多条分账指令 |
| 分账账户号 | div_acct_id | 变长9位String | 必须 | div_detail参数下的二级参数分账账户号 |
| 分账金额 | div_amt | 变长14位String | 必须 | div_detail参数下的二级参数分账金额,保留两位小数 |
| 业务请求流水 | biz_trans_id | 变长16位String | 必选 | 标志一个支付请求,商户下判断唯一,只能是数字和字母 |
| 商品描述 | goods_desc | 变长127位String | 必选 | 商户对于该交易的描述,UTF-8字符集URLEncode编码后传入,只校验长度 |
| 页面跳转地址 | call_back_url | 变长225位String | 可选 | 用于支付结束页面跳转用注意:1)URL应使用UTF-8字符集URLEncode编码后传入2)URL中请不要包含特殊字符3)需送绝对路径 |
| 商户后台应答地址 | 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.二级商户号录入接口 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序: version+cmd_id+mer_cust_id+user_cust_id+order_date+order_id+alipay_logon_id+alipay_id+trans_amt+in_cust_id+div_detail+biz_trans_id+call_back_url+bg_ret_url+mer_priv+extension
返回参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 消息类型 | cmd_id | 变长String | 必须 | 每一种消息类型代表一种交易,此处为212 |
| 应答返回码 | resp_code | 定长6位String | 必须 | 212000–调用成功,其他见:返回码表 |
| 应答返回描述 | 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位系统流水号 |
| 手续费金额 | fee_amt | 变长14位String | 可选 | 手续费金额,格式为###.00 |
| 手续费扣款客户号 | fee_cust_id | 定长16位String | 可选 | 手续费扣款客户号 |
| 手续费子账户号 | fee_acct_id | 变长9位String | 可选 | 手续费扣款子账户号 |
| 业务请求流水 | biz_trans_id | 变长16位String | 必选 | 标志一个支付请求,商户下判断唯一,只能是数字和字母 |
| 支付明细 | pay_info | 变长500位String | 必选 | 用于唤起支付宝 |
| 支付链接 | pay_url | 变长64位String | 必选 | 直接用此链接请求支付宝支付 |
| 用户标识 | user_label | 变长128位String | 必选 | 用户标志,支付宝是用户名 |
| 借贷标识 | dc_flag | 定长1位String | 可选 | D–借记,储蓄卡C–贷记,信用卡 |
| 现金券 | cash_coupon | 变长14位String | 可选 | 现金券金额 |
| 商户后台应答地址 | bg_ret_url | 变长128位String | 必须 | 返参中的URL为UTF-8字符集URLEncode编码后的字符串,商户应解码获取原文。 |
| 商户私有域 | mer_priv | 变长120位String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回。注意:如参数中包含中文,应对参数进行Base64加密后再使用。 |
| 扩展域 | extension | 变长512位String | 可选 | 用于扩展请求参数 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值。 |
本接口加签拼接顺序:
cmd_id+resp_code+mer_cust_id+user_cust_id+order_date+order_id+platform_seq_id+fee_amt+fee_cust_id+fee_acct_id+biz_trans_id+pay_info+pay_url+user_label+dc_flag+cash_coupon+bg_ret_url+mer_priv+extension
微信公众号支付
String result = new String();
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("https://finance.chinapnr.com/asharp/merchantRequest");
try {
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("version", "10"));
nvps.add(new BasicNameValuePair("cmd_id", "211"));
nvps.add(new BasicNameValuePair("mer_cust_id", "6666000000000001"));
nvps.add(new BasicNameValuePair("order_date", "20180327"));
nvps.add(new BasicNameValuePair("order_id", "10000000001"));
.......
post.setEntity(new UrlEncodedFormEntity(nvps));
HttpResponse httpResponse = client.execute(post);
int code = httpResponse.getStatusLine().getStatusCode();
String returnStr = EntityUtils.toString(httpResponse.getEntity());
} catch (Exception e) {
e.printStackTrace();
}
成功响应
200
{
"cmd_id": "211",
"resp_code": "101000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应
200
{
"cmd_id": "211",
"resp_code": "101003",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
接口功能说明
微信公众号支付
调用方式
后台调用
应答方式
同步后台应答、异步应答
接口类型
异步
请求参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 版本号 | version | 定长2位String | 必须 | 目前固定为10 |
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为211 |
| 商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 用户客户号 | user_cust_id | 定长16位String | 可选 | 由汇付生成,用户的唯一性标识 |
| 订单日期 | order_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 |
| 订单号 | order_id | 变长20位String | 必须 | 由商户生成,必须保证唯一,20位内数字或字母的组合 |
| 商家公众号 | open_id | 定长128位String | 必须 | 微信用户关注商家公众号的openid |
| 商家APPID | app_id | 定长32位String | 必须 | 商户app的appid |
| 商品标签 | good_tag | 变长32位String | 可选 | 商品标记,优惠标志等,包含中文请使用UTF-8字符集URLEncode编码后传入 |
| 原生态标记 | raw_flag | 变长8位String | 必须 | 原生态:00000001非原生态:00000000 |
| 交易金额 | trans_amt | 变长14位String | 必须 | 交易金额,格式为###.00 |
| 入账客户号 | in_cust_id | 定长16位String | 必须 | 入账客户号不能是客户本人 |
| 分账账户串 | div_detail | 变长String | 必须 | 分账账户必须是入账客户的账户,分账串使用UTF-8字符集URLEncode编码后传入数据格式:[{“div_acct_id”:“000001”,“div_amt”:“1.00”},{“div_acct_id”:“000002”,“div_amt”:“2.00”}]分账串金额之和需等于充值金额支持多条分账指令 |
| 分账账户号 | div_acct_id | 变长9位String | 必须 | div_detail参数下的二级参数分账账户号 |
| 分账金额 | div_amt | 变长14位String | 必须 | div_detail参数下的二级参数分账金额,保留两位小数 |
| 业务请求流水 | biz_trans_id | 变长16位String | 必选 | 标志一个支付请求,商户下判断唯一,只能是数字和字母 |
| 商品描述 | goods_desc | 变长127位String | 必选 | 商户对于该交易的描述,UTF-8字符集URLEncode编码后传入,只校验长度 |
| 页面跳转地址 | call_back_url | 变长225位String | 可选 | 用于支付结束页面跳转用注意:1)URL应使用UTF-8字符集URLEncode编码后传入2)URL中请不要包含特殊字符3)需送绝对路径 |
| 商户后台应答地址 | 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.二级商户号录入接口 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序: version+cmd_id+mer_cust_id+user_cust_id+order_date+order_id+open_id+app_id+raw_flag+trans_amt+in_cust_id+div_detail+biz_trans_id+call_back_url+bg_ret_url+mer_priv+extension
返回参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 消息类型 | cmd_id | 变长String | 必须 | 每一种消息类型代表一种交易,此处为211 |
| 应答返回码 | resp_code | 定长6位String | 必须 | 211000–调用成功,其他见:返回码表 |
| 应答返回描述 | 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位系统流水号 |
| 手续费金额 | fee_amt | 变长14位String | 可选 | 手续费金额,格式为###.00 |
| 手续费扣款客户号 | fee_cust_id | 定长16位String | 可选 | 手续费扣款客户号 |
| 手续费子账户号 | fee_acct_id | 变长9位String | 可选 | 手续费扣款子账户号 |
| 业务请求流水 | biz_trans_id | 变长16位String | 必选 | 标志一个支付请求,商户下判断唯一,只能是数字和字母 |
| 支付明细 | pay_info | 变长600位String | 可选 | json格式字符串,作用于原生态js支付时的参数 |
| 动态口令 | token_id | 变长256位String | 必选 | 用于后续接口调用中使用 |
| 借贷标识 | dc_flag | 定长1位String | 可选 | D–借记,储蓄卡C–贷记,信用卡 |
| 现金券 | cash_coupon | 变长14位String | 可选 | 现金券金额 |
| 商户后台应答地址 | bg_ret_url | 变长128位String | 必须 | 返参中的URL为UTF-8字符集URLEncode编码后的字符串,商户应解码获取原文。 |
| 商户私有域 | mer_priv | 变长120位String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回。注意:如参数中包含中文,应对参数进行Base64加密后再使用。 |
| 扩展域 | extension | 变长512位String | 可选 | 用于扩展请求参数 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值。 |
本接口加签拼接顺序:
cmd_id+resp_code+mer_cust_id+user_cust_id+order_date+order_id+platform_seq_id+fee_amt+fee_cust_id+fee_acct_id+biz_trans_id+pay_info+token_id+dc_flag+cash_coupon+bg_ret_url+mer_priv+extension
扫码支付
String result = new String();
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("https://finance.chinapnr.com/asharp/merchantRequest");
try {
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("version", "10"));
nvps.add(new BasicNameValuePair("cmd_id", "208"));
nvps.add(new BasicNameValuePair("mer_cust_id", "6666000000000001"));
nvps.add(new BasicNameValuePair("order_date", "20180327"));
nvps.add(new BasicNameValuePair("order_id", "10000000001"));
.......
post.setEntity(new UrlEncodedFormEntity(nvps));
HttpResponse httpResponse = client.execute(post);
int code = httpResponse.getStatusLine().getStatusCode();
String returnStr = EntityUtils.toString(httpResponse.getEntity());
} catch (Exception e) {
e.printStackTrace();
}
成功响应
200
{
"cmd_id": "208",
"resp_code": "101000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应
200
{
"cmd_id": "208",
"resp_code": "101003",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
接口功能说明
扫码支付生成二维码订单接口
调用方式
后台调用
应答方式
同步后台应答、异步应答
接口类型
异步
请求参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 版本号 | version | 定长2位String | 必须 | 目前固定为10 |
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为208 |
| 商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 用户客户号 | user_cust_id | 定长16位String | 可选 | 由汇付生成,用户的唯一性标识 |
| 订单日期 | order_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 |
| 订单号 | order_id | 变长20位String | 必须 | 由商户生成,必须保证唯一,20位内数字或字母的组合 |
| 扫码支付渠道 | qr_pay_channel | 定长8位String | 必须 | 二维码微信:02020400二维码支付宝:02020401二维码银联:02020402 |
| 交易金额 | trans_amt | 变长14位String | 必须 | 交易金额,格式为###.00 |
| 入账客户号 | in_cust_id | 定长16位String | 必须 | 业务类型为支付时必传,且入账客户号不能是充值客户本人 |
| 分账账户串 | div_detail | 变长String | 必须 | 业务类型为支付时必传,分账账户必须是入账客户的账户,分账串使用UTF-8字符集URLEncode编码后传入数据格式:[{“div_acct_id”:“000001”,“div_amt”:“1.00”},{“div_acct_id”:“000002”,“div_amt”:“2.00”}]分账串金额之和需等于充值金额支持多条分账指令 |
| 分账账户号 | div_acct_id | 变长9位String | 必须 | div_detail参数下的二级参数分账账户号 |
| 分账金额 | div_amt | 变长14位String | 必须 | div_detail参数下的二级参数分账金额,保留两位小数 |
| 业务请求流水 | biz_trans_id | 变长16位String | 必选 | 标志一个支付请求,商户下判断唯一,只能是数字和字母 |
| 商品描述 | goods_desc | 变长127位String | 必选 | 商户对于该交易的描述,UTF-8字符集URLEncode编码后传入,只校验长度 |
| 商户后台应答地址 | 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.9.二级商户号录入接口 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序: version+cmd_id+mer_cust_id+user_cust_id+order_date+order_id+qr_pay_channel+trans_amt+in_cust_id+div_detail+biz_trans_id+bg_ret_url+mer_priv+extension
返回参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 消息类型 | cmd_id | 变长String | 必须 | 每一种消息类型代表一种交易,此处为208 |
| 应答返回码 | resp_code | 定长6位String | 必须 | 208000–调用成功,其他见:返回码表 |
| 应答返回描述 | 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位内数字或字母的组合 |
| 二维码url | qr_code_url | 变长64位String | 必须 | 二维码url,返参中的URL为UTF-8字符集URLEncode编码后的字符串,商户应解码获取原文 |
| 本平台交易唯一标识号 | platform_seq_id | 定长18位String | 必须 | 组成规则:8位本平台日期+10位系统流水号 |
| 手续费金额 | fee_amt | 变长14位String | 可选 | 手续费金额,格式为###.00 |
| 手续费扣款客户号 | fee_cust_id | 定长16位String | 可选 | 手续费扣款客户号 |
| 手续费子账户号 | fee_acct_id | 变长9位String | 可选 | 手续费扣款子账户号 |
| 业务请求流水 | biz_trans_id | 变长16位String | 必选 | 标志一个支付请求,商户下判断唯一,只能是数字和字母 |
| 商户后台应答地址 | bg_ret_url | 变长128位String | 必须 | 返参中的URL为UTF-8字符集URLEncode编码后的字符串,商户应解码获取原文。 |
| 商户私有域 | mer_priv | 变长120位String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回。注意:如参数中包含中文,应对参数进行Base64加密后再使用。 |
| 扩展域 | extension | 变长512位String | 可选 | 用于扩展请求参数 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值。 |
本接口加签拼接顺序:
cmd_id+resp_code+mer_cust_id+user_cust_id+order_date+order_id+qr_code_url+platform_seq_id+fee_amt+fee_cust_id+fee_acct_id+biz_trans_id+bg_ret_url+mer_priv+extension
交易退款
String result = new String();
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("https://finance.chinapnr.com/asharp/merchantRequest");
try {
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("version", "10"));
nvps.add(new BasicNameValuePair("cmd_id", "209"));
nvps.add(new BasicNameValuePair("mer_cust_id", "6666000000000001"));
nvps.add(new BasicNameValuePair("order_date", "20180327"));
nvps.add(new BasicNameValuePair("order_id", "10000000001"));
.......
post.setEntity(new UrlEncodedFormEntity(nvps));
HttpResponse httpResponse = client.execute(post);
int code = httpResponse.getStatusLine().getStatusCode();
String returnStr = EntityUtils.toString(httpResponse.getEntity());
} catch (Exception e) {
e.printStackTrace();
}
成功响应
200
{
"cmd_id": "209",
"resp_code": "101000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应
200
{
"cmd_id": "209",
"resp_code": "101003",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
接口功能说明
用户交易完成后,可用于申请退款
调用方式
后台调用
应答方式
同步后台应答、异步应答
接口类型
异步
请求参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 版本号 | 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位内数字或字母的组合 |
| 交易类型 | trans_type | 定长8位String | 必须 | 02020005:二维码 |
| 原业务请求流水 | biz_trans_id | 变长20位String | 必须 | 标志一个支付请求,商户下判断唯一,只能是数字和字母 |
| 退款金额 | trans_amt | 变长14位String | 必须 | 交易金额,格式为###.00 |
| 出账客户号 | out_cust_id | 定长16位String | 必须 | 原交易的入账客户号 |
| 出账账户号 | out_acct_id | 变长9位String | 必须 | 原交易的入账客户号下的账户 |
| 手续费客户号 | fee_cust_id | 定长16位String | 可选 | 暂不支持 |
| 手续费账户号 | fee_acct_id | 变长9位String | 可选 | 暂不支持 |
| 商户后台应答地址 | bg_ret_url | 变长128位String | 必须 | 通过后台异步通知,商户应在应答接收的响应中输出RECV_ORD_ID字样的字符串,表明商户已经收到该笔交易结果。注意:1)URL应使用UTF-8字符集URLEncode编码后传入2)URL中请不要包含“附件三:BgRetUrl中禁止的字符串列表”的字符串3)必须是外网地址 |
| 商户私有域 | mer_priv | 变长120位String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回。注意:如参数中包含中文,应对参数进行Base64加密后再使用 |
| 扩展域 | extension | 变长512位String | 可选 | 用于扩展请求参数若需要进行二级商户号验证,则必传,格式:{“sub_mer_cust_id”:“111111111111”}二级商户号由汇付生成,详见4.2.9.二级商户号录入接口 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序: version+cmd_id+mer_cust_id+user_cust_id+order_date+order_id+trans_type+biz_trans_id+trans_amt+out_cust_id+out_acct_id+fee_cust_id+fee_acct_id+bg_ret_url+mer_priv+extension
返回参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为209 |
| 应答返回码 | resp_code | 定长6位String | 必须 | 209000–调用成功,其他见附件四:返回码表 |
| 应答返回描述 | resp_desc | 变长String | 必须 | 返回码的对应中文描述,中文为UTF-8字符集URLEncode编码后的字符串,商户应解码获取原文 |
| 商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 订单日期 | order_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 |
| 订单号 | order_id | 变长20位String | 必须 | 由商户生成,必须保证唯一,20位内数字或字母的组合 |
| 原业务请求流水 | biz_trans_id | 变长20位String | 必须 | 标志一个支付请求,商户下判断唯一,只能是数字和字母 |
| 本平台交易唯一标识号 | platform_seq_id | 定长18位String | 必须 | 组成规则:8位本平台日期+10位系统流水号 |
| 商户私有域 | mer_priv | 变长120位String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回。注意:如参数中包含中文,应对参数进行Base64加密后再使用 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序:
cmd_id+resp_code+mer_cust_id+order_date+order_id+biz_trans_id+platform_seq_id+mer_priv
取现
String result = new String();
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("https://finance.chinapnr.com/asharp/merchantRequest");
try {
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("version", "10"));
nvps.add(new BasicNameValuePair("cmd_id", "202"));
nvps.add(new BasicNameValuePair("mer_cust_id", "6666000000000001"));
nvps.add(new BasicNameValuePair("order_date", "20180327"));
nvps.add(new BasicNameValuePair("order_id", "10000000001"));
.......
post.setEntity(new UrlEncodedFormEntity(nvps));
HttpResponse httpResponse = client.execute(post);
int code = httpResponse.getStatusLine().getStatusCode();
String returnStr = EntityUtils.toString(httpResponse.getEntity());
} catch (Exception e) {
e.printStackTrace();
}
成功响应
200
{
"cmd_id": "202",
"resp_code": "101000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应
200
{
"cmd_id": "202",
"resp_code": "101003",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
接口功能说明
用于本平台下用户取现
调用方式
后台调用
应答方式
同步后台应答、异步应答
接口类型
T0取现:异步
T1取现:同步+异步
请求参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 版本号 | version | 定长2位String | 必须 | 目前固定为10 |
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为202 |
| 商户客户号 | 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 |
| 取现银行卡号 | card_no | 变长32位String | 可选 | 本次取现的银行卡卡号 |
| 手续费/服务费内外扣标记 | cash_deduct_type | 定长8位String | 必须 | 02030100:内扣02030101:外扣目前只支持内扣 |
| 商户收取服务费金额 | serv_fee_amt | 变长14位String | 可选 | 商户收取用户的服务费金额,格式为###.00 |
| 商户收取服务费子账户号 | serv_fee_acct_id | 变长9位String | 可选 | 服务费非空时为必填,商户用来收取服务费的子账户号 |
| 手续费收取对象 | fee_obj | 定长8位String | 可选 | 用户商户指定取现手续费的收取对象,优先级别高于商户配置的收取对象02050200:向商户收取02050201:向用户收取 |
| 手续费收取子账户 | fee_acct_id | 变长9位String | 可选 | 向商户收取时,必填向用户收取时,可忽略 |
| 取现方式 | cash_type | 定长8位String | 必须 | 02030000:T+0取现02030010:T+1取现可传的取现通道范围小于等于商户配置的取现通道 |
| 商户后台应答地址 | bg_ret_url | 变长128位String | 必须 | 通过后台异步通知,商户应在应答接收的响应中输出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.二级商户号录入接口 |
| 签名 | check_value | 定长256位的String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序: version+cmd_id+mer_cust_id+user_cust_id+order_date+order_id+trans_amt+card_no+cash_deduct_type+serv_fee_amt+serv_fee_acct_id+fee_obj+fee_acct_id+cash_type+bg_ret_url+mer_priv+extension
返回参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 消息类型 | cmd_id | 变长String | 必须 | 每一种消息类型代表一种交易,此处为202 |
| 返回码 | resp_code | 变长String | 必须 | 202000–调用成功,其他见:返回码表 |
| 结果描述 | 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位内数字或字母的组合 |
| 平台流水ID | platform_seq_id | 定长18位String | 必须 | 组成规则:8位本平台日期+10位系统流水号 |
| 交易金额 | trans_amt | 变长14位String | 必须 | 交易金额,格式为###.00 |
| 实际到账金额 | real_trans_amt | 变长14位String | 可选 | 取现成功实际到账金额,各种原因导致取现失败则不传 |
| 取现银行卡号 | card_no | 变长32位String | 可选 | 本次取现的银行卡卡号 |
| 手续费/服务费内外扣标记 | cash_deduct_type | 定长8位String | 可选 | 02030100:内扣02030101:外扣目前只支持内扣 |
| 开户银行代号 | bank_id | 变长8位String | 可选 | 具体见附件一:取现支持银行列表 |
| 商户收取服务费金额 | serv_fee_amt | 变长14位String | 可选 | 商户收取用户的服务费金额,格式为###.00 |
| 商户子账户号 | serv_fee_acct_id | 变长9位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 | 可选 | 用于扩展请求参数 |
| 签名 | check_value | 定长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序:
cmd_id+resp_code+mer_cust_id+user_cust_id+order_date+order_id+platform_seq_id+trans_amt+real_trans_amt+card_no+cash_deduct_type+bank_id+serv_fee_amt+serv_fee_acct_id+fee_amt+fee_cust_id+fee_acct_id+bg_ret_url+mer_priv+extension
转账
String result = new String();
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("https://finance.chinapnr.com/asharp/merchantRequest");
try {
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("version", "10"));
nvps.add(new BasicNameValuePair("cmd_id", "203"));
nvps.add(new BasicNameValuePair("mer_cust_id", "6666000000000001"));
nvps.add(new BasicNameValuePair("order_date", "20180327"));
nvps.add(new BasicNameValuePair("order_id", "10000000001"));
.......
post.setEntity(new UrlEncodedFormEntity(nvps));
HttpResponse httpResponse = client.execute(post);
int code = httpResponse.getStatusLine().getStatusCode();
String returnStr = EntityUtils.toString(httpResponse.getEntity());
} catch (Exception e) {
e.printStackTrace();
}
成功响应
200
{
"cmd_id": "203",
"resp_code": "101000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应
200
{
"cmd_id": "203",
"resp_code": "101003",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
接口功能说明
用于商户平台下商户转用户、用户转商户和商户子账户间的转账
调用方式
后台调用
应答方式
同步后台应答、异步应答
接口类型
同步+异步
请求参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 版本号 | version | 定长2位String | 必须 | 目前固定为10 |
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为203 |
| 商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 订单日期 | order_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 |
| 订单号 | order_id | 变长20位String | 必须 | 由商户生成,必须保证唯一,20位内数字或字母的组合 |
| 转账类型 | transfer_type | 定长8位String | 必须 | 02040000:商户转用户02040001:企业用户转商户02040002:企业用户与个人用户间转账02040003:商户子账户间转账 |
| 出账客户号 | out_cust_id | 定长16位String | 必须 | 转账出账方的客户号,出账客户不可为个人用户 |
| 出账账户号 | out_acct_id | 变长9位String | 必须 | 转账出账方的账户号 |
| 入账客户号 | in_cust_id | 定长16位String | 必须 | 转账入账方的客户号 |
| 入账账户号 | in_acct_id | 变长9位String | 必须 | 转账入账方的账户号 |
| 转账金额 | transfer_amt | 变长14位String | 必须 | 转账金额,格式为###.00 |
| 商户后台应答地址 | 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.二级商户号录入接口 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序: version+cmd_id+mer_cust_id+order_date+order_id+transfer_type+out_cust_id+out_acct_id+in_cust_id+in_acct_id+transfer_amt+bg_ret_url+mer_priv+extension
返回参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 接口标识 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为203 |
| 应答返回码 | resp_code | 定长6位String | 必须 | 203000–调用成功,其他见:返回码表 |
| 应答描述 | resp_desc | 变长String | 必须 | 返回码的对应中文描述,中文为UTF-8字符集URLEncode编码后的字符串,商户应解码获取原文 |
| 商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 订单日期 | order_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 |
| 订单号 | order_id | 变长20位String | 必须 | 由商户生成,必须保证唯一,20位内数字或字母的组合 |
| 转账类型 | transfer_type | 定长8位String | 必须 | 02040000:商户转用户02040001:企业用户转商户02040002:企业用户与个人用户间转账02040003:商户子账户间转账 |
| 出账客户号 | out_cust_id | 定长16位String | 必须 | 转账出账方的客户号,出账客户不可为个人用户 |
| 出账账户号 | out_acct_id | 变长9位String | 必须 | 转账出账方的账户号 |
| 入账客户号 | in_cust_id | 定长16位String | 必须 | 转账入账方的客户号 |
| 入账账户号 | in_acct_id | 变长9位String | 必须 | 转账入账方的账户号 |
| 转账金额 | transfer_amt | 变长14位String | 必须 | 转账金额,格式为###.00 |
| 商户后台应答地址 | bg_ret_url | 变长128位String | 必须 | 返参中的URL为UTF-8字符集URLEncode编码后的字符串,商户应解码获取原文 |
| 商户私有域 | mer_priv | 变长120位String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回。注意:如参数中包含中文,应对参数进行Base64加密后再使用。 |
| 入参扩展域 | extension | 变长512位String | 可选 | 用于扩展请求参数 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序:
cmd_id+resp_code+mer_cust_id+order_date+order_id+transfer_type+out_cust_id+out_acct_id+in_cust_id+in_acct_id+transfer_amt+bg_ret_url+mer_priv+extension
代发
String result = new String();
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("https://finance.chinapnr.com/asharp/merchantRequest");
try {
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("version", "10"));
nvps.add(new BasicNameValuePair("cmd_id", "214"));
nvps.add(new BasicNameValuePair("mer_cust_id", "6666000000000001"));
nvps.add(new BasicNameValuePair("order_date", "20180327"));
nvps.add(new BasicNameValuePair("order_id", "10000000001"));
.......
post.setEntity(new UrlEncodedFormEntity(nvps));
HttpResponse httpResponse = client.execute(post);
int code = httpResponse.getStatusLine().getStatusCode();
String returnStr = EntityUtils.toString(httpResponse.getEntity());
} catch (Exception e) {
e.printStackTrace();
}
成功响应
200
{
"cmd_id": "214",
"resp_code": "101000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应
200
{
"cmd_id": "214",
"resp_code": "101003",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
接口功能说明
单笔代发接口
调用方式
后台调用
应答方式
同步后台应答、异步应答
接口类型
异步
请求参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 版本号 | version | 定长2位String | 必须 | 目前固定为10 |
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为214 |
| 商户客户号 | mer_cust_id | 变长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 订单日期 | order_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 |
| 订单号 | order_id | 变长20位String | 必须 | 由商户生成,必须保证唯一,20位内数字或字母的组合 |
| 交易金额 | trans_amt | 变长14位String | 必须 | 交易金额,格式为###.00 |
| 代发出账子账户 | acct_id | 变长9位String | 必须 | 商户的子账户 |
| 银行账户类型 | card_type | 定长8位String | 必须 | 01050001:对公账户01050000:对私账户目前仅支持对私 |
| 代发类型 | agency_pay_type | 定长8位String | 必须 | 02080000:T+0代发目前仅支持T+0 |
| 银行代号 | bank_id | 变长8位String | 必须 | 具体见附件一:支持银行列表 |
| 银行卡号 | card_no | 变长32位String | 必须 | 本次快捷绑卡待绑定的银行卡号,变长32位数字 |
| 银行卡开户省份 | card_prov | 定长4位String | 可选 | 对私非必传,对公必传 |
| 银行卡开户地区 | card_area | 定长4位String | 可选 | 对私非必传,对公必传 |
| 持卡方户名 | user_name | 变长50位String | 必须 | 用户的真实姓名,中文应使用UTF-8字符集URLEncode编码后传入 |
| 持卡方证件类型 | cert_type | 定长8位String | 必须 | 01020100:身份证01020101:护照01020102:军官证01020104:回乡证01020106:台胞证01020107:其他银行账户类型为对私时必传 |
| 持卡方证件号 | cert_id | 变长30位String | 必须 | 用户证件号码银行账户类型为对私时必传 |
| 企业证照号 | corp_code | 变长30位String | 可选 | 银行账户类型为对公时必传 |
| 手续费收取子账户 | fee_acct_id | 变长9位String | 可选 | 如果不传,则按商户配置的子账户收取手续费 |
| 代发用途 | purpose | 变长512位String | 必须 | 代发用途 |
| 商户后台应答地址 | bg_ret_url | 变长128位String | 必须 | 返参中的URL为UTF-8字符集URLEncode编码后的字符串,商户应解码获取原文 |
| 商户私有域 | mer_priv | 变长120位String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回。注意:如参数中包含中文,应对参数进行Base64加密后再使用 |
| 扩展域 | extension | 变长512位String | 可选 | 用于扩展请求参数 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值。 |
本接口加签拼接顺序: version+cmd_id+mer_cust_id+order_date+order_id+trans_amt+acct_id+card_type+agency_pay_type+bank_id+card_no+card_prov+card_area+cert_type+cert_id+corp_code+fee_acct_id+bg_ret_url+mer_priv+extension
返回参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为213 |
| 返回码 | resp_code | 定长6位String | 必须 | 213000–调用成功,其他见:返回码表 |
| 返回描述 | resp_desc | 变长String | 必须 | 返回码的对应中文描述,中文为UTF-8字符集URLEncode编码后的字符串,商户应解码获取原文 |
| 商户客户号 | mer_cust_id | 定长16位 | 必须 | 由汇付生成,商户的唯一性标识 |
| 订单日期 | order_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 |
| 订单号 | order_id | 变长20位String | 必须 | 由商户生成,必须保证唯一,20位内数字或字母的组合 |
| 本平台交易唯一标识号 | platform_seq_id | 定长18位String | 可选 | 组成规则:8位本平台日期+10位系统流水号 |
| 交易金额 | trans_amt | 变长14位String | 必须 | 交易金额,格式为###.00 |
| 手续费金额 | fee_amt | 变长14位String | 可选 | 手续费金额,格式为###.00 |
| 手续费收取子账户 | fee_acct_id | 变长9位String | 可选 | 手续费扣款子账户号 |
| 商户后台应答地址 | bg_ret_url | 变长128位String | 必须 | 返参中的URL为UTF-8字符集URLEncode编码后的字符串,商户应解码获取原文 |
| 商户私有域 | mer_priv | 变长128位String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回。注意:如参数中包含中文,应对参数进行Base64加密后再使用 |
| 扩展域 | extension | 变长512位String | 可选 | 用于扩展请求参数 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序:
cmd_id+resp_code+mer_cust_id+order_date+order_id+platform_seq_id+trans_amt+fee_amt+fee_acct_id+bg_ret_url+mer_priv+extension
人脸支付
String result = new String();
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("https://finance.chinapnr.com/asharp/merchantRequest");
try {
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("version", "10"));
nvps.add(new BasicNameValuePair("cmd_id", "213"));
nvps.add(new BasicNameValuePair("mer_cust_id", "6666000000000001"));
nvps.add(new BasicNameValuePair("order_date", "20180327"));
nvps.add(new BasicNameValuePair("order_id", "10000000001"));
.......
post.setEntity(new UrlEncodedFormEntity(nvps));
HttpResponse httpResponse = client.execute(post);
int code = httpResponse.getStatusLine().getStatusCode();
String returnStr = EntityUtils.toString(httpResponse.getEntity());
} catch (Exception e) {
e.printStackTrace();
}
成功响应
200
{
"cmd_id": "213",
"resp_code": "101000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应
200
{
"cmd_id": "213",
"resp_code": "101003",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
接口功能说明
用户刷脸支付接口
调用方式
后台调用
应答方式
同步后台应答、异步应答
接口类型
异步
请求参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 版本号 | version | 定长2位String | 必须 | 目前固定为10 |
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为213 |
| 商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 用户客户号 | user_cust_id | 定长16位String | 可选 | 由汇付生成,用户的唯一性标识 |
| 订单日期 | order_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 |
| 订单号 | order_id | 变长20位String | 必须 | 由商户生成,必须保证唯一,20位内数字或字母的组合 |
| 人脸图片 | image | 变长String | 必须 | 人脸图片Base64加密后字符串 |
| 图片类型 | image_type | 变长String | 必须 | 人脸图片类型 |
| 交易金额 | trans_amt | 变长14位String | 必须 | 交易金额,格式为###.00 |
| 入账客户号 | in_cust_id | 定长16位String | 可选 | 为空则默认入账客户号为商户客户号 |
| 入账账户号 | in_acct_id | 变长9位String | 可选 | 为空则入账账户号为入账客户号的默认子账户号 |
| 商户后台应答地址 | bg_ret_url | 变长128位String | 必须 | 通过后台异步通知,商户应在应答接收的响应中输出RECV_ORD_ID字样的字符串,表明商户已经收到该笔交易结果。注意:1)URL应使用UTF-8字符集URLEncode编码后传入2)URL中请不要包含“附件三:BgRetUrl中禁止的字符串列表”的字符串3)必须是外网地址 |
| 商户私有域 | mer_priv | 变长120位String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回。注意:如参数中包含中文,应对参数进行Base64加密后再使用 |
| 扩展域 | extension | 变长512位String | 可选 | 用于扩展请求参数若需要进行二级商户号验证,则必传,格式:{“sub_mer_cust_id”:“111111111111”}二级商户号由汇付生成,详见4.2.9.二级商户号录入接口 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序:
version+cmd_id+mer_cust_id+user_cust_id+order_date+order_id+trans_amt+in_cust_id+in_acct_id+bg_ret_url+mer_priv+extension
返回参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为213 |
| 应答返回码 | resp_code | 定长6位String | 必须 | 213000–调用成功,其他见附件四:返回码表 |
| 应答返回描述 | 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_amt | 变长14位String | 必须 | 交易金额,格式为###.00 |
| 银行代号 | bank_id | 变长8位String | 可选 | 具体见附件一:支持银行列表 |
| 支付卡号 | card_no_encrypt | 变长30位String | 可选 | 支付卡号,格式:6228****1234 |
| 手续费金额 | fee_amt | 变长14位String | 可选 | 手续费金额,格式为###.00 |
| 手续费扣款客户号 | fee_cust_id | 定长16位String | 可选 | 手续费扣款客户号 |
| 手续费子账户号 | fee_acct_id | 变长9位String | 可选 | 手续费扣款子账户号 |
| 扩展域 | extension | 变长512位String | 可选 | 暂时返回人脸分数,例如:45 |
| 商户私有域 | mer_priv | 变长120位String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回。注意:如参数中包含中文,应对参数进行Base64加密后再使用 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序:
cmd_id+resp_code+mer_cust_id+user_cust_id+order_date+order_id+platform_seq_id+trans_amt+bank_id+card_no_encrypt+fee_amt+fee_cust_id+fee_acct_id+extension+mer_priv
反扫支付接口
String result = new String();
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("https://finance.chinapnr.com/asharp/merchantRequest");
try {
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("version", "10"));
nvps.add(new BasicNameValuePair("cmd_id", "213"));
nvps.add(new BasicNameValuePair("mer_cust_id", "6666000000000001"));
nvps.add(new BasicNameValuePair("order_date", "20180327"));
nvps.add(new BasicNameValuePair("order_id", "10000000001"));
.......
post.setEntity(new UrlEncodedFormEntity(nvps));
HttpResponse httpResponse = client.execute(post);
int code = httpResponse.getStatusLine().getStatusCode();
String returnStr = EntityUtils.toString(httpResponse.getEntity());
} catch (Exception e) {
e.printStackTrace();
}
成功响应
200
{
"cmd_id": "217",
"resp_code": "217000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应
200
{
"cmd_id": "217",
"resp_code": "217003",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000000001",
"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位内数字或字母的组合 |
| 扫码支付渠道 | qr_pay_channel | 定长8位String | 必须 | 二维码微信:02020406 二维码支付宝:02020407 二维码银联:02020408 |
| 交易金额 | trans_amt | 变长14位String | 必须 | 交易金额,格式为###.00 |
| 入账客户号 | in_cust_id | 定长16位String | 可选 | 业务类型为支付时必传,且入账客户号不能是充值客户本人 |
| 分账账户串 | div_detail | 变长String | 必须 | 业务类型为支付时必传,分账账户必须是入账客户的账户,分账串使用UTF-8字符集URLEncode编码后传入 数据格式: [{“div_acct_id”:“000001”,“div_amt”:“1.00”}] 分账串金额之和需等于充值金额 支持最多1条分账指令 |
| 分账账户号 | div_acct_id | 变长9位String | 可选 | div_detail参数下的二级参数 分账账户号 |
| 分账金额 | div_amt | 变长14位String | 可选 | div_detail参数下的二级参数 分账金额,保留两位小数 |
| 二维码信息 | auth_code | 变长128位String | 必选 | 扫码设备读出的条形码或者二维码信息, UTF-8字符集URLEncode编码后传入,只校验长度 |
| 借贷标识 | dc_flag | 定长1位String | 可选 | 默认借记卡D,本期只支持及借记卡 |
| 商品描述 | good_desc | 变长127位String | 必选 | 商户对于该交易的描述, UTF-8字符集URLEncode编码后传入,只校验长度 |
| 商户后台应答地址 | 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.9.二级商户号录入接口 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA 将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序:
version+cmd_id+mer_cust_id+user_cust_id+order_date+order_id+qr_pay_channel+trans_amt+in_cust_id+div_detail+auth_code+dc_flag+bg_ret_url+mer_priv+extension
返回参数列表:
| 参数中文名称 | 参数名称 | 数据格式 | 必须 | 说明 |
|---|---|---|---|---|
| 消息类型 | cmd_id | 变长String | 必须 | 每一种消息类型代表一种交易,此处为217 |
| 应答返回码 | resp_code | 定长6位String | 必须 | 217000–调用成功,其他见:返回码表 |
| 应答返回描述 | 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_amt | 变长14位String | 必须 | 交易金额,格式为###.00 |
| 手续费金额 | 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 | 可选 | 用于扩展请求参数 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA 将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值。 |
本接口加签拼接顺序:
cmd_id+resp_code+mer_cust_id+user_cust_id+order_date+order_id+platform_seq_id
+fee_amt+fee_cust_id+fee_acct_id+bg_ret_url+mer_priv+extension
H5支付接口
String result = new String();
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("https://finance.chinapnr.com/asharp/merchantRequest");
try {
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("version", "10"));
nvps.add(new BasicNameValuePair("cmd_id", "213"));
nvps.add(new BasicNameValuePair("mer_cust_id", "6666000000000001"));
nvps.add(new BasicNameValuePair("order_date", "20180327"));
nvps.add(new BasicNameValuePair("order_id", "10000000001"));
.......
post.setEntity(new UrlEncodedFormEntity(nvps));
HttpResponse httpResponse = client.execute(post);
int code = httpResponse.getStatusLine().getStatusCode();
String returnStr = EntityUtils.toString(httpResponse.getEntity());
} catch (Exception e) {
e.printStackTrace();
}
成功响应
200
{
"cmd_id": "217",
"resp_code": "217000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应
200
{
"cmd_id": "217",
"resp_code": "217003",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
接口功能说明
H5支付(目前只支持微信)
调用方式
后台调用
应答方式
同步后台应答、异步应答
接口类型
异步
请求参数列表
| 参数中文名称 | 参数名称 | 数据格式 | 必须 | 说明 |
|---|---|---|---|---|
| 版本号 | version | 定长2位String | 必须 | 固定为10 |
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为218 |
| 商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 用户客户号 | user_cust_id | 定长16位String | 可选 | 由汇付生成,用户的唯一性标识 |
| 订单日期 | order_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 |
| 订单号 | order_id | 变长20位String | 必须 | 由商户生成,必须保证唯一,20位内数字或字母的组合 |
| 扫码支付渠道 | qr_pay_channel | 定长8位String | 必须 | 微信H5支付:02020409 暂时只支持微信H5支付 |
| 交易金额 | trans_amt | 变长14位String | 必须 | 交易金额,格式为###.00 |
| 入账客户号 | in_cust_id | 定长16位String | 可选 | 业务类型为支付时必传,且入账客户号不能是充值客户本人 |
| 分账账户串 | div_detail | 变长String | 必须 | 业务类型为支付时必传,分账账户必须是入账客户的账户,分账串使用UTF-8字符集URLEncode编码后传入 数据格式: [{“div_acct_id”:“000001”,“div_amt”:“1.00”}] 分账串金额之和需等于充值金额 支持最多1条分账指令 |
| 分账账户号 | div_acct_id | 变长9位String | 可选 | div_detail参数下的二级参数 分账账户号 |
| 分账金额 | div_amt | 变长14位String | 可选 | div_detail参数下的二级参数 分账金额,保留两位小数 |
| 借贷标识 | dc_flag | 定长1位String | 可选 | 默认借记卡D,本期只支持及借记卡 |
| 公众账号ID | app_id | 变长128位String | 可选 | 微信分配的公众账号ID(企业号corpid即为此appId),微信支付要求必填 |
| 设备信息 | device_info | 定长8位String | 必须 | 苹果APP:1 安卓APP:2 IOS手机网站: 3 ANDROID手机网站:4 |
| 应用信息 | app_info | 变长64位String | 必须 | 苹果APP:IOS应用唯一标识 安卓APP:APP包名 WAP:网站首页URL,须保证公网能正常访问到 使用UTF-8字符集URLEncode编码后传入 |
| 应用名 | app_name | 变长64位String | 必须 | APP:app的名字 WAP:网站名字 使用UTF-8字符集URLEncode编码后传入 |
| 商品描述 | good_desc | 必须 | ||
| 商户后台应答地址 | 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.9.二级商户号录入接口 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA 将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序:
version+cmd_id+mer_cust_id+user_cust_id+order_date+order_id+qr_pay_channel+trans_amt+
in_cust_id+div_detail+dc_flag+app_id+device_info+bg_ret_url+mer_priv+extension
返回参数列表
| 参数中文名称 | 参数名称 | 数据格式 | 必须 | 说明 |
|---|---|---|---|---|
| 消息类型 | cmd_id | 变长String | 必须 | 每一种消息类型代表一种交易,此处为218 |
| 应答返回码 | resp_code | 定长6位String | 必须 | 218000–调用成功,其他见:返回码表 |
| 应答返回描述 | 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_amt | 变长14位String | 必须 | 交易金额,格式为###.00 |
| 手续费金额 | 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 | 可选 | 用于扩展请求参数 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA 将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值。 |
| 消息类型 | cmd_id | 变长String | 必须 | 每一种消息类型代表一种交易,此处为218 |
本接口加签拼接顺序:
cmd_id+resp_code+mer_cust_id+user_cust_id+order_date+order_id+platform_seq_id
+trans_type+trans_amt+bind_fee_amt+bind_fee_acct_id+trans_fee_amt+trans_fee_acct_id+pay_channel_code+bg_ret_url+mer_priv+extension
查询类
余额查询
String result = new String();
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("https://finance.chinapnr.com/asharp/merchantRequest");
try {
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("version", "10"));
nvps.add(new BasicNameValuePair("cmd_id", "302"));
nvps.add(new BasicNameValuePair("mer_cust_id", "6666000000000001"));
nvps.add(new BasicNameValuePair("order_date", "20180327"));
nvps.add(new BasicNameValuePair("order_id", "10000000001"));
.......
post.setEntity(new UrlEncodedFormEntity(nvps));
HttpResponse httpResponse = client.execute(post);
int code = httpResponse.getStatusLine().getStatusCode();
String returnStr = EntityUtils.toString(httpResponse.getEntity());
} catch (Exception e) {
e.printStackTrace();
}
成功响应
200
{
"cmd_id": "302",
"resp_code": "101000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应
200
{
"cmd_id": "302",
"resp_code": "101003",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
接口功能说明
供商户查询其用户在本平台专属账户的可用余额
调用方式
后台调用
应答方式
同步后台应答
接口类型
同步
请求参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 版本号 | version | 定长2位String | 必须 | 目前固定为10 |
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为302 |
| 商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 用户客户号 | user_cust_id | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序:
version+cmd_id+ mer_cust_id+user_cust_id
返回参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为302 |
| 返回码 | resp_code | 变长String | 必须 | 302000–调用成功,其他见:返回码表 |
| 结果描述 | resp_desc | 变长String | 必须 | 返回码对应的中文描述,中文为UTF-8字符集URLEncode编码后的字符串,商户应解码获取原文 |
| 商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 用户客户号 | user_cust_id | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识 |
| 可用余额 | balance | 变长14位String | 可选 | 账户可以转账的余额 |
| 可取现余额 | cash_balance | 变长14位String | 可选 | 账户可以取现的余额 |
| 账户余额 | acct_balance | 变长14位String | 可选 | 账户户资金余额,该余额能真正反映账户的资金量 |
| 冻结余额 | freeze_balance | 变长14位String | 可选 | 冻结余额 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序:
cmd_id+resp_code+mer_cust_id+user_cust_id+balance+cash_balance+acct_balance+freeze_balanace
交易状态查询
String result = new String();
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("https://finance.chinapnr.com/asharp/merchantRequest");
try {
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("version", "10"));
nvps.add(new BasicNameValuePair("cmd_id", "306"));
nvps.add(new BasicNameValuePair("mer_cust_id", "6666000000000001"));
nvps.add(new BasicNameValuePair("order_date", "20180327"));
nvps.add(new BasicNameValuePair("order_id", "10000000001"));
.......
post.setEntity(new UrlEncodedFormEntity(nvps));
HttpResponse httpResponse = client.execute(post);
int code = httpResponse.getStatusLine().getStatusCode();
String returnStr = EntityUtils.toString(httpResponse.getEntity());
} catch (Exception e) {
e.printStackTrace();
}
成功响应
200
{
"cmd_id": "306",
"resp_code": "101000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应
200
{
"cmd_id": "306",
"resp_code": "101003",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
接口功能说明
供商户查询某笔交易的状态,支持两段式交易状态查询
调用方式
后台调用
应答方式
同步后台应答
接口类型
同步
请求参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 版本号 | version | 定长2位String | 必须 | 目前固定为10 |
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为306 |
| 商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 订单日期 | order_date | 定长8位的String | 可选 | 格式为YYYYMMDD,例如:20160307 |
| 订单号 | order_id | 变长20位的String | 可选 | 由商户生成,必须保证唯一,20位内的字母或数字组合 |
| 交易流水号 | biz_trans_id | 变长20位String | 可选 | 订单号跟交易流水至少传一个。如果传此参数,则表示查询两段式交易(发短信阶段跟验短信阶段)结果 |
| 交易查询类型 | trans_type | 定长8位String | 必须 | 05000100:充值/支付05000101:取现05000102:转账05000103:扫码支付05000104:退款05000105:微信公众号支付05000106:支付宝统一下单支付 |
| 交易查询子类型 | sub_trans_type | 定长8位String | 可选 | 预留字段,可不传 |
| 签名 | check_value | 定长256位的String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序:
version+cmd_id+mer_cust_id+order_date+order_id+biz_trans_id+trans_type+sub_trans_type
返回参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为306 |
| 返回码 | resp_code | 变长String | 可选 | 306000–调用成功,其他见:返回码表 |
| 结果描述 | resp_desc | 变长String | 可选 | 返回码对应的中文描述,中文为UTF-8字符集URLEncode编码后的字符串,商户应解码获取原文 |
| 商户客户号 | mer_cust_id | 定长16位的String | 必须 | 由汇付生成,商户的唯一性标识 |
| 订单日期 | order_date | 定长8位的String | 可选 | 格式为YYYYMMDD,例如:20160307 |
| 订单号 | order_id | 变长20位的String | 可选 | 由商户生成,必须保证唯一,20位内的字母或数字组合 |
| 交易流水号 | biz_trans_id | 变长20位String | 可选 | 请求参数交易流水号 |
| 交易查询类型 | trans_type | 定长8位String | 必须 | 请求参数交易查询类型 |
| 交易查询子类型 | sub_trans_type | 定长8位String | 可选 | 请求参数交易查询子类型 |
| 两段式交易明细 | result_list | 变长512位String | 可选 | [{trans_stat:”02000002”,platform_seq_id:”201712111111111111”,trans_amt:”1.00”,fee_amt:”0.01”,fee_acct_id:”1111”,trans_resp_code:”201000”,trans_resp_desc:”交易成功”}] |
| 交易状态 | trans_stat | 定长8位String | 必须 | 交易状态02000001:已受理02000002:成功02000003:失败02000005:处理中02000006:部分成功(充值成功,支付失败) |
| 本平台交易唯一标识号 | platform_seq_id | 定长18位String | 必须 | 组成规则:8位本平台日期+10位系统流水号 |
| 交易金额 | trans_amt | 定长14位的String | 必须 | 交易金额,格式为###.00 |
| 手续费 | fee_amt | 定长14位的String | 可选 | 手续费金额,格式为###.00 |
| 手续费收取账户 | fee_acct_id | 变长9位String | 可选 | 手续费收取子账户 |
| 交易返回码 | trans_resp_code | 定长6位String | 可选 | 交易接口的返回码,详见返回码表 |
| 交易返回描述 | trans_resp_desc | 变长String | 可选 | 交易返回码对应的中文描述,中文为UTF-8字符集URLEncode编码后的字符串,商户应解码获取原文 |
| 签名 | check_value | 定长256位的String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序:
cmd_id+resp_code+mer_cust_id+order_date+order_id+biz_trans_id+trans_type+sub_trans_type
充值支付对账
String result = new String();
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("https://finance.chinapnr.com/asharp/merchantRequest");
try {
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("version", "10"));
nvps.add(new BasicNameValuePair("cmd_id", "303"));
nvps.add(new BasicNameValuePair("mer_cust_id", "6666000000000001"));
nvps.add(new BasicNameValuePair("order_date", "20180327"));
nvps.add(new BasicNameValuePair("order_id", "10000000001"));
.......
post.setEntity(new UrlEncodedFormEntity(nvps));
HttpResponse httpResponse = client.execute(post);
int code = httpResponse.getStatusLine().getStatusCode();
String returnStr = EntityUtils.toString(httpResponse.getEntity());
} catch (Exception e) {
e.printStackTrace();
}
成功响应
200
{
"cmd_id": "303",
"resp_code": "101000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应
200
{
"cmd_id": "303",
"resp_code": "101003",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
接口功能说明
充值/支付对账
调用方式
后台调用
应答方式
同步后台应答
接口类型
同步
请求参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 版本号 | version | 定长2位String | 必须 | 目前固定为10 |
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为303 |
| 商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 开始日期 | begin_date | 定长8位String | 必须 | 格式为YYYYMMDD,开始日期和结束日期跨度不能大于90天 |
| 结束日期 | end_date | 定长8位String | 必须 | 格式为YYYYMMDD,开始日期和结束日期跨度不能大于90天 |
| 当前页号 | page_num | 变长String | 必须 | 查询数据的所在页号,>0的整数 |
| 每页记录数 | page_size | 变长4位String | 必须 | 每页记录数,>0且<=1000的整数 |
| 交易类型 | trans_type | 定长8位String | 可选 | 02020100:充值02020101:支付 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序:
version+cmd_id+mer_cust_id+begin_date+end_date+page_num+page_size+trans_type
返回参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为303 |
| 应答返回码 | resp_code | 定长6位String | 必须 | 303000–调用成功 |
| 应答返回描述 | resp_desc | 变长String | 必须 | 返回码的对应中文描述,中文为UTF-8字符集URLEncode编码后的字符串,商户应解码获取原文 |
| 商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 开始日期 | begin_date | 定长8位String | 必须 | 格式为YYYYMMDD,开始日期和结束日期跨度不能大于90天 |
| 结束日期 | end_date | 定长8位String | 必须 | 格式为YYYYMMDD,开始日期和结束日期跨度不能大于90天 |
| 当前页号 | page_num | 变长String | 必须 | 查询数据的所在页号,>0的整数 |
| 每页记录数 | page_size | 变长4位String | 必须 | 每页记录数,>0且<=1000的整数 |
| 记录总条数 | total_num | 变长String | 可选 | 记录总条数 |
| 对账结果串 | result_list | 变长String | 可选 | [{“order_date”:“20161129”,“order_id”:“201611292010001”,“platform_seq_id”:“2016112910000085”,“out_cust_id”:“6000010000000015”,“in_cust_id”:“6000010000000025”,“trans_type”:“02020101”,“recharge_type”:“02020002”,“bank_id”:“01030000”,“trans_amt”:“12.23”,“real_trans_amt”:“12.00”,“fee_amt”:“0.23”,“fee_cust_id”:“6000010000000001”,“fee_acct_id”:“888”,“trans_stat”:“02000002”}] |
| 商户订单日期 | order_date | 定长8位String | 必须 | 格式为YYYYMMDD |
| 商户订单号 | order_id | 变长20位String | 必须 | 由商户生成,必须保证唯一,20位内数字或字母的组合 |
| 本平台交易唯一标识号 | platform_seq_id | 定长18位String | 必须 | 组成规则:8位本平台日期+10位系统流水号 |
| 出账客户号 | out_cust_id | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识,业务类型为充值时,出账客户是充值客户 |
| 入账客户号 | in_cust_id | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识,业务类型为充值时,入账客户是充值客户 |
| 业务类型 | trans_type | 定长8位String | 必须 | 02020100:充值02020101:支付 |
| 充值类型 | recharge_type | 定长8位String | 必须 | 02020000:个人网银充值02020001:企业网银充值02020002:快捷充值02020003:代扣充值 |
| 充值银行代号 | bank_id | 变长8位String | 必须 | 8位银行代号 |
| 支付金额 | trans_amt | 变长14位String | 必须 | 交易金额,格式为###.00 |
| 手续费金额 | fee_amt | 变长14位String | 可选 | 手续费金额,格式为###.00 |
| 手续费扣款客户号 | fee_cust_id | 定长16位String | 可选 | 手续费扣款客户号 |
| 手续费扣款账户号 | fee_acct_id | 变长9位String | 可选 | 手续费扣款账户号 |
| 交易状态 | trans_stat | 定长8位String | 必须 | 02000001:已受理02000002:成功02000003:失败02000005:处理中 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序:
cmd_id+resp_code+mer_cust_id+begin_date+end_date+page_num+page_size+total_num
取现对账
String result = new String();
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("https://finance.chinapnr.com/asharp/merchantRequest");
try {
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("version", "10"));
nvps.add(new BasicNameValuePair("cmd_id", "304"));
nvps.add(new BasicNameValuePair("mer_cust_id", "6666000000000001"));
nvps.add(new BasicNameValuePair("order_date", "20180327"));
nvps.add(new BasicNameValuePair("order_id", "10000000001"));
.......
post.setEntity(new UrlEncodedFormEntity(nvps));
HttpResponse httpResponse = client.execute(post);
int code = httpResponse.getStatusLine().getStatusCode();
String returnStr = EntityUtils.toString(httpResponse.getEntity());
} catch (Exception e) {
e.printStackTrace();
}
成功响应
200
{
"cmd_id": "304",
"resp_code": "101000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应
200
{
"cmd_id": "304",
"resp_code": "101003",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
接口功能说明
取现对账
调用方式
后台调用
应答方式
同步后台应答
接口类型
同步
请求参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 版本号 | version | 定长2位String | 必须 | 目前固定为10 |
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为304 |
| 商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 开始日期 | begin_date | 定长8位String | 必须 | 格式为YYYYMMDD,开始日期和结束日期跨度不能大于90天 |
| 结束日期 | end_date | 定长8位String | 必须 | 格式为YYYYMMDD,开始日期和结束日期跨度不能大于90天 |
| 当前页号 | page_num | 变长String | 必须 | 查询数据的所在页号,>0的整数 |
| 每页记录数 | page_size | 变长4位String | 必须 | 每页记录数,>0且<=1000的整数 |
| 取现类型 | cash_type | 定长8位String | 可选 | 02030000:T002030010:T1 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序:
version+cmd_id+mer_cust_id+begin_date+end_date+page_num+page_size+cash_type
返回参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为304 |
| 应答返回码 | resp_code | 定长6位String | 必须 | 304000–调用成功 |
| 应答返回描述 | resp_desc | 变长String | 必须 | 返回码的对应中文描述,中文为UTF-8字符集URLEncode编码后的字符串,商户应解码获取原文 |
| 商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 开始日期 | begin_date | 定长8位String | 必须 | 格式为YYYYMMDD,开始日期和结束日期跨度不能大于90天 |
| 结束日期 | end_date | 定长8位String | 必须 | 格式为YYYYMMDD,开始日期和结束日期跨度不能大于90天 |
| 当前页号 | page_num | 变长String | 必须 | 查询数据的所在页号,>0的整数 |
| 每页记录数 | page_size | 变长4位String | 必须 | 每页记录数,>0且<=1000的整数 |
| 记录总条数 | total_num | 变长String | 可选 | 记录总条数 |
| 对账结果串 | result_list | 变长String | 可选 | [{“order_date”:“20161129”,“order_id”:“201611292010001”,“platform_seq_id”:“2016112910000085”,“user_cust_id”:“6000010000000015”,“cash_type”:“02020101”,“bank_id”:“01030000”,“card_no”:“62626468151546551”,“trans_amt”:“12.23”,“real_trans_amt”:“12.00”,“in_cust_id”:“6000010000000015”,“fee_amt”:“0.23”,“fee_cust_id”:“6000010000000001”,“fee_acct_id”:“888”,“trans_stat”:“02000002”}] |
| 商户订单日期 | order_date | 定长8位String | 必须 | 格式为YYYYMMDD |
| 商户订单号 | order_id | 变长20位String | 必须 | 由商户生成,必须保证唯一,20位内数字或字母的组合 |
| 本平台交易唯一标识号 | platform_seq_id | 定长18位String | 必须 | 组成规则:8位本平台日期+10位系统流水号 |
| 取现客户号 | user_cust_id | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识 |
| 取现类型 | cash_type | 定长8位String | 必须 | 02030000:T002030010:T1 |
| 银行代号 | bank_id | 变长8位String | 必须 | 8位银行代号 |
| 银行卡号 | card_no | 变长32位String | 必须 | 银行卡号 |
| 交易金额 | trans_amt | 变长14位String | 必须 | 交易金额,格式为###.00 |
| 实际出账金额 | real_trans_amt | 变长14位String | 可选 | 实际出账金额,交易成功时必须,格式为###.00 |
| 手续费金额 | fee_amt | 变长14位String | 可选 | 手续费金额,格式为###.00 |
| 手续费扣款客户号 | fee_cust_id | 定长16位String | 可选 | 手续费扣款客户号 |
| 手续费扣款账户号 | fee_acct_id | 变长9位String | 可选 | 手续费扣款账户号 |
| 商户收取服务费金额 | serv_fee_amt | 变长14位String | 可选 | 商户收取用户的服务费金额,格式为###.00 |
| 商户子账户号 | serv_fee_acct_id | 变长9位String | 可选 | 服务费非空时为必填,商户用来收取服务费的子账户号 |
| 交易状态 | trans_stat | 定长8位String | 必须 | 02000001:已受理02000002:成功02000003:失败 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序:
cmd_id+resp_code+mer_cust_id+begin_date+end_date+page_num+page_size+total_num
转账对账
String result = new String();
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("https://finance.chinapnr.com/asharp/merchantRequest");
try {
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("version", "10"));
nvps.add(new BasicNameValuePair("cmd_id", "305"));
nvps.add(new BasicNameValuePair("mer_cust_id", "6666000000000001"));
nvps.add(new BasicNameValuePair("order_date", "20180327"));
nvps.add(new BasicNameValuePair("order_id", "10000000001"));
.......
post.setEntity(new UrlEncodedFormEntity(nvps));
HttpResponse httpResponse = client.execute(post);
int code = httpResponse.getStatusLine().getStatusCode();
String returnStr = EntityUtils.toString(httpResponse.getEntity());
} catch (Exception e) {
e.printStackTrace();
}
成功响应
200
{
"cmd_id": "305",
"resp_code": "101000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应
200
{
"cmd_id": "305",
"resp_code": "101003",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
接口功能说明
前台快捷绑卡
调用方式
后台调用
应答方式
同步后台应答
接口类型
同步
请求参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 版本号 | version | 定长2位String | 必须 | 目前固定为10 |
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为305 |
| 商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 开始日期 | begin_date | 定长8位String | 必须 | 格式为YYYYMMDD,开始日期和结束日期跨度不能大于90天 |
| 结束日期 | end_date | 定长8位String | 必须 | 格式为YYYYMMDD,开始日期和结束日期跨度不能大于90天 |
| 当前页号 | page_num | 变长String | 必须 | 查询数据的所在页号,>0的整数 |
| 每页记录数 | page_size | 变长4位String | 必须 | 每页记录数,>0且<=1000的整数 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序: version+cmd_id+mer_cust_id+begin_date+end_date+page_num+page_size
返回参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为305 |
| 应答返回码 | resp_code | 定长6位String | 必须 | 305000–调用成功 |
| 应答返回描述 | resp_desc | 变长String | 必须 | 返回码的对应中文描述,中文为UTF-8字符集URLEncode编码后的字符串,商户应解码获取原文 |
| 商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 开始日期 | begin_date | 定长8位String | 必须 | 格式为YYYYMMDD,开始日期和结束日期跨度不能大于90天 |
| 结束日期 | end_date | 定长8位String | 必须 | 格式为YYYYMMDD,开始日期和结束日期跨度不能大于90天 |
| 当前页号 | page_num | 变长String | 必须 | 查询数据的所在页号,>0的整数 |
| 每页记录数 | page_size | 变长4位String | 必须 | 每页记录数,>0且<=1000的整数 |
| 记录总条数 | total_num | 变长String | 可选 | 记录总条数 |
| 对账结果串 | result_list | 变长String | 可选 | [{“order_date”:“20161129”,“order_id”:“201611292010001”,“platform_seq_id”:“2016112910000085”,“out_cust_id”:“6000010000000015”,“out_acct_id”:“777”,“in_cust_id”:“6000010000000025”,“in_acct_id”:“888”,“trans_amt”:“12.23”,“trans_stat”:“02000002”}] |
| 商户订单日期 | order_date | 定长8位String | 必须 | 格式为YYYYMMDD |
| 商户订单号 | order_id | 变长20位String | 必须 | 由商户生成,必须保证唯一,20位内数字或字母的组合 |
| 本平台交易唯一标识号 | platform_seq_id | 定长18位String | 必须 | 组成规则:8位本平台日期+10位系统流水号 |
| 出账客户号 | out_cust_id | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识,充值交易时,出账客户就是充值客户 |
| 出账账户号 | out_acct_id | 变长9位String | 必须 | 出账账户号 |
| 入款客户号 | in_cust_id | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识 |
| 入账账户号 | in_acct_id | 变长9位String | 必须 | 入账账户号 |
| 交易金额 | trans_amt | 变长14位String | 必须 | 交易金额,格式为###.00 |
| 交易状态 | trans_stat | 定长8位String | 必须 | 02000002:成功02000003:失败 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序:
cmd_id+resp_code+mer_cust_id+begin_date+end_date+page_num+page_size+total_num
签约号查询接口
String result = new String();
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("https://finance.chinapnr.com/asharp/merchantRequest");
try {
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("version", "10"));
nvps.add(new BasicNameValuePair("cmd_id", "315"));
nvps.add(new BasicNameValuePair("mer_cust_id", "6666000000000001"));
nvps.add(new BasicNameValuePair("order_date", "20180327"));
nvps.add(new BasicNameValuePair("order_id", "10000000001"));
.......
post.setEntity(new UrlEncodedFormEntity(nvps));
HttpResponse httpResponse = client.execute(post);
int code = httpResponse.getStatusLine().getStatusCode();
String returnStr = EntityUtils.toString(httpResponse.getEntity());
} catch (Exception e) {
e.printStackTrace();
}
成功响应
200
{
"cmd_id": "315",
"resp_code": "315000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应
200
{
"cmd_id": "315",
"resp_code": "315003",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
接口功能说明
提供查询此银行卡是否已经签约完成
调用方式
后台调用
应答方式
同步后台应答
接口类型
同步
请求参数列表
| 字段名 | 参数中文名称 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| version | 版本号 | 定长2位String | 必须 | 目前固定为10 |
| cmd_id | 消息类型 | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为315 |
| mer_cust_id | 商户号 | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| user_cust_id | 用户号 | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识 |
| card_no | 银行卡号 | 变长20位的String | 必须 | |
| card_mobile | 手机号 | 定长11位String | 必须 | |
| cert_id | 身份证号 | 变长18位的String | 必须 | |
| mer_priv | 商户私有域 | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 |
| extension | 扩展域 | 变长512位的String | 可选 | 用于扩展请求参数 |
本接口加签拼接顺序:
version+cmd_id+mer_cust_id+user_cust_id+card_no+card_mobile+mer_priv+extension
返回参数列表
| 参数中文名称 | 参数中文名称 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| cmd_id | 消息类型 | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为315 |
| resp_code | 应答返回码 | 定长6位的String | 必须 | 315000:交易成功, 315302:查无协议号,须重新签约 315003:交易失败(透传fpc的message) 315099:系统异常 |
| resp_desc | 应答描述 | 变长String | 必须 | |
| mer_cust_id | 商户号 | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| user_cust_id | 用户号 | 定长16位String | 必须 | 由汇付生成,用户的唯一性标识 |
| mer_priv | 商户私有域 | 变长120位的String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回 |
| extension | 扩展域 | 变长512位的String | 可选 | 用于扩展请求参数 |
本接口加签拼接顺序:
cmd_id+resp_code+resp_desc+mer_cust_id+user_cust_id+mer_priv+extension
其他
产品录入
String result = new String();
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("https://finance.chinapnr.com/asharp/merchantRequest");
try {
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("version", "10"));
nvps.add(new BasicNameValuePair("cmd_id", "204"));
nvps.add(new BasicNameValuePair("mer_cust_id", "6666000000000001"));
nvps.add(new BasicNameValuePair("order_date", "20180327"));
nvps.add(new BasicNameValuePair("order_id", "10000000001"));
.......
post.setEntity(new UrlEncodedFormEntity(nvps));
HttpResponse httpResponse = client.execute(post);
int code = httpResponse.getStatusLine().getStatusCode();
String returnStr = EntityUtils.toString(httpResponse.getEntity());
} catch (Exception e) {
e.printStackTrace();
}
成功响应
200
{
"cmd_id": "204",
"resp_code": "101000",
"resp_desc": "交易成功",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
失败响应
200
{
"cmd_id": "204",
"resp_code": "101003",
"resp_desc": "交易失败",
"mer_cust_id" : "6666000000000001",
"order_date": "20180327",
"order_id": "10000000001",
.......
}
接口功能说明
用于商户产品信息录入后进行入库动作,主要用于商户代扣时进行订单金额风控限制及后续其它监管需求
调用方式
后台调用
应答方式
同步后台应答、异步应答
接口类型
同步+异步
请求参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 版本号 | version | 定长2位String | 必须 | 目前固定为10 |
| 消息类型 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为204 |
| 商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 订单日期 | order_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 |
| 订单号 | order_id | 变长20位String | 必须 | 由商户生成,必须保证唯一,20位内数字或字母的组合 |
| 产品ID | product_id | 变长20位String | 必须 | 由商户提供,产品的唯一标识,20位内数字或字母的组合 |
| 产品总金额 | product_amt | 变长14位String | 必须 | 产品总金额,格式为###.00 |
| 产品期数 | product_periods | 变长14位String | 必须 | 产品的期数 |
| 产品开始时间 | product_start_time | 定长14位String | 必须 | 产品开始时间 |
| 产品结束时间 | product_end_time | 定长14位String | 必须 | 产品结束时间 |
| 产品所在地 | product_location | 定长4位String | 必须 | 产品的所在地:省份,具体见附件二 |
| 商户后台应答地址 | bg_ret_url | 变长128位String | 必须 | 通过后台异步通知,商户应在应答接收的响应中输出RECV_ORD_ID字样的字符串,表明商户已经收到该笔交易结果。注意:1)URL应使用UTF-8字符集URLEncode编码后传入2)URL中请不要包含特殊字符3)必须是外网地址 |
| 商户私有域 | mer_priv | 变长120位String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回。注意:如参数中包含中文,应对参数进行Base64加密后再使用。 |
| 入参扩展域 | extension | 变长512位String | 可选 | 用于扩展请求参数 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序: version+cmd_id+mer_cust_id+order_date+order_id+product_id+product_amt+product_periods+product_start_time+product_end_time+product_location+bg_ret_url+mer_priv+extension
返回参数列表
| 中文名 | 参数名 | 数据格式 | 是否必须 | 说明 |
|---|---|---|---|---|
| 接口标识 | cmd_id | 定长3位String | 必须 | 每一种消息类型代表一种交易,此处为204 |
| 应答返回码 | resp_code | 定长6位String | 必须 | 204000–调用成功,其他见:返回码表 |
| 应答描述 | resp_desc | 变长String | 必须 | 返回码的对应中文描述,中文为UTF-8字符集URLEncode编码后的字符串,商户应解码获取原文 |
| 商户客户号 | mer_cust_id | 定长16位String | 必须 | 由汇付生成,商户的唯一性标识 |
| 订单日期 | order_date | 定长8位String | 必须 | 格式为YYYYMMDD,例如:20160307 |
| 订单号 | order_id | 变长20位String | 必须 | 由商户生成,必须保证唯一,20位内数字或字母的组合 |
| 产品ID | product_id | 变长20位String | 必须 | 由商户提供,产品的唯一标识 |
| 产品总金额 | product_amt | 变长14位String | 必须 | 产品总金额,格式为###.00 |
| 产品期数 | product_periods | 变长14位String | 必须 | 产品的期数 |
| 产品开始时间 | product_start_time | 变长14位String | 必须 | 产品开始时间 |
| 产品结束时间 | product_end_time | 变长14位String | 必须 | 产品结束时间 |
| 产品所在地 | product_location | 定长4位String | 必须 | 产品的所在地:省份,具体见附件二 |
| 商户后台应答地址 | bg_ret_url | 变长128位String | 必须 | 返参中的URL为UTF-8字符集URLEncode编码后的字符串,商户应解码获取原文 |
| 商户私有域 | mer_priv | 变长128位String | 可选 | 为商户的自定义字段,该字段在交易完成后由本平台原样返回。注意:如参数中包含中文,应对参数进行Base64加密后再使用。 |
| 返参扩展域 | extension | 变长512位String | 可选 | 用于扩展请求参数 |
| 签名 | check_value | 变长256位String | 必须 | 加签规则:MD5+RSA将参数列表的值按从上到下的顺序进行字符串拼接,调用签名函数获得的值 |
本接口加签拼接顺序:
cmd_id+resp_code+mer_cust_id+order_date+order_id+product_id+product_amt+product_periods+product_start_time+product_end_time+product_location+bg_ret_url+mer_priv+extension
附录一
充值/取现支持银行列表及代号
个人网银充值支持银行列表
| 银行名称 | 银行代号 |
|---|---|
| 中国工商银行 | 01020000 |
| 中国农业银行 | 01030000 |
| 中国银行 | 01040000 |
| 中国建设银行 | 01050000 |
| 中国交通银行 | 03010000 |
| 中信银行 | 03020000 |
| 光大银行 | 03030000 |
| 民生银行 | 03050000 |
| 广发银行 | 03060000 |
| 招商银行 | 03080000 |
| 兴业银行 | 03090000 |
| 上海浦东发展银行 | 03100000 |
| 上海银行 | 03130031 |
| 平安银行 | 03134402 |
| 富滇银行 | 03135301 |
| 上海农村商业银行 | 04020031 |
| 中国邮政储蓄银行 | 04030000 |
企业网银充值支持银行列表
| 银行名称 | 银行代号 |
|---|---|
| 中国工商银行 | 01020000 |
| 中国农业银行 | 01030000 |
| 中国银行 | 01040000 |
| 中国建设银行 | 01050000 |
| 中国交通银行 | 03010000 |
| 光大银行 | 03030000 |
| 深圳发展银行 | 03070000 |
| 招商银行 | 03080000 |
| 兴业银行 | 03090000 |
| 上海浦东发展银行 | 03100000 |
| 北京农商行 | 04020011 |
快捷充值支持银行列表
| 银行名称 | 银行代号 |
|---|---|
| 中国工商银行 | 01020000 |
| 中国农业银行 | 01030000 |
| 中国银行 | 01040000 |
| 中国建设银行 | 01050000 |
| 中国交通银行 | 03010000 |
| 中信银行 | 03020000 |
| 光大银行 | 03030000 |
| 华夏银行 | 03040000 |
| 民生银行 | 03050000 |
| 广发银行 | 03060000 |
| 招商银行 | 03080000 |
| 兴业银行 | 03090000 |
| 上海浦东发展银行 | 03100000 |
| 北京银行 | 03130011 |
| 上海银行 | 03130031 |
| 平安银行 | 03134402 |
| 恒丰银行 | 03150000 |
| 中国邮政储蓄银行 | 04030000 |
代扣充值支持银行列表
| 银行名称 | 银行代号 |
|---|---|
| 中国工商银行 | 01020000 |
| 中国农业银行 | 01030000 |
| 中国银行 | 01040000 |
| 中国建设银行 | 01050000 |
| 交通银行 | 03010000 |
| 中信银行 | 03020000 |
| 中国光大银行 | 03030000 |
| 华夏银行 | 03040000 |
| 广发银行 | 03060000 |
| 招商银行 | 03080000 |
| 兴业银行 | 03090000 |
| 上海浦东发展银行 | 03100000 |
| 平安银行 | 03134402 |
| 中国邮政储蓄银行 | 04030000 |
个人取现支持银行列表
| 银行名称 | 银行代号 |
|---|---|
| 中国银行 | 01040000 |
| 中国农业银行 | 01030000 |
| 中国建设银行 | 01050000 |
| 中国工商银行 | 01020000 |
| 交通银行 | 03010000 |
| 招商银行 | 03080000 |
| 上海银行 | 03130031 |
| 中国光大银行 | 03030000 |
| 兴业银行 | 03090000 |
| 平安银行 | 03134402 |
| 华夏银行 | 03040000 |
| 广发银行 | 03060000 |
| 中国民生银行 | 03050000 |
| 中国邮政储蓄银行 | 04030000 |
| 浦东发展银行 | 03100000 |
| 深圳发展银行 | 03070000 |
| 北京银行 | 03130011 |
| 渤海银行 | 03180000 |
| 浙商银行 | 03160000 |
| 杭州银行 | 03133301 |
| 南京银行 | 03133201 |
| 北京农村商业银行 | 04020011 |
| 浙江民泰商业银行 | 03133307 |
| 浙江泰隆商业银行 | 31330000 |
| 上海农村商业银行 | 04020031 |
| 中信银行 | 03020000 |
企业取现支持银行列表
| 银行名称 | 银行代号 |
|---|---|
| 中国银行 | 01040000 |
| 中国农业银行 | 01030000 |
| 中国建设银行 | 01050000 |
| 中国工商银行 | 01020000 |
| 交通银行 | 03010000 |
| 招商银行 | 03080000 |
| 中国光大银行 | 03030000 |
| 浦东发展银行 | 03100000 |
| 深圳发展银行 | 03070000 |
| 北京农村商业银行 | 04020011 |
| 中信银行 | 03020000 |
| 恒丰银行 | 03150000 |
附录二
城市(地区)行政区划代码
| 省份代码 | 省份名称 | 地区代码 | 地区名称 | 省份代码 | 省份名称 | 地区代码 | 地区名称 | 省份代码 | 省份名称 | 地区代码 | 地区名称 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0011 | 北京 | 1100 | 北京 | 0023 | 黑龙江 | 2301 | 哈尔滨 | 0035 | 福建 | 3506 | 莆田 |
| 0012 | 天津 | 1200 | 天津 | 0023 | 黑龙江 | 2302 | 大庆 | 0035 | 福建 | 3507 | 泉州 |
| 0013 | 河北 | 1301 | 石家庄 | 0023 | 黑龙江 | 2303 | 大兴安岭 | 0035 | 福建 | 3508 | 三明 |
| 0013 | 河北 | 1302 | 保定 | 0023 | 黑龙江 | 2304 | 鹤岗 | 0035 | 福建 | 3509 | 漳州 |
| 0013 | 河北 | 1303 | 沧州 | 0023 | 黑龙江 | 2305 | 黑河 | 0036 | 江西 | 3601 | 南昌 |
| 0013 | 河北 | 1304 | 承德 | 0023 | 黑龙江 | 2306 | 鸡西 | 0036 | 江西 | 3602 | 抚州 |
| 0013 | 河北 | 1305 | 邯郸 | 0023 | 黑龙江 | 2307 | 佳木斯 | 0036 | 江西 | 3603 | 赣州 |
| 0013 | 河北 | 1306 | 衡水 | 0023 | 黑龙江 | 2308 | 牡丹江 | 0036 | 江西 | 3604 | 吉安 |
| 0013 | 河北 | 1307 | 廊坊 | 0023 | 黑龙江 | 2309 | 七台河 | 0036 | 江西 | 3605 | 景德镇 |
| 0013 | 河北 | 1308 | 秦皇岛 | 0023 | 黑龙江 | 2310 | 齐齐哈尔 | 0036 | 江西 | 3606 | 九江 |
| 0013 | 河北 | 1309 | 唐山 | 0023 | 黑龙江 | 2311 | 双鸭山 | 0036 | 江西 | 3607 | 萍乡 |
| 0013 | 河北 | 1310 | 邢台 | 0023 | 黑龙江 | 2312 | 绥化 | 0036 | 江西 | 3608 | 上饶 |
| 0013 | 河北 | 1311 | 张家口 | 0023 | 黑龙江 | 2313 | 伊春 | 0036 | 江西 | 3609 | 新余 |
| 0014 | 山西 | 1401 | 太原 | 0031 | 上海 | 3100 | 上海 | 0036 | 江西 | 3610 | 宜春 |
| 0014 | 山西 | 1402 | 长治 | 0032 | 江苏 | 3201 | 南京 | 0036 | 江西 | 3611 | 鹰潭 |
| 0014 | 山西 | 1403 | 大同 | 0032 | 江苏 | 3202 | 常州 | 0037 | 山东 | 3701 | 济南 |
| 0014 | 山西 | 1404 | 晋城 | 0032 | 江苏 | 3203 | 淮安 | 0037 | 山东 | 3702 | 青岛 |
| 0014 | 山西 | 1405 | 离石 | 0032 | 江苏 | 3204 | 连云港 | 0037 | 山东 | 3703 | 滨州 |
| 0014 | 山西 | 1406 | 临汾 | 0032 | 江苏 | 3205 | 南通 | 0037 | 山东 | 3704 | 德州 |
| 0014 | 山西 | 1407 | 朔州 | 0032 | 江苏 | 3206 | 苏州 | 0037 | 山东 | 3705 | 东营 |
| 0014 | 山西 | 1408 | 忻州 | 0032 | 江苏 | 3207 | 宿迁 | 0037 | 山东 | 3706 | 菏泽 |
| 0014 | 山西 | 1409 | 阳泉 | 0032 | 江苏 | 3208 | 泰州 | 0037 | 山东 | 3707 | 济宁 |
| 0014 | 山西 | 1410 | 榆次 | 0032 | 江苏 | 3209 | 无锡 | 0037 | 山东 | 3708 | 莱芜 |
| 0014 | 山西 | 1411 | 运城 | 0032 | 江苏 | 3210 | 徐州 | 0037 | 山东 | 3709 | 聊城 |
| 0014 | 山西 | 1412 | 晋中 | 0032 | 江苏 | 3211 | 盐城 | 0037 | 山东 | 3710 | 临沂 |
| 0014 | 山西 | 1413 | 吕梁 | 0032 | 江苏 | 3212 | 扬州 | 0037 | 山东 | 3711 | 日照 |
| 0015 | 内蒙古 | 1501 | 呼和浩特 | 0032 | 江苏 | 3213 | 镇江 | 0037 | 山东 | 3712 | 泰安 |
| 0015 | 内蒙古 | 1502 | 包头 | 0032 | 江苏 | 3214 | 胥浦 | 0037 | 山东 | 3713 | 威海 |
| 0015 | 内蒙古 | 1503 | 阿拉善 | 0033 | 浙江 | 3301 | 杭州 | 0037 | 山东 | 3714 | 潍坊 |
| 0015 | 内蒙古 | 1504 | 巴彦淖尔 | 0033 | 浙江 | 3302 | 宁波 | 0037 | 山东 | 3715 | 烟台 |
| 0015 | 内蒙古 | 1505 | 赤峰 | 0033 | 浙江 | 3303 | 湖州 | 0037 | 山东 | 3716 | 枣庄 |
| 0015 | 内蒙古 | 1506 | 呼伦贝尔 | 0033 | 浙江 | 3304 | 嘉兴 | 0037 | 山东 | 3717 | 淄博 |
| 0015 | 内蒙古 | 1507 | 乌海 | 0033 | 浙江 | 3305 | 金华 | 0041 | 河南 | 4101 | 郑州 |
| 0015 | 内蒙古 | 1508 | 乌兰察布 | 0033 | 浙江 | 3306 | 绍兴 | 0041 | 河南 | 4102 | 安阳 |
| 0015 | 内蒙古 | 1509 | 锡林郭勒 | 0033 | 浙江 | 3307 | 台州 | 0041 | 河南 | 4103 | 焦作 |
| 0015 | 内蒙古 | 1510 | 兴安 | 0033 | 浙江 | 3308 | 温州 | 0041 | 河南 | 4104 | 鹤壁 |
| 0015 | 内蒙古 | 1511 | 鄂尔多斯 | 0033 | 浙江 | 3309 | 舟山 | 0041 | 河南 | 4105 | 开封 |
| 0015 | 内蒙古 | 1512 | 通辽 | 0033 | 浙江 | 3310 | 衢州 | 0041 | 河南 | 4106 | 洛阳 |
| 0021 | 辽宁 | 2101 | 沈阳 | 0033 | 浙江 | 3311 | 丽水 | 0041 | 河南 | 4107 | 南阳 |
| 0021 | 辽宁 | 2102 | 大连 | 0034 | 安徽 | 3401 | 合肥 | 0041 | 河南 | 4108 | 平顶山 |
| 0021 | 辽宁 | 2103 | 鞍山 | 0034 | 安徽 | 3402 | 安庆 | 0041 | 河南 | 4109 | 三门峡 |
| 0021 | 辽宁 | 2104 | 本溪 | 0034 | 安徽 | 3403 | 蚌埠 | 0041 | 河南 | 4110 | 商丘 |
| 0021 | 辽宁 | 2105 | 朝阳 | 0034 | 安徽 | 3404 | 巢湖 | 0041 | 河南 | 4111 | 新乡 |
| 0021 | 辽宁 | 2106 | 丹东 | 0034 | 安徽 | 3405 | 池州 | 0041 | 河南 | 4112 | 信阳 |
| 0021 | 辽宁 | 2107 | 抚顺 | 0034 | 安徽 | 3406 | 滁州 | 0041 | 河南 | 4113 | 许昌 |
| 0021 | 辽宁 | 2108 | 阜新 | 0034 | 安徽 | 3407 | 阜阳 | 0041 | 河南 | 4114 | 周口 |
| 0021 | 辽宁 | 2109 | 葫芦岛 | 0034 | 安徽 | 3408 | 淮北 | 0041 | 河南 | 4115 | 驻马店 |
| 0021 | 辽宁 | 2110 | 锦州 | 0034 | 安徽 | 3409 | 淮南 | 0041 | 河南 | 4116 | 漯河 |
| 0021 | 辽宁 | 2111 | 辽阳 | 0034 | 安徽 | 3410 | 黄山 | 0041 | 河南 | 4117 | 濮阳 |
| 0021 | 辽宁 | 2112 | 盘锦 | 0034 | 安徽 | 3411 | 六安 | 0041 | 河南 | 4118 | 济源 |
| 0021 | 辽宁 | 2113 | 铁岭 | 0034 | 安徽 | 3412 | 马鞍山 | 0042 | 湖北 | 4201 | 武汉 |
| 0021 | 辽宁 | 2114 | 营口 | 0034 | 安徽 | 3414 | 铜陵 | 0042 | 湖北 | 4202 | 鄂州 |
| 0022 | 吉林 | 2201 | 长春 | 0034 | 安徽 | 3415 | 芜湖 | 0042 | 湖北 | 4203 | 恩施 |
| 0022 | 吉林 | 2202 | 白城 | 0034 | 安徽 | 3416 | 宣城 | 0042 | 湖北 | 4204 | 黄冈 |
| 0022 | 吉林 | 2203 | 白山 | 0034 | 安徽 | 3417 | 亳州 | 0042 | 湖北 | 4205 | 黄石 |
| 0022 | 吉林 | 2204 | 吉林 | 0034 | 安徽 | 3418 | 宿州 | 0042 | 湖北 | 4206 | 荆门 |
| 0022 | 吉林 | 2205 | 辽源 | 0035 | 福建 | 3501 | 福州 | 0042 | 湖北 | 4207 | 荆州 |
| 0022 | 吉林 | 2206 | 四平 | 0035 | 福建 | 3502 | 厦门 | 0042 | 湖北 | 4208 | 十堰 |
| 0022 | 吉林 | 2207 | 松原 | 0035 | 福建 | 3503 | 龙岩 | 0042 | 湖北 | 4209 | 随州 |
| 0022 | 吉林 | 2208 | 通化 | 0035 | 福建 | 3504 | 南平 | 0042 | 湖北 | 4210 | 咸宁 |
| 0022 | 吉林 | 2209 | 延边 | 0035 | 福建 | 3505 | 宁德 | 0042 | 湖北 | 4211 | 襄樊 |
| 0042 | 湖北 | 4212 | 孝感 | 0046 | 海南 | 4608 | 定安 | 0054 | 西藏 | 5402 | 阿里 |
| 0042 | 湖北 | 4213 | 神农架 | 0046 | 海南 | 4609 | 东方 | 0054 | 西藏 | 5403 | 昌都 |
| 0042 | 湖北 | 4214 | 天门 | 0046 | 海南 | 4610 | 乐东 | 0054 | 西藏 | 5404 | 林芝 |
| 0042 | 湖北 | 4215 | 宜昌 | 0046 | 海南 | 4611 | 临高 | 0054 | 西藏 | 5405 | 那曲 |
| 0042 | 湖北 | 4216 | 三峡 | 0046 | 海南 | 4612 | 陵水 | 0054 | 西藏 | 5406 | 日喀则 |
| 0043 | 湖南 | 4301 | 长沙 | 0046 | 海南 | 4613 | 琼海 | 0054 | 西藏 | 5407 | 山南 |
| 0043 | 湖南 | 4302 | 常德 | 0046 | 海南 | 4614 | 琼中 | 0061 | 陕西 | 6101 | 西安 |
| 0043 | 湖南 | 4303 | 郴州 | 0046 | 海南 | 4615 | 屯昌 | 0061 | 陕西 | 6102 | 安康 |
| 0043 | 湖南 | 4304 | 衡阳 | 0046 | 海南 | 4616 | 万宁 | 0061 | 陕西 | 6103 | 宝鸡 |
| 0043 | 湖南 | 4305 | 怀化 | 0046 | 海南 | 4617 | 文昌 | 0061 | 陕西 | 6104 | 汉中 |
| 0043 | 湖南 | 4306 | 娄底 | 0046 | 海南 | 4618 | 五指山 | 0061 | 陕西 | 6105 | 商洛 |
| 0043 | 湖南 | 4307 | 邵阳 | 0046 | 海南 | 4619 | 洋浦 | 0061 | 陕西 | 6106 | 铜川 |
| 0043 | 湖南 | 4308 | 湘潭 | 0050 | 重庆 | 5000 | 重庆 | 0061 | 陕西 | 6107 | 渭南 |
| 0043 | 湖南 | 4309 | 湘西 | 0051 | 四川 | 5101 | 成都 | 0061 | 陕西 | 6108 | 咸阳 |
| 0043 | 湖南 | 4310 | 益阳 | 0051 | 四川 | 5102 | 巴中 | 0061 | 陕西 | 6109 | 延安 |
| 0043 | 湖南 | 4311 | 永州 | 0051 | 四川 | 5103 | 达州 | 0061 | 陕西 | 6110 | 榆林 |
| 0043 | 湖南 | 4312 | 岳阳 | 0051 | 四川 | 5104 | 德阳 | 0062 | 甘肃 | 6201 | 兰州 |
| 0043 | 湖南 | 4313 | 张家界 | 0051 | 四川 | 5105 | 广安 | 0062 | 甘肃 | 6202 | 白银 |
| 0043 | 湖南 | 4314 | 株洲 | 0051 | 四川 | 5106 | 广元 | 0062 | 甘肃 | 6203 | 定西 |
| 0044 | 广东 | 4401 | 广州 | 0051 | 四川 | 5107 | 乐山 | 0062 | 甘肃 | 6204 | 东风 |
| 0044 | 广东 | 4402 | 深圳 | 0051 | 四川 | 5108 | 凉山 | 0062 | 甘肃 | 6205 | 合作 |
| 0044 | 广东 | 4403 | 潮州 | 0051 | 四川 | 5109 | 眉山 | 0062 | 甘肃 | 6206 | 嘉峪关 |
| 0044 | 广东 | 4404 | 东莞 | 0051 | 四川 | 5110 | 绵阳 | 0062 | 甘肃 | 6207 | 金昌 |
| 0044 | 广东 | 4405 | 佛山 | 0051 | 四川 | 5111 | 南充 | 0062 | 甘肃 | 6208 | 酒泉 |
| 0044 | 广东 | 4406 | 惠州 | 0051 | 四川 | 5112 | 内江 | 0062 | 甘肃 | 6209 | 矿区 |
| 0044 | 广东 | 4407 | 江门 | 0051 | 四川 | 5113 | 攀枝花 | 0062 | 甘肃 | 6210 | 临夏 |
| 0044 | 广东 | 4408 | 揭阳 | 0051 | 四川 | 5114 | 遂宁 | 0062 | 甘肃 | 6211 | 陇南 |
| 0044 | 广东 | 4409 | 茂名 | 0051 | 四川 | 5115 | 雅安 | 0062 | 甘肃 | 6212 | 平凉 |
| 0044 | 广东 | 4410 | 梅州 | 0051 | 四川 | 5116 | 宜宾 | 0062 | 甘肃 | 6213 | 庆阳 |
| 0044 | 广东 | 4411 | 清远 | 0051 | 四川 | 5117 | 自贡 | 0062 | 甘肃 | 6214 | 天水 |
| 0044 | 广东 | 4412 | 汕头 | 0051 | 四川 | 5118 | 泸州 | 0062 | 甘肃 | 6215 | 武威 |
| 0044 | 广东 | 4413 | 汕尾 | 0051 | 四川 | 5119 | 阿坝 | 0062 | 甘肃 | 6216 | 张掖 |
| 0044 | 广东 | 4414 | 韶关 | 0051 | 四川 | 5120 | 甘孜 | 0062 | 甘肃 | 6217 | 甘南州 |
| 0044 | 广东 | 4415 | 阳江 | 0051 | 四川 | 5121 | 资阳 | 0063 | 青海 | 6301 | 西宁 |
| 0044 | 广东 | 4416 | 云浮 | 0052 | 贵州 | 5201 | 贵阳 | 0063 | 青海 | 6302 | 海东 |
| 0044 | 广东 | 4417 | 湛江 | 0052 | 贵州 | 5202 | 安顺 | 0064 | 宁夏 | 6401 | 银川 |
| 0044 | 广东 | 4418 | 肇庆 | 0052 | 贵州 | 5203 | 毕节 | 0064 | 宁夏 | 6402 | 中卫 |
| 0044 | 广东 | 4419 | 中山 | 0052 | 贵州 | 5204 | 六盘水 | 0064 | 宁夏 | 6403 | 固原 |
| 0044 | 广东 | 4420 | 河源 | 0052 | 贵州 | 5205 | 铜仁 | 0064 | 宁夏 | 6404 | 石嘴山 |
| 0044 | 广东 | 4421 | 珠海 | 0052 | 贵州 | 5206 | 遵义 | 0064 | 宁夏 | 6405 | 吴忠 |
| 0045 | 广西 | 4501 | 南宁 | 0052 | 贵州 | 5207 | 黔东南 | 0065 | 新疆 | 6501 | 乌鲁木齐 |
| 0045 | 广西 | 4502 | 百色 | 0052 | 贵州 | 5208 | 黔南 | 0065 | 新疆 | 6502 | 阿克苏 |
| 0045 | 广西 | 4503 | 北海 | 0052 | 贵州 | 5209 | 黔西南 | 0065 | 新疆 | 6503 | 阿勒泰 |
| 0045 | 广西 | 4504 | 桂林 | 0053 | 云南 | 5301 | 昆明 | 0065 | 新疆 | 6504 | 巴州 |
| 0045 | 广西 | 4505 | 河池 | 0053 | 云南 | 5302 | 西双版纳 | 0065 | 新疆 | 6505 | 博州 |
| 0045 | 广西 | 4506 | 柳州 | 0053 | 云南 | 5303 | 保山 | 0065 | 新疆 | 6506 | 昌吉 |
| 0045 | 广西 | 4507 | 梧州 | 0053 | 云南 | 5304 | 楚雄 | 0065 | 新疆 | 6507 | 哈密 |
| 0045 | 广西 | 4508 | 玉林 | 0053 | 云南 | 5305 | 大理 | 0065 | 新疆 | 6508 | 和田 |
| 0045 | 广西 | 4509 | 崇左 | 0053 | 云南 | 5306 | 德宏 | 0065 | 新疆 | 6509 | 喀什 |
| 0045 | 广西 | 4510 | 防城港 | 0053 | 云南 | 5307 | 红河 | 0065 | 新疆 | 6510 | 克拉玛依 |
| 0045 | 广西 | 4511 | 贵港 | 0053 | 云南 | 5308 | 丽江 | 0065 | 新疆 | 6511 | 马兰 |
| 0045 | 广西 | 4512 | 贺州 | 0053 | 云南 | 5309 | 临沧 | 0065 | 新疆 | 6512 | 石河子 |
| 0045 | 广西 | 4513 | 来宾 | 0053 | 云南 | 5310 | 怒江 | 0065 | 新疆 | 6513 | 塔城 |
| 0045 | 广西 | 4514 | 钦州 | 0053 | 云南 | 5311 | 曲靖 | 0065 | 新疆 | 6514 | 吐鲁番 |
| 0046 | 海南 | 4601 | 海口 | 0053 | 云南 | 5312 | 思茅 | 0065 | 新疆 | 6515 | 伊犁 |
| 0046 | 海南 | 4602 | 三亚 | 0053 | 云南 | 5313 | 文山 | 0065 | 新疆 | 6516 | 克州 |
| 0046 | 海南 | 4603 | 白沙 | 0053 | 云南 | 5314 | 玉溪 | 0065 | 新疆 | 6517 | 阿拉尔 |
| 0046 | 海南 | 4604 | 保亭 | 0053 | 云南 | 5315 | 昭通 | 0065 | 新疆 | 6518 | 五家渠 |
| 0046 | 海南 | 4605 | 昌江 | 0053 | 云南 | 5316 | 中甸 | 2001 | 香港 | 9901 | 香港 |
| 0046 | 海南 | 4606 | 澄迈 | 0053 | 云南 | 5317 | 迪庆州 | 2002 | 澳门 | 9902 | 澳门 |
| 0046 | 海南 | 4607 | 儋州 | 0054 | 西藏 | 5401 | 拉萨 | 2003 | 台湾 | 9903 | 台湾 |
附录三
银行限额列表
快捷支付
| 银行名称 | 单日限额 | 单笔最低限额 | 单笔最高限额 |
|---|---|---|---|
| 中国邮政储蓄银行 | 5000.00 | 0.00 | 5000.00 |
| 恒丰银行 | 1000000.00 | 0.00 | 500000.00 |
| 平安银行 | 50000.00 | 0.00 | 50000.00 |
| 上海银行 | 500000.00 | 0.00 | 100000.00 |
| 北京银行 | 500000.00 | 20.00 | 99999.00 |
| 上海浦东发展银行 | 400000.00 | 0.00 | 400000.00 |
| 兴业银行 | 50000.00 | 0.00 | 50000.00 |
| 招商银行 | 100000.00 | 5.00 | 100000.00 |
| 华夏银行 | 1000000.00 | 0.00 | 500000.00 |
| 光大银行 | 50000.00 | 0.00 | 50000.00 |
| 中信银行 | 5000.00 | 1.00 | 5000.00 |
| 中国交通银行 | 200000.00 | 0.00 | 10000.00 |
| 中国建设银行 | 1000000.00 | 0.00 | 100000.00 |
| 中国银行 | 200000.00 | 0.00 | 50000.00 |
| 中国农业银行 | 19999.99 | 0.00 | 19999.99 |
| 中国工商银行 | 50000.00 | 0.00 | 50000.00 |
| 广发银行 | 1000000.00 | 0.00 | 500000.00 |
代扣支付
| 银行名称 | 单日限额 | 单笔最低限额 | 单笔最高限额 |
|---|---|---|---|
| 中国工商银行 | 10000.00 | 0.00 | 10000.00 |
| 中国邮政储蓄银行 | 5000.00 | 0.00 | 5000.00 |
| 平安银行 | 50000.00 | 0.00 | 50000.00 |
| 北京银行 | 500000.00 | 20.00 | 99999.00 |
| 上海浦东发展银行 | 50000.00 | 0.00 | 50000.00 |
| 兴业银行 | 50000.00 | 0.00 | 50000.00 |
| 招商银行 | 100000.00 | 5.00 | 100000.00 |
| 广发银行 | 1000000.00 | 0.00 | 500000.00 |
| 光大银行 | 50000.00 | 0.00 | 50000.00 |
| 中信银行 | 5000.00 | 1.00 | 5000.00 |
| 中国交通银行 | 200000.00 | 0.00 | 10000.00 |
| 中国建设银行 | 50000.00 | 0.00 | 50000.00 |
| 中国银行 | 200000.00 | 0.00 | 50000.00 |
| 中国农业银行 | 9999.00 | 0.00 | 9999.00 |
附录四
返回码表
| 个人用户开户 | |
|---|---|
| 101000 | 交易成功 |
| 101003 | 交易失败 |
| 101099 | 系统异常 |
| 101100 | 请求参数非法 |
| 101101 | 商户无此接口权限 |
| 101102 | 验证签名失败 |
| 101103 | 商户状态异常 |
| 101106 | 商户签名未配置 |
| 101202 | 交易订单号重复 |
| 101203 | 账户可用余额不足 |
| 101204 | 商户配置异常 |
| 101205 | 短信验证码验证失败 |
| 101206 | 短信验证码发送手机号与验证手机号不一致 |
| 101207 | 短信验证码或短信唯一标识为空 |
| 101208 | 短信验证码已失效请重新获取 |
| 101209 | 验证码发送接口与接口不一致 |
| 101301 | 该用户已开户,身份证号已存在 |
| 101302 | 该用户已开户,手机号已存在 |
| 101303 | 该用户正在开户中,请勿重复申请 |
| 101304 | 个人用户开户失败 |
| 101400 | 身份证和姓名校验不符 |
| 101401 | 身份证末位校验失败 |
| 101800 | 风控信息验证失败 |
| 101801 | 商户接口调用风控受限 |
| 101802 | 用户接口调用风控受限 |
| 101803 | 二级商户接口调用风控受限 |
| 企业用户开户 | |
| 102000 | 交易成功 |
| 102099 | 系统异常 |
| 102100 | 请求参数非法 |
| 102101 | 商户无此接口权限 |
| 102102 | 验证签名失败 |
| 102103 | 商户状态异常 |
| 102202 | 交易订单号重复 |
| 102300 | 该企业证照类型与证照号不匹配 |
| 102301 | 该企业已开户 |
| 102302 | 未查询到原开户申请号,不能修改 |
| 102303 | 该企业开户申请号重复 |
| 102304 | 该企业开户申请正在审核中,不能修改 |
| 102305 | 该企业开户申请已被拒绝,不能修改 |
| 102306 | 该企业开户申请已经通过,不能修改 |
| 102307 | 该企业已有正在处理的开户申请或已开户成功 |
| 102308 | 上传失败,文件大小超过5M |
| 102309 | 上传失败,不支持该文件格式 |
| 102310 | 上传失败,文件数量超过限制 |
| 102311 | 文件上传失败,请稍后重试 |
| 102312 | 操作超时,请重试 |
| 102313 | 文件信息不匹配 |
| 102314 | 企业名称与开户银行账户名不相同 |
| 102315 | 开户申请提交失败,数据异常 |
| 102316 | 未查询到子帐户信息 |
| 102317 | 文件数据异常 |
| 102318 | 省份地区信息非法 |
| 102800 | 风控信息验证失败 |
| 102801 | 商户接口调用风控受限 |
| 102802 | 用户接口调用风控受限 |
| 102803 | 二级商户接口调用风控受限 |
| 快捷绑卡 | |
| 103000 | 交易成功 |
| 103002 | 请求已受理 |
| 103003 | 交易失败 |
| 103099 | 系统异常 |
| 103100 | 请求参数非法 |
| 103101 | 商户无此接口权限 |
| 103102 | 验证签名失败 |
| 103103 | 商户状态异常 |
| 103104 | 用户状态异常 |
| 103106 | 商户签名未配置 |
| 103201 | 页面数据被篡改 |
| 103202 | 交易订单号重复 |
| 103203 | 账户可用余额不足 |
| 103204 | 商户配置异常 |
| 103205 | 短信验证码验证失败 |
| 103206 | 短信验证码发送手机号与验证手机号不一致 |
| 103207 | 短信验证码或短信唯一标识为空 |
| 103208 | 短信验证码已失效请重新获取 |
| 103209 | 验证码发送接口与接口不一致 |
| 103210 | 短信验证码发送过于频繁 |
| 103211 | 短信验证码发送失败 |
| 103301 | 不支持绑定该银行的银行卡 |
| 103302 | 用户已绑定快捷卡,不能再绑定取现卡 |
| 103303 | 银行卡号与银行不匹配 |
| 103304 | 该银行卡非借记卡 |
| 103305 | 企业用户/商户不支持快捷绑卡 |
| 103306 | 用户已绑定快捷或代扣卡,请勿重复申请 |
| 103307 | 用户有快捷正在绑定中,请勿重复绑卡 |
| 103308 | 省份地区信息非法 |
| 103400 | 银行账号无效或不存在 |
| 103401 | 持卡人身份信息或手机号验证不符 |
| 103402 | 卡号长度有误 |
| 103403 | 验证超时 |
| 103404 | 账号应为活期账号 |
| 103405 | 您的银行卡暂不支持该业务,请更换其他银行卡或咨询发卡银行 |
| 103501 | 交易失败(包含未知错误码) |
| 103502 | 系统未开放或暂时关闭,请稍后再试 |
| 103503 | 交易通讯超时,请发起查询交易 |
| 103505 | 重复签约 |
| 103512 | 重复交易 |
| 103519 | 订单系统错误 |
| 103520 | 持卡人信息为空 |
| 103521 | 持卡人信息有误 |
| 103522 | 持卡人系统错误 |
| 103523 | 卡信息为空 |
| 103524 | 卡信息有误 |
| 103525 | 卡系统错误 |
| 103526 | 卡系统错误 |
| 103535 | 网关不支持签约交易 |
| 103538 | 风险受限 |
| 103560 | 交易失败,请联系发卡银行 |
| 103561 | 对不起,您所输的银行卡号有误,请核实后再试! |
| 103562 | 交易失败,发卡银行不支持该商户,请更换其它银行卡 |
| 103563 | 卡状态不正确 |
| 103565 | 输入的密码、有效期或CVN2有误,交易失败 |
| 103566 | 持卡人身份信息或手机号输入不正确,验证失败 |
| 103568 | 您的银行卡暂不支持该业务 |
| 103571 | 对不起,你所输的验证码有误,请核实后再试! |
| 103572 | 签约失败,您尚未在银行柜面或网银页面签约此业务,请去柜面或网银开通,或者拨打发卡行热线电话 |
| 103573 | 对不起,您所输的户名有误,请核实后再试! |
| 103574 | 对不起,您的证件类型有误,请核实后再试! |
| 103575 | 对不起,您所输的证件号码有误,请核实后再试! |
| 103576 | 对不起,您所输的手机号码有误,请核实后再试! |
| 103577 | 验证码发送失败 |
| 103578 | 验证码超限或超时 |
| 103579 | 对不起,您的用户信息未通过银行验证,请核实后再试! |
| 103580 | 银行卡状态异常 |
| 103590 | 交易失败,参数不合法 |
| 103591 | 系统异常 |
| 103592 | 银行系统繁忙,请稍后再试 |
| 103593 | 系统超时 |
| 103594 | 银行处理中,请稍后再试 |
| 103599 | 系统异常 |
| 1035F0 | 渠道交易失败 |
| 1035F2 | 交易失败,未添加白名单 |
| 1035F3 | 签约失败,请稍后再试 |
| 1035P0 | 交易挂起,需要确认 |
| 103800 | 风控信息验证失败 |
| 103801 | 商户接口调用风控受限 |
| 103802 | 用户接口调用风控受限 |
| 103803 | 二级商户接口调用风控受限 |
| 取现绑卡 | |
| 104000 | 交易成功 |
| 104002 | 请求已受理 |
| 104003 | 交易失败 |
| 104099 | 系统异常 |
| 104100 | 请求参数非法 |
| 104101 | 商户无此接口权限 |
| 104102 | 验证签名失败 |
| 104103 | 商户状态异常 |
| 104104 | 用户状态异常 |
| 104106 | 商户签名未配置 |
| 104202 | 交易订单号重复 |
| 104203 | 账户可用余额不足 |
| 104204 | 商户配置异常 |
| 104301 | 不支持绑定该银行的银行卡 |
| 104302 | 用户已绑定快捷或代扣卡,不能再绑定取现卡 |
| 104303 | 银行卡号与银行不匹配 |
| 104304 | 该银行卡非借记卡 |
| 104305 | 企业用户/商户不支持快捷绑卡 |
| 104306 | 用户已绑定快捷或代扣卡,请勿重复申请 |
| 104307 | 用户有快捷或代扣卡正在绑定中,请勿重复绑卡 |
| 104308 | 省份地区信息非法 |
| 104800 | 风控信息验证失败 |
| 104801 | 商户接口调用风控受限 |
| 104802 | 用户接口调用风控受限 |
| 104803 | 二级商户接口调用风控受限 |
| 解绑快捷卡 | |
| 105000 | 交易成功 |
| 105002 | 请求已受理 |
| 105099 | 系统异常 |
| 105100 | 请求参数非法 |
| 105101 | 商户无此接口权限 |
| 105102 | 验证签名失败 |
| 105103 | 商户状态异常 |
| 105104 | 用户状态异常 |
| 105205 | 短信验证码验证失败 |
| 105206 | 短信验证码发送手机号与验证手机号不一致 |
| 105207 | 短信验证码或短信唯一标识为空 |
| 105208 | 短信验证码已失效请重新获取 |
| 105209 | 验证码发送接口与接口不一致 |
| 105300 | 短信验证码有误 |
| 105301 | 用户未绑定过该卡 |
| 105302 | 非代扣或快捷卡,不能解绑 |
| 105303 | 订单重复 |
| 105304 | 用户基本信息不存在 |
| 105305 | 验证卡信息失败 |
| 105800 | 风控信息验证失败 |
| 105801 | 商户接口调用风控受限 |
| 105802 | 用户接口调用风控受限 |
| 105803 | 二级商户接口调用风控受限 |
| 代扣签约绑卡 | |
| 106000 | 交易成功 |
| 106002 | 请求已受理 |
| 106003 | 交易失败 |
| 106099 | 系统异常 |
| 106100 | 请求参数非法 |
| 106101 | 商户无此接口权限 |
| 106102 | 验证签名失败 |
| 106103 | 商户状态异常 |
| 106104 | 用户状态异常 |
| 106105 | 账户状态异常 |
| 106106 | 商户签名未配置 |
| 106201 | 页面数据被篡改 |
| 106202 | 交易订单号重复 |
| 106203 | 账户可用余额不足 |
| 106204 | 商户配置异常 |
| 106205 | 短信验证码验证失败 |
| 106206 | 短信验证码发送手机号与验证手机号不一致 |
| 106207 | 短信验证码或短信唯一标识为空 |
| 106208 | 短信验证码已失效请重新获取 |
| 106209 | 验证码发送接口与接口不一致 |
| 106210 | 短信验证码发送过于频繁 |
| 106211 | 短信验证码发送失败 |
| 106301 | 不支持绑定该银行的银行卡 |
| 106303 | 银行卡号与银行不匹配 |
| 106304 | 该银行卡非借记卡 |
| 106308 | 省份地区信息非法 |
| 106309 | 代扣签约只支持个人用户 |
| 106310 | 产品信息校验失败 |
| 106311 | 手续费子账户配置异常 |
| 106312 | 企业用户/商户不支持代扣绑卡 |
| 106318 | 用户已绑定代扣卡,请勿重复申请 |
| 106319 | 用户有代扣卡正在绑定中,请勿重复绑卡 |
| 106400 | 银行账号无效或不存在 |
| 106401 | 持卡人身份信息或手机号验证不符 |
| 106402 | 卡号长度有误 |
| 106403 | 验证超时 |
| 106404 | 账号应为活期账号 |
| 106405 | 您的银行卡暂不支持该业务,请更换其他银行卡或咨询发卡银行 |
| 106800 | 风控信息验证失败 |
| 106801 | 商户接口调用风控受限 |
| 106802 | 用户接口调用风控受限 |
| 106803 | 二级商户接口调用风控受限 |
| 删除取现卡 | |
| 108000 | 交易成功 |
| 108003 | 交易失败 |
| 108099 | 系统异常 |
| 108100 | 请求参数非法 |
| 108101 | 商户无此接口权限 |
| 108102 | 验证签名失败 |
| 108103 | 商户状态异常 |
| 108104 | 用户状态异常 |
| 108106 | 商户签名未配置 |
| 108202 | 交易订单号重复 |
| 108204 | 商户配置异常 |
| 108300 | 银行卡不是取现卡 |
| 108301 | 不能操作默认取现卡 |
| 108302 | 银行卡不存在或状态异常 |
| 108800 | 风控信息验证失败 |
| 108801 | 商户接口调用风控受限 |
| 108802 | 用户接口调用风控受限 |
| 108803 | 二级商户接口调用风控受限 |
| 纯通道代扣签约 | |
| 109000 | 交易成功 |
| 109002 | 请求已受理 |
| 109003 | 交易失败 |
| 109099 | 系统异常 |
| 109100 | 请求参数非法 |
| 109101 | 商户无此接口权限 |
| 109102 | 验证签名失败 |
| 109103 | 商户状态异常 |
| 109104 | 用户状态异常 |
| 109105 | 账户状态异常 |
| 109106 | 商户签名未配置 |
| 109201 | 页面数据被篡改 |
| 109202 | 交易订单号重复 |
| 109203 | 账户可用余额不足 |
| 109204 | 商户配置异常 |
| 109205 | 短信验证码验证失败 |
| 109206 | 短信验证码发送手机号与验证手机号不一致 |
| 109207 | 短信验证码或短信唯一标识为空 |
| 109208 | 短信验证码已失效请重新获取 |
| 109209 | 验证码发送接口与接口不一致 |
| 109210 | 短信验证码发送过于频繁 |
| 109211 | 短信验证码发送失败 |
| 109301 | 不支持绑定该银行的银行卡 |
| 109303 | 银行卡号与银行不匹配 |
| 109304 | 该银行卡非借记卡 |
| 109308 | 省份地区信息非法 |
| 109309 | 代扣签约只支持个人用户 |
| 109310 | 产品信息校验失败 |
| 109311 | 手续费子账户配置异常 |
| 109312 | 企业用户/商户不支持代扣绑卡 |
| 109318 | 用户已绑定代扣卡,请勿重复申请 |
| 109319 | 用户有代扣卡正在绑定中,请勿重复绑卡 |
| 109400 | 银行账号无效或不存在 |
| 109401 | 持卡人身份信息或手机号验证不符 |
| 109402 | 卡号长度有误 |
| 109403 | 验证超时 |
| 109404 | 账号应为活期账号 |
| 109405 | 您的银行卡暂不支持该业务,请更换其他银行卡或咨询发卡银行 |
| 109800 | 风控信息验证失败 |
| 109801 | 商户接口调用风控受限 |
| 109802 | 用户接口调用风控受限 |
| 109803 | 二级商户接口调用风控受限 |
| 短信验证码发送 | |
| 110000 | 交易成功 |
| 110003 | 交易失败 |
| 110099 | 系统异常 |
| 110100 | 请求参数非法 |
| 110101 | 商户无此接口权限 |
| 110102 | 验证签名失败 |
| 110103 | 商户状态异常 |
| 110104 | 用户状态异常 |
| 110106 | 商户签名未配置 |
| 110202 | 交易订单号重复 |
| 110204 | 商户配置异常 |
| 110210 | 短信验证码发送过于频繁 |
| 110211 | 短信验证码发送失败 |
| 110301 | 短信验证码发送开关已关闭 |
| 110304 | 快捷充值短信验证码发送失败,用户还未绑定快捷卡 |
| 110305 | 非快捷绑卡银行预留手机号 |
| 后台快捷绑卡代开户接口 | |
| 112000 | 交易成功 |
| 112002 | 请求已受理 |
| 112003 | 交易失败 |
| 112099 | 系统异常 |
| 112100 | 请求参数非法 |
| 112101 | 商户无此接口权限 |
| 112102 | 验证签名失败 |
| 112103 | 商户状态异常 |
| 112104 | 用户状态异常 |
| 112106 | 商户签名未配置 |
| 112201 | 页面数据被篡改 |
| 112202 | 交易订单号重复 |
| 112203 | 账户可用余额不足 |
| 112204 | 商户配置异常 |
| 112205 | 短信验证码验证失败 |
| 112206 | 短信验证码发送手机号与验证手机号不一致 |
| 112207 | 短信验证码或短信唯一标识为空 |
| 112208 | 短信验证码已失效请重新获取 |
| 112209 | 验证码发送接口与接口不一致 |
| 112210 | 短信验证码发送过于频繁 |
| 112211 | 短信验证码发送失败 |
| 112300 | 该业务仅支持个人用户 |
| 112301 | 不支持绑定该银行的银行卡 |
| 112302 | 用户已绑定快捷卡,不能再绑定取现卡 |
| 112303 | 银行卡号与银行不匹配 |
| 112304 | 该银行卡非借记卡 |
| 112306 | 用户已绑定快捷或代扣卡,请勿重复申请 |
| 112307 | 用户有快捷正在绑定中,请勿重复绑卡 |
| 112308 | 省份地区信息非法 |
| 112320 | 该用户已开户,手机号已存在 |
| 112400 | 银行账号无效或不存在 |
| 112401 | 持卡人身份信息或手机号验证不符 |
| 112402 | 卡号长度有误 |
| 112403 | 验证超时 |
| 112404 | 账号应为活期账号 |
| 112405 | 您的银行卡暂不支持该业务,请更换其他银行卡或咨询发卡银行 |
| 112501 | 交易失败(包含未知错误码) |
| 112502 | 系统未开放或暂时关闭,请稍后再试 |
| 112503 | 交易通讯超时,请发起查询交易 |
| 112505 | 重复签约 |
| 112512 | 重复交易 |
| 112519 | 订单系统错误 |
| 112520 | 持卡人信息为空 |
| 112521 | 持卡人信息有误 |
| 112522 | 持卡人系统错误 |
| 112523 | 卡信息为空 |
| 112524 | 卡信息有误 |
| 112525 | 卡系统错误 |
| 112526 | 卡系统错误 |
| 112535 | 网关不支持签约交易 |
| 112538 | 风险受限 |
| 112560 | 交易失败,请联系发卡银行 |
| 112561 | 对不起,您所输的银行卡号有误,请核实后再试! |
| 112562 | 交易失败,发卡银行不支持该商户,请更换其它银行卡 |
| 112563 | 卡状态不正确 |
| 112565 | 输入的密码、有效期或CVN2有误,交易失败 |
| 112566 | 持卡人身份信息或手机号输入不正确,验证失败 |
| 112568 | 您的银行卡暂不支持该业务 |
| 112571 | 对不起,你所输的验证码有误,请核实后再试! |
| 112572 | 签约失败,您尚未在银行柜面或网银页面签约此业务,请去柜面或网银开通,或者拨打发卡行热线电话 |
| 112573 | 对不起,您所输的户名有误,请核实后再试! |
| 112574 | 对不起,您的证件类型有误,请核实后再试! |
| 112575 | 对不起,您所输的证件号码有误,请核实后再试! |
| 112576 | 对不起,您所输的手机号码有误,请核实后再试! |
| 112577 | 验证码发送失败 |
| 112578 | 验证码超限或超时 |
| 112579 | 对不起,您的用户信息未通过银行验证,请核实后再试! |
| 112580 | 银行卡状态异常 |
| 112590 | 交易失败,参数不合法 |
| 112591 | 系统异常 |
| 112592 | 银行系统繁忙,请稍后再试 |
| 112593 | 系统超时 |
| 112594 | 银行处理中,请稍后再试 |
| 112599 | 系统异常 |
| 1125F0 | 渠道交易失败 |
| 1125F2 | 交易失败,未添加白名单 |
| 1125F3 | 签约失败,请稍后再试 |
| 1125P0 | 交易挂起,需要确认 |
| 112800 | 风控信息验证失败 |
| 112801 | 商户接口调用风控受限 |
| 112802 | 用户接口调用风控受限 |
| 112803 | 二级商户接口调用风控受限 |
| 二级商户号录入接口 | |
| 114000 | 交易成功 |
| 114099 | 系统异常 |
| 114100 | 请求参数非法 |
| 114101 | 商户无此接口权限 |
| 114102 | 验证签名失败 |
| 114103 | 商户状态异常 |
| 114215 | 二级商户名已存在 |
| 后台企业用户开户 | |
| 115000 | 交易成功 |
| 115099 | 系统异常 |
| 115100 | 请求参数非法 |
| 115101 | 商户无此接口权限 |
| 115102 | 验证签名失败 |
| 115103 | 商户状态异常 |
| 115202 | 交易订单号重复 |
| 115300 | 该企业证照类型与证照号不匹配 |
| 115301 | 该企业已开户 |
| 115307 | 该企业已有正在处理的开户申请或已开户成功 |
| 115314 | 企业名称与开户银行账户名不相同 |
| 115316 | 未查询到子帐户信息 |
| 115317 | 文件数据异常 |
| 115318 | 省份地区信息非法 |
| 115800 | 风控信息验证失败 |
| 115801 | 商户接口调用风控受限 |
| 115802 | 用户接口调用风控受限 |
| 115803 | 二级商户接口调用风控受限 |
| 前台快捷绑卡代开户接口 | |
| 116000 | 交易成功 |
| 116002 | 请求已受理 |
| 116003 | 交易失败 |
| 116099 | 系统异常 |
| 116100 | 请求参数非法 |
| 116101 | 商户无此接口权限 |
| 116102 | 验证签名失败 |
| 116103 | 商户状态异常 |
| 116104 | 用户状态异常 |
| 116106 | 商户签名未配置 |
| 116202 | 交易订单号重复 |
| 116203 | 账户可用余额不足 |
| 116204 | 商户配置异常 |
| 116205 | 短信验证码验证失败 |
| 116206 | 短信验证码发送手机号与验证手机号不一致 |
| 116207 | 短信验证码或短信唯一标识为空 |
| 116208 | 短信验证码已失效请重新获取 |
| 116209 | 验证码发送接口与接口不一致 |
| 116210 | 短信验证码发送过于频繁 |
| 116211 | 短信验证码发送失败 |
| 116216 | 页面已失效 |
| 116300 | 该业务仅支持个人用户 |
| 116301 | 不支持绑定该银行的银行卡 |
| 116302 | 用户已绑定快捷卡,不能再绑定取现卡 |
| 116303 | 银行卡号与银行不匹配 |
| 116304 | 该银行卡非借记卡 |
| 116306 | 用户已绑定快捷或代扣卡,请勿重复申请 |
| 116307 | 用户有快捷正在绑定中,请勿重复绑卡 |
| 116308 | 省份地区信息非法 |
| 116320 | 该用户已开户,手机号已存在 |
| 116400 | 银行账号无效或不存在 |
| 116401 | 持卡人身份信息或手机号验证不符 |
| 116402 | 卡号长度有误 |
| 116403 | 验证超时 |
| 116404 | 账号应为活期账号 |
| 116405 | 您的银行卡暂不支持该业务,请更换其他银行卡或咨询发卡银行 |
| 116501 | 交易失败(包含未知错误码) |
| 116502 | 系统未开放或暂时关闭,请稍后再试 |
| 116503 | 交易通讯超时,请发起查询交易 |
| 116505 | 重复签约 |
| 116512 | 重复交易 |
| 116519 | 订单系统错误 |
| 116520 | 持卡人信息为空 |
| 116521 | 持卡人信息有误 |
| 116522 | 持卡人系统错误 |
| 116523 | 卡信息为空 |
| 116524 | 卡信息有误 |
| 116525 | 卡系统错误 |
| 116526 | 卡系统错误 |
| 116535 | 网关不支持签约交易 |
| 116538 | 风险受限 |
| 116560 | 交易失败,请联系发卡银行 |
| 116561 | 对不起,您所输的银行卡号有误,请核实后再试! |
| 116562 | 交易失败,发卡银行不支持该商户,请更换其它银行卡 |
| 116563 | 卡状态不正确 |
| 116565 | 输入的密码、有效期或CVN2有误,交易失败 |
| 116566 | 持卡人身份信息或手机号输入不正确,验证失败 |
| 116568 | 您的银行卡暂不支持该业务 |
| 116571 | 对不起,你所输的验证码有误,请核实后再试! |
| 116572 | 签约失败,您尚未在银行柜面或网银页面签约此业务,请去柜面或网银开通,或者拨打发卡行热线电话 |
| 116573 | 对不起,您所输的户名有误,请核实后再试! |
| 116574 | 对不起,您的证件类型有误,请核实后再试! |
| 116575 | 对不起,您所输的证件号码有误,请核实后再试! |
| 116576 | 对不起,您所输的手机号码有误,请核实后再试! |
| 116577 | 验证码发送失败 |
| 116578 | 验证码超限或超时 |
| 116579 | 对不起,您的用户信息未通过银行验证,请核实后再试! |
| 116580 | 银行卡状态异常 |
| 116590 | 交易失败,参数不合法 |
| 116591 | 系统异常 |
| 116592 | 银行系统繁忙,请稍后再试 |
| 116593 | 系统超时 |
| 116594 | 银行处理中,请稍后再试 |
| 116599 | 系统异常 |
| 1165F0 | 渠道交易失败 |
| 1165F2 | 交易失败,未添加白名单 |
| 1165F3 | 签约失败,请稍后再试 |
| 1165P0 | 交易挂起,需要确认 |
| 116800 | 风控信息验证失败 |
| 116801 | 商户接口调用风控受限 |
| 116802 | 用户接口调用风控受限 |
| 116803 | 二级商户接口调用风控受限 |
| 前台代扣签约代开户 | |
| 117000 | 交易成功 |
| 117002 | 请求已受理 |
| 117003 | 交易失败 |
| 117099 | 系统异常 |
| 117100 | 请求参数非法 |
| 117101 | 商户无此接口权限 |
| 117102 | 验证签名失败 |
| 117103 | 商户状态异常 |
| 117104 | 用户状态异常 |
| 117105 | 账户状态异常 |
| 117106 | 商户签名未配置 |
| 117201 | 页面数据被篡改 |
| 117202 | 交易订单号重复 |
| 117203 | 账户可用余额不足 |
| 117204 | 商户配置异常 |
| 117205 | 短信验证码验证失败 |
| 117206 | 短信验证码发送手机号与验证手机号不一致 |
| 117207 | 短信验证码或短信唯一标识为空 |
| 117208 | 短信验证码已失效请重新获取 |
| 117209 | 验证码发送接口与接口不一致 |
| 117210 | 短信验证码发送过于频繁 |
| 117211 | 短信验证码发送失败 |
| 117300 | 该业务仅支持个人用户执行 |
| 117301 | 不支持绑定该银行的银行卡 |
| 117303 | 银行卡号与银行不匹配 |
| 117304 | 该银行卡非借记卡 |
| 117308 | 省份地区信息非法 |
| 117309 | 代扣签约只支持个人用户 |
| 117310 | 产品信息校验失败 |
| 117311 | 手续费子账户配置异常 |
| 117312 | 企业用户/商户不支持代扣绑卡 |
| 117316 | 手机号与已绑定卡记录不匹配 |
| 117318 | 用户已绑定代扣卡,请勿重复申请 |
| 117319 | 用户有代扣卡正在绑定中,请勿重复绑卡 |
| 117320 | 手机号已注册 |
| 117400 | 银行账号无效或不存在 |
| 117401 | 持卡人身份信息或手机号验证不符 |
| 117402 | 卡号长度有误 |
| 117403 | 验证超时 |
| 117404 | 账号应为活期账号 |
| 117405 | 您的银行卡暂不支持该业务,请更换其他银行卡或咨询发卡银行 |
| 117501 | 交易失败(包含未知错误码) |
| 117502 | 系统未开放或暂时关闭,请稍后再试 |
| 117503 | 交易通讯超时,请发起查询交易 |
| 117505 | 重复签约 |
| 117512 | 重复交易 |
| 117519 | 订单系统错误 |
| 117520 | 持卡人信息为空 |
| 117521 | 持卡人信息有误 |
| 117522 | 持卡人系统错误 |
| 117523 | 卡信息为空 |
| 117524 | 卡信息有误 |
| 117525 | 卡系统错误 |
| 117526 | 卡系统错误 |
| 117535 | 网关不支持签约交易 |
| 117538 | 风险受限 |
| 117560 | 交易失败,请联系发卡银行 |
| 117561 | 对不起,您所输的银行卡号有误,请核实后再试! |
| 117562 | 交易失败,发卡银行不支持该商户,请更换其它银行卡 |
| 117563 | 卡状态不正确 |
| 117565 | 输入的密码、有效期或CVN2有误,交易失败 |
| 117566 | 持卡人身份信息或手机号输入不正确,验证失败 |
| 117568 | 您的银行卡暂不支持该业务 |
| 117572 | 签约失败,您尚未在银行柜面或网银页面签约此业务,请去柜面或网银开通,或者拨打发卡行热线电话 |
| 117573 | 对不起,您所输的户名有误,请核实后再试! |
| 117574 | 对不起,您的证件类型有误,请核实后再试! |
| 117575 | 对不起,您所输的证件号码有误,请核实后再试! |
| 117576 | 对不起,您所输的手机号码有误,请核实后再试! |
| 117577 | 验证码发送失败 |
| 117578 | 验证码超限或超时 |
| 117579 | 对不起,您的用户信息未通过银行验证,请核实后再试! |
| 117580 | 银行卡状态异常 |
| 117590 | 交易失败,参数不合法 |
| 117591 | 系统异常 |
| 117592 | 银行系统繁忙,请稍后再试 |
| 117593 | 系统超时 |
| 117594 | 银行处理中,请稍后再试 |
| 117599 | 系统异常 |
| 1175F0 | 渠道交易失败 |
| 1175F2 | 交易失败,未添加白名单 |
| 1175F3 | 签约失败,请稍后再试 |
| 1175P0 | 交易挂起,需要确认 |
| 117800 | 风控信息验证失败 |
| 117801 | 商户接口调用风控受限 |
| 117802 | 用户接口调用风控受限 |
| 117803 | 二级商户接口调用风控受限 |
| 充值 | |
| 201000 | 交易成功 |
| 201002 | 请求已受理 |
| 201003 | 交易失败 |
| 201099 | 系统异常 |
| 201100 | 请求参数非法 |
| 201101 | 商户无此接口权限 |
| 201102 | 验证签名失败 |
| 201103 | 商户状态异常 |
| 201104 | 用户状态异常 |
| 201105 | 账户状态异常 |
| 201106 | 商户签名未配置 |
| 201202 | 交易订单号重复 |
| 201204 | 商户配置异常 |
| 201205 | 短信验证码验证失败 |
| 201206 | 短信验证码发送手机号与验证手机号不一致 |
| 201207 | 短信验证码或短信唯一标识为空 |
| 201208 | 短信验证码已失效请重新获取 |
| 201209 | 验证码发送接口与接口不一致 |
| 201300 | 不支持此充值银行 |
| 201301 | 该充值银行网关不存在 |
| 201302 | 不支持此充值类型 |
| 201303 | 商户充值基础信息未配置 |
| 201304 | 不支持此业务类型 |
| 201305 | 入账客户信息不正确 |
| 201306 | 入账分账串信息不正确 |
| 201307 | 该用户未绑定快捷卡 |
| 201308 | 该用户未绑定代扣卡 |
| 201309 | 该用户代扣协议不存在或状态异常 |
| 201310 | 企业用户或商户不支持快捷充值 |
| 201311 | 企业用户或商户不支持代扣充值 |
| 201312 | 手续费金额不得大于等于交易金额 |
| 201313 | 该充值银行与用户快捷卡不匹配 |
| 201314 | 充值手续费账户状态不正常 |
| 201315 | 个人用户仅支持个人网银充值 |
| 201316 | 支付失败 |
| 201501 | 交易失败(包含未知错误码) |
| 201502 | 系统未开放或暂时关闭,请稍后再试 |
| 201503 | 交易通讯超时,请发起查询交易 |
| 201510 | 订单信息为空 |
| 201511 | 订单信息有误 |
| 201512 | 重复交易 |
| 201519 | 订单系统错误 |
| 201523 | 卡信息为空 |
| 201524 | 卡信息有误 |
| 201525 | 卡系统错误 |
| 201526 | 卡系统错误 |
| 201530 | 业务系统信息为空 |
| 201531 | 业务系统信息有误 |
| 201532 | 业务系统错误 |
| 201533 | 金额超限 |
| 201534 | 查无此交易 |
| 201536 | 与原交易信息不符 |
| 201538 | 风险受限 |
| 201542 | 扣款成功但交易超过规定支付时间 |
| 201560 | 交易失败,请联系发卡银行 |
| 201562 | 交易失败,发卡银行不支持该商户,请更换其它银行卡 |
| 201563 | 卡状态不正确 |
| 201564 | 银行卡余额不足 |
| 201565 | 输入的密码、有效期或CVN2有误,交易失败 |
| 201567 | 密码输入次数超限 |
| 201568 | 您的银行卡暂不支持该业务 |
| 201580 | 银行卡状态异常 |
| 201581 | 支付失败,请稍后再试 |
| 201583 | 金额超限次数超过限制,请稍后再试! |
| 201584 | 单笔金额超限 |
| 201585 | 单日金额超限 |
| 201586 | 单月金额超限 |
| 201587 | 订单信息重复 |
| 201588 | 支付订单信息有误 |
| 201590 | 交易失败,参数不合法 |
| 201591 | 系统异常 |
| 201592 | 银行系统繁忙,请稍后再试 |
| 201593 | 系统超时 |
| 201594 | 银行处理中,请稍后再试 |
| 201599 | 系统异常 |
| 2015F0 | 渠道交易失败 |
| 2015F2 | 交易失败,未添加白名单 |
| 2015F6 | 交易失败,此卡未签约 |
| 2015P0 | 交易挂起,需要确认 |
| 201800 | 风控信息验证失败 |
| 201801 | 商户接口调用风控受限 |
| 201802 | 用户接口调用风控受限 |
| 201803 | 二级商户接口调用风控受限 |
| 取现 | |
| 202000 | 交易成功 |
| 202002 | 请求已受理 |
| 202003 | 交易失败 |
| 202099 | 系统异常 |
| 202100 | 请求参数非法 |
| 202101 | 商户无此接口权限 |
| 202102 | 验证签名失败 |
| 202103 | 商户状态异常 |
| 202104 | 用户状态异常 |
| 202105 | 账户状态异常 |
| 202106 | 商户签名未配置 |
| 202202 | 交易订单号重复 |
| 202204 | 商户配置异常 |
| 202212 | 账户余额查询失败 |
| 202300 | 银行卡不是取现卡 |
| 202301 | 没有可用的默认取现卡 |
| 202302 | 取现服务费超出最大费率配置 |
| 202303 | 取现金额不足 |
| 202304 | 取现方式错误 |
| 202305 | 银行卡信息不存在或状态异常 |
| 202306 | 接口不支持手续费外扣 |
| 202307 | 取现金额小于等于取现费用 |
| 202308 | 商户取现不支持服务费 |
| 202309 | 手续费专户不能出账 |
| 202800 | 风控信息验证失败 |
| 202801 | 商户接口调用风控受限 |
| 202802 | 用户接口调用风控受限 |
| 202803 | 二级商户接口调用风控受限 |
| 转账 | |
| 203000 | 交易成功 |
| 203099 | 系统异常 |
| 203100 | 请求参数非法 |
| 203101 | 商户无此接口权限 |
| 203102 | 验证签名失败 |
| 203103 | 商户状态异常 |
| 203104 | 用户状态异常 |
| 203202 | 交易订单号重复 |
| 203300 | 转账类型与转入方/转出方用户信息不匹配 |
| 203301 | 转出方用户信息不存在 |
| 203302 | 转入方用户信息不存在 |
| 203303 | 转出方用户状态异常 |
| 203304 | 转入方用户状态异常 |
| 203305 | 子账户间转账,商户信息不存在 |
| 203306 | 子账户间转账,商户状态异常 |
| 203307 | 转出方帐户号不存在 |
| 203308 | 转入方账号不存在 |
| 203309 | 转出方帐户状态异常 |
| 203310 | 转入方帐户状态异常 |
| 203311 | 转账失败 |
| 203312 | 商户手续费帐户不存在 |
| 203313 | 商户手续费帐户状态异常 |
| 203314 | 风控拦截 |
| 203315 | 验证手续费专户,资金不能转出 |
| 203800 | 风控信息验证失败 |
| 203801 | 商户接口调用风控受限 |
| 203802 | 用户接口调用风控受限 |
| 203803 | 二级商户接口调用风控受限 |
| 产品录入 | |
| 204000 | 交易成功 |
| 204099 | 系统异常 |
| 204100 | 请求参数非法 |
| 204101 | 商户无此接口权限 |
| 204102 | 验证签名失败 |
| 204103 | 商户状态异常 |
| 204104 | 用户状态异常 |
| 204300 | 项目信息或订单信息重复 |
| 204301 | 项目开始时间晚于或等于项目结束时间 |
| 页面快捷支付 | |
| 205000 | 交易成功 |
| 205002 | 请求已受理 |
| 205003 | 交易失败 |
| 205099 | 系统异常 |
| 205100 | 请求参数非法 |
| 205101 | 商户无此接口权限 |
| 205102 | 验证签名失败 |
| 205103 | 商户状态异常 |
| 205104 | 用户状态异常 |
| 205105 | 账户状态异常 |
| 205106 | 商户签名未配置 |
| 205202 | 交易订单号重复 |
| 205204 | 商户配置异常 |
| 205205 | 短信验证码验证失败 |
| 205206 | 短信验证码发送手机号与验证手机号不一致 |
| 205207 | 短信验证码或短信唯一标识为空 |
| 205208 | 短信验证码已失效请重新获取 |
| 205209 | 验证码发送接口与接口不一致 |
| 205216 | 页面已失效 |
| 205300 | 不支持此充值银行 |
| 205301 | 该充值银行网关不存在 |
| 205302 | 不支持此充值类型 |
| 205303 | 商户充值基础信息未配置 |
| 205304 | 不支持此业务类型 |
| 205305 | 入账客户信息不正确 |
| 205306 | 入账分账串信息不正确 |
| 205307 | 该用户未绑定快捷卡 |
| 205310 | 企业用户或商户不支持快捷充值 |
| 205312 | 手续费金额不得大于等于交易金额 |
| 205313 | 该充值银行与用户快捷卡不匹配 |
| 205314 | 充值手续费账户状态不正常 |
| 205315 | 个人用户仅支持个人网银充值 |
| 205316 | 支付失败 |
| 205501 | 交易失败(包含未知错误码) |
| 205502 | 系统未开放或暂时关闭,请稍后再试 |
| 205503 | 交易通讯超时,请发起查询交易 |
| 205510 | 订单信息为空 |
| 205511 | 订单信息有误 |
| 205512 | 重复交易 |
| 205519 | 订单系统错误 |
| 205523 | 卡信息为空 |
| 205524 | 卡信息有误 |
| 205525 | 卡系统错误 |
| 205526 | 卡系统错误 |
| 205530 | 业务系统信息为空 |
| 205531 | 业务系统信息有误 |
| 205532 | 业务系统错误 |
| 205533 | 金额超限 |
| 205534 | 查无此交易 |
| 205536 | 与原交易信息不符 |
| 205538 | 风险受限 |
| 205542 | 扣款成功但交易超过规定支付时间 |
| 205560 | 交易失败,请联系发卡银行 |
| 205562 | 交易失败,发卡银行不支持该商户,请更换其它银行卡 |
| 205563 | 卡状态不正确 |
| 205564 | 银行卡余额不足 |
| 205565 | 输入的密码、有效期或CVN2有误,交易失败 |
| 205567 | 密码输入次数超限 |
| 205568 | 您的银行卡暂不支持该业务 |
| 205580 | 银行卡状态异常 |
| 205581 | 支付失败,请稍后再试 |
| 205583 | 金额超限次数超过限制,请稍后再试! |
| 205584 | 单笔金额超限 |
| 205585 | 单日金额超限 |
| 205586 | 单月金额超限 |
| 205587 | 订单信息重复 |
| 205588 | 支付订单信息有误 |
| 205590 | 交易失败,参数不合法 |
| 205591 | 系统异常 |
| 205592 | 银行系统繁忙,请稍后再试 |
| 205593 | 系统超时 |
| 205594 | 银行处理中,请稍后再试 |
| 205599 | 系统异常 |
| 2055F0 | 渠道交易失败 |
| 2055F2 | 交易失败,未添加白名单 |
| 2015F6 | 交易失败,此卡未签约 |
| 2055P0 | 交易挂起,需要确认 |
| 205800 | 风控信息验证失败 |
| 205801 | 商户接口调用风控受限 |
| 205802 | 用户接口调用风控受限 |
| 205803 | 二级商户接口调用风控受限 |
| 快捷绑卡支付 | |
| 206000 | 交易成功 |
| 206002 | 请求已受理 |
| 206003 | 交易失败 |
| 206099 | 系统异常 |
| 206100 | 请求参数非法 |
| 206101 | 商户无此接口权限 |
| 206102 | 验证签名失败 |
| 206103 | 商户状态异常 |
| 206104 | 用户状态异常 |
| 206105 | 账户状态异常 |
| 206106 | 商户签名未配置 |
| 206202 | 交易订单号重复 |
| 206203 | 账户可用余额不足 |
| 206204 | 商户配置异常 |
| 206205 | 短信验证码验证失败 |
| 206206 | 短信验证码发送手机号与验证手机号不一致 |
| 206207 | 短信验证码或短信唯一标识为空 |
| 206208 | 短信验证码已失效请重新获取 |
| 206209 | 验证码发送接口与接口不一致 |
| 206210 | 短信验证码发送过于频繁 |
| 206211 | 短信验证码发送失败 |
| 206431 | 不支持绑定该银行的银行卡 |
| 206432 | 用户已绑定快捷卡,不能再绑定取现卡 |
| 206433 | 银行卡号与银行不匹配 |
| 206434 | 该银行卡非借记卡 |
| 206435 | 企业用户/商户不支持快捷绑卡 |
| 206436 | 用户已绑定快捷或代扣卡,请勿重复申请 |
| 206437 | 用户有快捷正在绑定中,请勿重复绑卡 |
| 206438 | 省份地区信息非法 |
| 20643F | 手机号与已绑定卡记录不匹配 |
| 206443 | 手机号已注册 |
| 206448 | 银行账号无效或不存在 |
| 206449 | 持卡人身份信息或手机号验证不符 |
| 20644A | 卡号长度有误 |
| 20644B | 验证超时 |
| 20644C | 账号应为活期账号 |
| 20644D | 您的银行卡暂不支持该业务,请更换其他银行卡或咨询发卡银行 |
| 20644E | 绑卡请求流水已存在 |
| 206501 | 交易失败(包含未知错误码) |
| 206502 | 系统未开放或暂时关闭,请稍后再试 |
| 206503 | 交易通讯超时,请发起查询交易 |
| 206505 | 重复签约 |
| 206512 | 重复交易 |
| 206519 | 订单系统错误 |
| 206520 | 持卡人信息为空 |
| 206521 | 持卡人信息有误 |
| 206522 | 持卡人系统错误 |
| 206523 | 卡信息为空 |
| 206524 | 卡信息有误 |
| 206525 | 卡系统错误 |
| 206526 | 卡系统错误 |
| 206535 | 网关不支持签约交易 |
| 206538 | 风险受限 |
| 206560 | 交易失败,请联系发卡银行 |
| 206561 | 对不起,您所输的银行卡号有误,请核实后再试! |
| 206562 | 交易失败,发卡银行不支持该商户,请更换其它银行卡 |
| 206563 | 卡状态不正确 |
| 206565 | 输入的密码、有效期或CVN2有误,交易失败 |
| 206566 | 持卡人身份信息或手机号输入不正确,验证失败 |
| 206568 | 您的银行卡暂不支持该业务 |
| 206571 | 对不起,你所输的验证码有误,请核实后再试! |
| 206572 | 签约失败,您尚未在银行柜面或网银页面签约此业务,请去柜面或网银开通,或者拨打发卡行热线电话 |
| 206573 | 对不起,您所输的户名有误,请核实后再试! |
| 206574 | 对不起,您的证件类型有误,请核实后再试! |
| 206575 | 对不起,您所输的证件号码有误,请核实后再试! |
| 206576 | 对不起,您所输的手机号码有误,请核实后再试! |
| 206577 | 验证码发送失败 |
| 206578 | 验证码超限或超时 |
| 206579 | 对不起,您的用户信息未通过银行验证,请核实后再试! |
| 206580 | 银行卡状态异常 |
| 206590 | 交易失败,参数不合法 |
| 206591 | 系统异常 |
| 206592 | 银行系统繁忙,请稍后再试 |
| 206593 | 系统超时 |
| 206594 | 银行处理中,请稍后再试 |
| 206599 | 系统异常 |
| 2065F0 | 渠道交易失败 |
| 2065F2 | 交易失败,未添加白名单 |
| 2065F3 | 签约失败,请稍后再试 |
| 2065P0 | 交易挂起,需要确认 |
| 206510 | 订单信息为空 |
| 206511 | 订单信息有误 |
| 206530 | 业务系统信息为空 |
| 206531 | 业务系统信息有误 |
| 206532 | 业务系统错误 |
| 206533 | 金额超限 |
| 206534 | 查无此交易 |
| 206536 | 与原交易信息不符 |
| 206542 | 扣款成功但交易超过规定支付时间 |
| 206564 | 银行卡余额不足 |
| 206567 | 密码输入次数超限 |
| 206581 | 支付失败,请稍后再试 |
| 206583 | 金额超限次数超过限制,请稍后再试! |
| 206584 | 单笔金额超限 |
| 206585 | 单日金额超限 |
| 206586 | 单月金额超限 |
| 206587 | 订单信息重复 |
| 206588 | 支付订单信息有误 |
| 2015F6 | 交易失败,此卡未签约 |
| 206630 | 不支持此充值银行 |
| 206631 | 该充值银行网关不存在 |
| 206632 | 不支持此充值类型 |
| 206633 | 商户充值基础信息未配置 |
| 206634 | 不支持此业务类型 |
| 206635 | 入账客户信息不正确 |
| 206636 | 入账分账串信息不正确 |
| 206637 | 该用户未绑定快捷卡 |
| 206638 | 该用户未绑定代扣卡 |
| 206639 | 该用户代扣协议不存在或状态异常 |
| 20663A | 企业用户或商户不支持快捷充值 |
| 20663B | 企业用户或商户不支持代扣充值 |
| 20663C | 手续费金额不得大于等于交易金额 |
| 20663D | 该充值银行与用户快捷卡不匹配 |
| 20663E | 充值手续费账户状态不正常 |
| 20663F | 个人用户仅支持个人网银充值 |
| 206640 | 支付失败 |
| 206800 | 风控信息验证失败 |
| 206801 | 商户接口调用风控受限 |
| 206802 | 用户接口调用风控受限 |
| 206803 | 二级商户接口调用风控受限 |
| 直接代扣 | |
| 207000 | 交易成功 |
| 207002 | 请求已受理 |
| 207003 | 交易失败 |
| 207099 | 系统异常 |
| 207100 | 请求参数非法 |
| 207101 | 商户无此接口权限 |
| 207102 | 验证签名失败 |
| 207103 | 商户状态异常 |
| 207104 | 用户状态异常 |
| 207105 | 账户状态异常 |
| 207106 | 商户签名未配置 |
| 207202 | 交易订单号重复 |
| 207203 | 账户可用余额不足 |
| 207204 | 商户配置异常 |
| 207433 | 银行卡号与银行不匹配 |
| 207434 | 该银行卡非借记卡 |
| 207438 | 省份地区信息非法 |
| 20743F | 手机号与已绑定卡记录不匹配 |
| 207443 | 手机号已注册 |
| 207448 | 银行账号无效或不存在 |
| 207449 | 持卡人身份信息或手机号验证不符 |
| 20744A | 卡号长度有误 |
| 20744B | 验证超时 |
| 20744C | 账号应为活期账号 |
| 20744D | 您的银行卡暂不支持该业务,请更换其他银行卡或咨询发卡银行 |
| 20744E | 绑卡请求流水已存在 |
| 207501 | 交易失败(包含未知错误码) |
| 207502 | 系统未开放或暂时关闭,请稍后再试 |
| 207503 | 交易通讯超时,请发起查询交易 |
| 207505 | 重复签约 |
| 207512 | 重复交易 |
| 207519 | 订单系统错误 |
| 207520 | 持卡人信息为空 |
| 207521 | 持卡人信息有误 |
| 207522 | 持卡人系统错误 |
| 207523 | 卡信息为空 |
| 207524 | 卡信息有误 |
| 207525 | 卡系统错误 |
| 207526 | 卡系统错误 |
| 207535 | 网关不支持签约交易 |
| 207538 | 风险受限 |
| 207560 | 交易失败,请联系发卡银行 |
| 207561 | 对不起,您所输的银行卡号有误,请核实后再试! |
| 207562 | 交易失败,发卡银行不支持该商户,请更换其它银行卡 |
| 207563 | 卡状态不正确 |
| 207565 | 输入的密码、有效期或CVN2有误,交易失败 |
| 207566 | 持卡人身份信息或手机号输入不正确,验证失败 |
| 207568 | 您的银行卡暂不支持该业务 |
| 207571 | 对不起,你所输的验证码有误,请核实后再试! |
| 207572 | 签约失败,您尚未在银行柜面或网银页面签约此业务,请去柜面或网银开通,或者拨打发卡行热线电话 |
| 207573 | 对不起,您所输的户名有误,请核实后再试! |
| 207574 | 对不起,您的证件类型有误,请核实后再试! |
| 207575 | 对不起,您所输的证件号码有误,请核实后再试! |
| 207576 | 对不起,您所输的手机号码有误,请核实后再试! |
| 207577 | 验证码发送失败 |
| 207578 | 验证码超限或超时 |
| 207579 | 对不起,您的用户信息未通过银行验证,请核实后再试! |
| 207580 | 银行卡状态异常 |
| 207590 | 交易失败,参数不合法 |
| 207591 | 系统异常 |
| 207592 | 银行系统繁忙,请稍后再试 |
| 207593 | 系统超时 |
| 207594 | 银行处理中,请稍后再试 |
| 207599 | 系统异常 |
| 2075F0 | 渠道交易失败 |
| 2075F2 | 交易失败,未添加白名单 |
| 2075F3 | 签约失败,请稍后再试 |
| 2075P0 | 交易挂起,需要确认 |
| 207510 | 订单信息为空 |
| 207511 | 订单信息有误 |
| 207530 | 业务系统信息为空 |
| 207531 | 业务系统信息有误 |
| 207532 | 业务系统错误 |
| 207533 | 金额超限 |
| 207534 | 查无此交易 |
| 207536 | 与原交易信息不符 |
| 207542 | 扣款成功但交易超过规定支付时间 |
| 207564 | 银行卡余额不足 |
| 207567 | 密码输入次数超限 |
| 207581 | 支付失败,请稍后再试 |
| 207583 | 金额超限次数超过限制,请稍后再试! |
| 207584 | 单笔金额超限 |
| 207585 | 单日金额超限 |
| 207586 | 单月金额超限 |
| 207587 | 订单信息重复 |
| 207588 | 支付订单信息有误 |
| 207630 | 不支持此充值银行 |
| 207631 | 该充值银行网关不存在 |
| 207632 | 不支持此充值类型 |
| 207633 | 商户充值基础信息未配置 |
| 207634 | 不支持此业务类型 |
| 207635 | 入账客户信息不正确 |
| 207636 | 入账分账串信息不正确 |
| 207637 | 该用户未绑定快捷卡 |
| 207638 | 该用户未绑定代扣卡 |
| 207639 | 该用户代扣协议不存在或状态异常 |
| 20763A | 企业用户或商户不支持快捷充值 |
| 20763B | 企业用户或商户不支持代扣充值 |
| 20763C | 手续费金额不得大于等于交易金额 |
| 20763D | 该充值银行与用户快捷卡不匹配 |
| 20763E | 充值手续费账户状态不正常 |
| 20763F | 个人用户仅支持个人网银充值 |
| 207640 | 支付失败 |
| 207800 | 风控信息验证失败 |
| 207801 | 商户接口调用风控受限 |
| 207802 | 用户接口调用风控受限 |
| 207803 | 二级商户接口调用风控受限 |
| 扫码支付 | |
| 208000 | 交易成功 |
| 208002 | 请求已受理 |
| 208003 | 交易失败 |
| 208099 | 系统异常 |
| 208100 | 请求参数非法 |
| 208101 | 商户无此接口权限 |
| 208102 | 验证签名失败 |
| 208103 | 商户状态异常 |
| 208104 | 用户状态异常 |
| 208105 | 账户状态异常 |
| 208106 | 商户签名未配置 |
| 208202 | 交易订单号重复 |
| 208203 | 账户可用余额不足 |
| 208204 | 商户配置异常 |
| 208305 | 入账客户信息不正确 |
| 208306 | 入账分账串信息不正确 |
| 208433 | 银行卡号与银行不匹配 |
| 208434 | 该银行卡非借记卡 |
| 208438 | 省份地区信息非法 |
| 20843F | 手机号与已绑定卡记录不匹配 |
| 208443 | 手机号已注册 |
| 208448 | 银行账号无效或不存在 |
| 208449 | 持卡人身份信息或手机号验证不符 |
| 20844A | 卡号长度有误 |
| 20844B | 验证超时 |
| 20844C | 账号应为活期账号 |
| 20844D | 您的银行卡暂不支持该业务,请更换其他银行卡或咨询发卡银行 |
| 20844E | 绑卡请求流水已存在 |
| 208800 | 风控信息验证失败 |
| 208801 | 商户接口调用风控受限 |
| 208802 | 用户接口调用风控受限 |
| 208803 | 二级商户接口调用风控受限 |
| 交易退款 | |
| 209000 | 交易成功 |
| 209002 | 请求已受理 |
| 209003 | 交易失败 |
| 209099 | 系统异常 |
| 209100 | 请求参数非法 |
| 209101 | 商户无此接口权限 |
| 209102 | 验证签名失败 |
| 209103 | 商户状态异常 |
| 209104 | 用户状态异常 |
| 209105 | 账户状态异常 |
| 209106 | 商户签名未配置 |
| 209202 | 交易订单号重复 |
| 209203 | 账户可用余额不足 |
| 209204 | 商户配置异常 |
| 209301 | 当前交易不能申请退款 |
| 209302 | 总退款金额不能大于原交易金额 |
| 209303 | 出账账户号无效 |
| 209304 | 省份地区信息非法 |
| 209305 | 退款受理中或已成功,请勿重复申请 |
| 209306 | 产品信息校验失败 |
| 209307 | 只能对至少1天前的交易进行退款 |
| 209308 | 交易金额不合法 |
| 209309 | 请求太频繁 |
| 手续费扣款 | |
| 210000 | 交易成功 |
| 210002 | 请求已受理 |
| 210003 | 交易失败 |
| 210099 | 系统异常 |
| 210100 | 请求参数非法 |
| 210101 | 商户无此接口权限 |
| 210102 | 验证签名失败 |
| 210103 | 商户状态异常 |
| 210104 | 用户状态异常 |
| 210105 | 账户状态异常 |
| 210106 | 商户签名未配置 |
| 210202 | 交易订单号重复 |
| 210203 | 账户可用余额不足 |
| 210204 | 商户配置异常 |
| 微信公众号支付 | |
| 211000 | 交易成功 |
| 211002 | 请求已受理 |
| 211003 | 交易失败 |
| 211099 | 系统异常 |
| 211100 | 请求参数非法 |
| 211101 | 商户无此接口权限 |
| 211102 | 验证签名失败 |
| 211103 | 商户状态异常 |
| 211104 | 用户状态异常 |
| 211105 | 账户状态异常 |
| 211106 | 商户签名未配置 |
| 211202 | 交易订单号重复 |
| 211204 | 商户配置异常 |
| 211305 | 入账客户信息不正确 |
| 211306 | 入账分账串信息不正确 |
| 211312 | 手续费金额不得大于等于交易金额 |
| 211314 | 充值手续费账户状态不正常 |
| 211320 | 免开户支付只支持个人和企业网银 |
| 211324 | 扫码渠道不支持 |
| 211800 | 风控信息验证失败 |
| 211801 | 商户接口调用风控受限 |
| 211802 | 用户接口调用风控受限 |
| 211803 | 二级商户接口调用风控受限 |
| 代发 | |
| 214000 | 交易成功 |
| 214002 | 请求已受理 |
| 214003 | 交易失败 |
| 214099 | 系统异常 |
| 214100 | 请求参数非法 |
| 214101 | 商户无此接口权限 |
| 214102 | 验证签名失败 |
| 214103 | 商户状态异常 |
| 214104 | 用户状态异常 |
| 214105 | 账户状态异常 |
| 214106 | 商户签名未配置 |
| 214202 | 交易订单号重复 |
| 214300 | 商户出账子账户不存在或状态异常 |
| 214301 | 商户手续费子账户不合法 |
| 214302 | 商户代发配置异常 |
| 214303 | 不支持此代发类型 |
| 214304 | 不支持此银行账户类型 |
| 214305 | 不支持此银行 |
| 214306 | 银行卡号与银行不匹配 |
| 214800 | 风控信息验证失败 |
| 214801 | 商户接口调用风控受限 |
| 214802 | 用户接口调用风控受限 |
| 214803 | 二级商户接口调用风控受限 |
| 微信app唤起 | |
| 216000 | 交易成功 |
| 216002 | 请求已受理 |
| 216003 | 交易失败 |
| 216099 | 系统异常 |
| 216100 | 请求参数非法 |
| 216101 | 商户无此接口权限 |
| 216102 | 验证签名失败 |
| 216103 | 商户状态异常 |
| 216104 | 用户状态异常 |
| 216105 | 账户状态异常 |
| 216106 | 商户签名未配置 |
| 216202 | 交易订单号重复 |
| 216204 | 商户配置异常 |
| 216305 | 入账客户信息不正确 |
| 216306 | 入账分账串信息不正确 |
| 216312 | 手续费金额不得大于等于交易金额 |
| 216314 | 充值手续费账户状态不正常 |
| 216320 | 免开户支付只支持个人和企业网银 |
| 216324 | 扫码渠道不支持 |
| 216800 | 风控信息验证失败 |
| 216801 | 商户接口调用风控受限 |
| 216802 | 用户接口调用风控受限 |
| 216803 | 二级商户接口调用风控受限 |
| 交易状态查询接口 | |
| 301000 | 交易成功 |
| 301010 | 记录不存在 |
| 301099 | 系统异常 |
| 301100 | 请求参数非法 |
| 301101 | 商户无此接口权限 |
| 301102 | 验证签名失败 |
| 301103 | 商户状态异常 |
| 301106 | 商户签名未配置 |
| 余额查询接口 | |
| 302000 | 交易成功 |
| 302010 | 记录不存在 |
| 302099 | 系统异常 |
| 302100 | 请求参数非法 |
| 302101 | 商户无此接口权限 |
| 302102 | 验证签名失败 |
| 302103 | 商户状态异常 |
| 302106 | 商户签名未配置 |
| 充值支付对账接口 | |
| 303000 | 交易成功 |
| 303010 | 记录不存在 |
| 303099 | 系统异常 |
| 303100 | 请求参数非法 |
| 303101 | 商户无此接口权限 |
| 303102 | 验证签名失败 |
| 303103 | 商户状态异常 |
| 303106 | 商户签名未配置 |
| 取现对账接口 | |
| 304000 | 交易成功 |
| 304010 | 记录不存在 |
| 304099 | 系统异常 |
| 304100 | 请求参数非法 |
| 304101 | 商户无此接口权限 |
| 304102 | 验证签名失败 |
| 304103 | 商户状态异常 |
| 304106 | 商户签名未配置 |
| 转账对账接口 | |
| 305000 | 交易成功 |
| 305010 | 记录不存在 |
| 305099 | 系统异常 |
| 305100 | 请求参数非法 |
| 305101 | 商户无此接口权限 |
| 305102 | 验证签名失败 |
| 305103 | 商户状态异常 |
| 305106 | 商户签名未配置 |