微理财与玖富小金票接口对接项目文档
微理财与玖富小金票接口对接需求说明书
版本 |
日期 |
作者 |
审批 |
V1.3 |
2015-03-25 |
姚国亮 |
|
文档修订记录
版本编号 |
变化状态 |
简要说明 |
日期 |
变更人 |
批准日期 |
批准人 |
V1.0 |
A |
新建 |
2015.1.21 |
姚国亮 |
|
|
V1.2 |
M |
评审修改后定稿 |
2015.1.26 |
姚国亮 |
|
|
V1.3 |
M |
1、完善产品查询、用户所有订单查询、购买支付等接口。 2、增加字段必填项说明,增加字段长度限制。 |
2015.3.25 |
熊学杰 |
2015.3.25 |
姚国亮 |
V1.4 |
M |
1、完善产品查询接口。 |
2015.3.26 |
姚国亮 |
|
|
注:变化状态:A—增加,M—修改,D—删除
目录
1.概述
通过微理财的行业客户资源和行业的资源优势,基于玖富小金票P2P平台,通过微理财APP应用为玖富小金票提供理财产品的宣传和营销服务。
为了实现以上目标,需要对根据目前P2P行业的业务操作模式,由小金票为微理财提供接入接口,满足微理财客户端的用户理财、查询和兑付需求,提供统一开放的对外接入接口。
1.1.目的
定义微理财APP应用和玖富小金票的业务流程和接口规范。
1.2范围
本次功能仅涉及理财产品接入服务。
2.接口需求
2.1用户注册
2.1.1业务描述
用户在微理财APP应用上注册或登录后,如果用户需要购买玖富微理财产品,需要通过用户注册实时接口在小金票系统进行用户信息注册,传输数据包括用户标识、用户名、手机号、身份证信息,小金票系统接收到数据后,根据用户的信息进行判断用户是否已经注册。如果已经注册,直接返回小金票系统的用户标识和成功标识;如果注册失败,直接返回失败标识和消息。
2.1.1业务流程
2.2购买支付
2.2.1业务描述
用户在微理财选择玖富小金票产品后,直接输入购买金额,通过购买充值接口提交小金票用户ID、产品ID、到期处理方式、购买金额信息,小金票接口接收到数据包后生成待确认订单状态,同时通过联动快捷支付接口进行手机端支付,联动支付成功后,通过接口参数ret_url通知手机端是否成功状态,通过参数notify_url通知小金票系统修改订单状态。如果支付成功,修改订单状态为持有中;如果失败,修改订单状态为失败,完成购买支付流程。
2.2.2业务流程
2.3收益查询
2.3.1业务描述
用户登陆微理财后,在用户中心会显示用户的收益信息。微理财APP通过收益查询接口传送用户对应的小金票用户标识,系统返回邮箱、手机、到账资金、在途资金、预期收益、已赚取收益等信息,微理财收到用户收益数据后,在用户中心进行展示。
2.3.2业务流程
2.4订单查询
2.4.1业务描述
用户登陆微理财后,在用户中心会显示用户的订单信息,微理财APP通过订单查询接口传送用户对应的小金票用户标识,系统返回类型、预期收益、投资金额、数量、历史投资金额等信息,微理财收到用户订单数据后,在用户中心进行展示。
2.4.2业务流程
3.接口规范
3.1.数据包格式规范
3.1.1.请求数据包格式规范
请求数据包目前都是封装成对象数据信息进行传递。
例子: com.weiyinpiao.entity.WypOrder
3.1.2.正常响应数据包格式规范
响应数据包的格式目前支持两种格式。一种是返回list数据,list数据包中封装了返回数据对象信息;另一种是直接返回实体对象数据信息。
例子:
java.util.List<Object>、com.weiyinpiao.common.wobaifu.entity.LianLianPayInfo
3.1.3.异常响应数据包格式规范
异常响应数据都统一封装成异常响应数据对象。此异常响应数据对象中包含了具体的响应码和响应信息。
3.2.数据格式定义
3.2.1用户注册
参数名 |
类型 |
长度 |
必输(Y)/非必输(N) |
描述 |
mobile |
String |
11 |
Y |
用户手机号 |
custSource |
int |
4 |
Y |
客户来源(1-小金票2-沃百富 3-微理财) |
nickName |
String |
50 |
N |
昵称 |
realName |
String |
50 |
N |
真实姓名 |
password |
String |
50 |
Y |
用户密码 |
headImgUrl |
String |
250 |
N |
头像路径 |
sex |
String |
1 |
N |
性别 |
idCardNo |
String |
18 |
Y |
身份证号 |
|
String |
80 |
N |
邮箱 |
bankId |
String |
50 |
N |
银行id |
bankName |
String |
120 |
N |
开户行名称 |
bankCardNo |
String |
120 |
N |
已绑定银行卡号 |
isReal |
String |
1 |
Y |
实名认证标记 |
isHaveAccount |
String |
1 |
N |
账务存在标记 |
moneyAmount |
Decimal |
(10,2) |
N |
金额 |
createTime |
Date |
|
N |
创建时间 |
updateTime |
Date |
|
N |
更新时间 |
referId |
int |
20 |
N |
推荐人id |
isDel |
String |
1 |
Y |
删除标记 |
inviteNum |
int |
20 |
N |
邀请人数量 |
extraProfit |
Decimal |
(12,2) |
N |
额外收益率 |
extraProfitTerm |
int |
11 |
N |
额外收益率期限 |
freeLogin |
String |
1 |
N |
免登陆标记 |
openId |
String |
250 |
N |
微信openid |
wbfUserId |
String |
50 |
N |
|
3.2.1.2.返回参数
参数名 |
长度 |
描述 |
code |
20 |
返回代码 |
message |
200 |
提示消息 |
memberId |
20 |
小金票用户ID |
3.2.2产品查询
3.2.2.2请求参数
参数名 |
类型 |
长度 |
必输(Y)/非必输(N) |
描述 |
productId |
int |
20 |
N |
票据ID |
ProdStatus |
String |
1 |
N |
产品状态 |
consumer |
int |
4 |
N |
售卖方 |
currentPage |
String |
|
N |
当前页数 |
pageSize |
String |
|
N |
每页记录数 |
piaojuNo |
String |
30 |
N |
票号 |
productIssue |
String |
100 |
N |
产品期号 |
3.2.2.3返回参数
参数名 |
长度 |
描述 |
Code |
20 |
返回代码 |
Message |
200 |
返回消息 |
product_id |
20 |
产品id |
product_name |
50 |
产品名称 |
product_issue |
100 |
产品期号 |
piaoju_no |
120 |
票号 |
Total |
12 |
理财金额 |
par_face_value |
12 |
票面金额 |
accept_bank |
128 |
承兑银行 |
Profit |
10 |
年化收益率 |
sale_start_time |
20 |
开售时间(时分秒yyyy-MM-dd HH:mm:ss) |
sale_end_time |
20 |
停售时间(时分秒yyyy-MM-dd HH:mm:ss) |
maturity_time |
20 |
理财到期日(yyyy-MM-dd) |
time_long |
3 |
投资期限(天)备注:一般不会超过一年 |
product_status |
1 |
产品状态(1-预售,2-发售,3-等待还款,4-结束,5-流标,6-订单满额) |
buy_money |
12 |
产品已申购金额 |
remain_money |
12 |
可投金额 |
piaoju_img |
100 |
票据图片URL |
currentpage |
12 |
当前页(从1开始) |
count |
10 |
产品条数 |
3.2.3购买下单
3.2.3.1请求参数
参数名 |
类型 |
长度 |
必输(Y)/非必输(N) |
描述 |
piaojuId |
int |
20 |
Y |
票据ID |
customerId |
int |
20 |
Y |
客户ID |
buyMoney |
decimal |
(12,2) |
Y |
购买金额 |
extraProfitConnent |
String |
250 |
N |
额外收益原因 |
extraProfitType |
String |
1 |
N |
额外收益类型 |
bankId |
String |
50 |
N |
银行ID |
bankName |
String |
50 |
N |
银行名称 |
bankAccount |
String |
120 |
Y |
银行账号 |
wbfOrderId |
String |
50 |
N |
|
resultPay |
String |
50 |
N |
订单支付结果 |
cashCouponBasicMoney |
decimal |
(12,2) |
N |
现金券本金 |
standby1 |
String |
30 |
N |
冗余字段1 |
standby2 |
String |
30 |
N |
冗余字段2 |
3.2.3.2返回参数
参数名 |
长度 |
描述 |
id |
20 |
主键 |
orderNo |
50 |
订单号 |
orderTime |
Date |
下单时间 |
customerId |
20 |
客户ID |
buyMoney |
(12,2) |
购买金额 |
piaojuId |
20 |
票据ID |
startTime |
Date |
开始计息时间 |
endTime |
Date |
截止计息时间 |
updateTime |
Date |
更新时间 |
timeLong |
30 |
期限 |
timeUnit |
1 |
期限单位 |
prinInterest |
(10,2) |
到期本金和利息 |
profit |
(10,6) |
年化收益率 |
interest |
(10,2) |
到期利息 |
holdStatus |
1 |
持有状态 |
extraProfitRate |
(10,2) |
额外收益率 |
extraBasicMoney |
(12,2) |
额外本金 |
extraProfit |
(12,2) |
额外收益 |
extraProfitConnent |
250 |
额外收益原因 |
extraProfitType |
1 |
额外收益类型 |
isAcount |
1 |
是否到账 |
isDel |
1 |
删除标记 |
payType |
1 |
支付渠道 |
bankId |
50 |
银行id |
bankName |
50 |
银行名称 |
bankAccount |
120 |
订单交易银行账号 |
wbfOrderId |
50 |
|
standby1 |
30 |
冗余字段1 |
standby2 |
30 |
冗余字段2 |
3.2.4购买支付
3.2.4.1请求参数
参数名 |
类型 |
长度 |
必输(Y)/非必输(N) |
描述 |
orderNo |
String |
50 |
Y |
订单号 |
customerId |
int |
20 |
Y |
用户ID |
piaojuId |
int |
20 |
Y |
票据ID |
3.2.4.2返回参数
参数名 |
长度 |
描述 |
code |
20 |
返回代码 |
message |
200 |
返回消息 |
postUrl |
200 |
请求连连支付URL路径 |
reqData |
1000 |
请求连连支付URL参数的值;交互方式必须用HTTPS以POST方式请求,请用req_data参数带json请求参数串. |
3.2.5收益查询
参数名 |
类型 |
长度 |
必填 |
描述 |
memberId |
String |
20 |
Y |
小金票用户ID |
channelid |
String |
|
Y |
接入标识 |
3.2.5.2返回参数
参数名 |
长度 |
描述 |
code |
20 |
返回代码 |
message |
200 |
返回消息 |
mobile |
30 |
手机 |
receivedMoney |
12,2 |
到账资金(后续提供该值) |
transitMoney |
12,2 |
在途资金(后续提供该值) |
earnings |
12,2 |
预期收益 |
haveEarninged |
12,2 |
已赚取收益 |
sumMoney |
12,2 |
总本金 |
3.2.6订单查询
3.2.6.1请求参数
参数名 |
类型 |
长度 |
必填 |
描述 |
memberId |
String |
20 |
Y |
用户Id |
orderId |
String |
50 |
Y |
订单Id |
3.2.6.2返回参数
参数名 |
长度 |
描述 |
Code |
20 |
返回代码 |
Message |
200 |
返回消息 |
productName |
50 |
产品名称 |
orderNo |
50 |
订单号 |
Status |
1 |
0: 到期赎回 1:本金续投 2:本息续投 |
payMoney |
12 |
购买金额 |
outPutMonery |
12 |
预期收益 |
Rate |
12 |
预期收益率 |
orderDate |
20 |
下单日期 |
stratDate |
20 |
开始计息时间 |
endDate |
20 |
到期时间 |
Days |
3 |
剩余天数(不超过一年,365天) |
orderId |
20 |
订单id |
profitView |
12 |
预期收益显示 |
productCat |
1 |
产品类型 |
timeLong |
3 |
期限 |
timeUnit |
10 |
期限类型(目前都是天) |
State |
1 |
0-等待满标,1- 等待还款, 2-流标,3-已到期,4-下单未支付 |
3.3错误码定义
接口服务调用过程中可能会返回的错误码定义如下表所示:
Code |
message |
Description |
000 |
成功 |
成功 |
0000 |
交易成功 |
成功 |
500 |
服务器处理异常 |
未知错误 |
1001 |
商户请求签名错误验签错误 |
失败 |
1004 |
商户请求参数校验错误(具体参数 名) |
失败 |
1007 |
网络链接繁忙 |
失败 |
1008 |
商户请求IP 错误商户支付结果查询时,会限制ip,只有允许的ip 地址 才可以访问 |
失败 |
2008 |
交易处理中交易中间状态,金融端扣款正在处理中,无法同步返回最终结果或者交易异常,请等待支付系统异步通知方式通知,也可以通过发起查询交易查询该笔订单状态 |
失败 |
3001 |
非法商户 |
|
71001 |
手机号非法 |
失败 |
71002 |
用户不存在 |
失败 |
71003 |
用户已存在 |
失败 |
71004 |
身份证不匹配 |
失败 |
71005 |
账户不匹配 |
失败 |
71006 |
姓名不匹配 |
失败 |
71007 |
验证码错误 |
失败 |
71008 |
用户未注册 |
失败 |
71009 |
两次密码不一致 |
失败 |
72001 |
订单已存在 |
失败 |
72002 |
订单不存在 |
失败 |
72003 |
产品未在销售期 |
失败 |
72004 |
账户剩余额度不足 |
失败 |
72005 |
订单号不存在 |
失败 |
72006 |
购买金额不能小于最低起投金额 |
失败 |
72007 |
下单总额超过该产品的最大可持有金额 |
失败 |
72008 |
支付超时,订单已失效! |
失败 |
73001 |
订单已经兑付 |
失败 |
74001 |
用户名密码不正确 |
失败 |
75000 |
Token失效,请重新登录 |
失败 |
75001 |
非法操作 |
失败 |
75002 |
签名错误 |
失败 |
9901 |
请求报文非法 |
失败 |
9902 |
请求参数缺失{0} |
失败 |
9903 |
请求参数错误{0} |
失败 |
9093 |
无对应的支付单信息 |
失败 |
9990 |
银行交易出错,{银行返回的错误信 息},请稍后重试 银行交易出错,{银行返回的错误信息},请稍后 |
失败 |