车辆保险产品需求设计(保险公司对接)

全过程分为5部分,分别为购买流程,支付校验流程,支付流程,转账确认流程,承保流程

用户购买流程:

用户在融石页面选择车险产品,并点击参与活动,融石引导用户跳转到车险产品页面,用户填写车辆信息和投保信息进行报价后,用户点击核保,保险代理将投保单号以及相关信息告知融石,融石创建订单,并返回全局流水号,保险代理引导用户到融石产品确认页,用户进行产品确认,并准备支付。

由于多数地区都实行实名支付,融石会在确认页面对客户进行实名验证。


支付校验流程

用户在支付前,融石调用保险代理,进行支付校验,支付校验成功后,融石引导用户支付。


支付流程

用户支付成功后,融石通知保险代理保单确认购买。


转账确认流程

保险代理进行保费受托支付,受托支付结果通知融石,受托支付失败,融石将收到告警,并人工查询问题,修复后,融石将告知用户承保成功,承保拒绝,融石引导用户退款流程。


承保流程

保险代理进行承保,承保结果通知融石,承保通过,融石告知用户承保成功,承保拒绝,融石引导用户退款流程。


接口方案

传输方式

HTTPS 传输 端口443
Method:POST
Content-Type:application/json
Encoding:UTF-8

鉴权方法

HTTP头

HTTP头名称 字段说明 样例
timestamp 时间戳 1490259359789
signature 签名字段 此字段为算法见下文
名称 字段说明
timestamp 13位时间戳,需要判断接收到的时间戳 是否在当前时间的前后30分钟,如果不是,将按照无效请求处理
signature String temp = MD5(globalno + "I" + token.upper() + "I" + timestamp)
globalno 全局流水号 : S2IDH2017032800001 固定位(S2I) + 渠道商(DH)+ 日期(20170328) + 最大10万(00001)
token 令牌,双方各持有一个令牌,接收方将按照自己持有的令牌进行判断,发送方将使用要接收方的令牌进行签名。
令牌在做签名的时候需要全大写。
令牌使用时为提供服务方,用自己令牌做签名验证,而调用方,用对端令牌制作签名
令牌持有方 令牌号 说明
融石科技 RSXXXXXXXXXXXXXX 此项为配置项,在上线前统一修改,请勿写死在代码中
保险代理 TAXXXXXXXXXXXXXX 此项为配置项,在上线前统一修改,请勿写死在代码中

返回结构

{statusCode:"000000",error:"错误信息",result:JSON}

在statusCode 为000000时,说明业务成功返回,此时result为返回结果,为必填项。
反之,说明业务失败返回,此时error为返回的错误信息,为必填项。


以下为接口形式,里面所用的接口地址,将在上线部署时统一更换


购买流程接口

1. 保险产品页面
融石——>保险代理
http://www.insurance.com/insuremain.html
time=1490259359789 为防止缓存
randomno=XXXXXXXX:随机码
backurl=http://callback.html: 回调地址

backurl  需要 base64 encode  

其他参数,保险代理可以自行确定

http://www.insurance.com/insuremain.html?randomno=g3k2d3h5v4t3j1j&backurl=http://www.rongstone.com/111.html&time= 1490259359789
2. 创建订单信息
保险代理——>融石
https://www.rongstone.com/createorderinfo
RequestBody:
{
    globalno: "XXXXXXXXXXXXX",         //这里是随机码    (仍然用这个做签名)
    orderno: "12312312312",   //同道订单号
    payno: "123123123123",   //支付流水号
    name: "张德智",                     //车主姓名
    mobile: "15901197623",                     //车主手机号
    idcard: "110102198308243018",      //车主身份证
    plateno: "陕CC0969",               //车辆号牌
    rackno: "LNBSCCAJ6DR327158",       //车辆识别代码
    engineno: "HK6799",                // 发动机号
    registdate: "2014-01-08",          //车辆注册日期
    brandmodelname: "北京BJ7150C3D1A轿车",  //车辆品牌
    provincename:"广东省",              // 车辆投保城市名称
    cityname:"韶关市",                  // 车辆投保城市名称
    businesspre: "3762.58",            //商业险费用
    jqxpre: "760.00",                  //交强险费用
    vehicletax: "720.00",              //车船税费用
    sumpre: "5242.58"                  //保险总费用
}
ResponseBody:
{
    statusCode: "000000",           //成功返回 6个0
    error: "",                                    //错误信息
    result: "S2IDH2017032800001"       //返回全局流水号
}
3. 引导投保确认页
保险代理——>融石
http://www.rongstone.com/confirm.html
time=1490259359789 为防止缓存
randomno=XXXXXXXX:随机码
reason=
%E8%BD%A6%E8%BE%86%E4%BF%A1%E6%81%AF%E9%94%99%E8%AF%AF 这个是"投保信息错误"的URL编码


投保成功调用如下
http://www.rongstone.com/confirm.html?randomno=g3k2d3h5v4t3j1j&reason=&time=1490259359789

投保失败调用如下 
http://www.rongstone.com/confirm.html?randomno=g3k2d3h5v4t3j1j&reason=%E8%BD%A6%E8%BE%86%E4%BF%A1%E6%81%AF%E9%94%99%E8%AF%AF&time=1490259359789


其他参数,保险代理可以自行确定
4. 北京车辆保险发送验证码
融石——>保险代理
https://www.insurance.com/getverificationvode
RequestBody:
{
    globalno: "S2IDH2017032800001",     //全局流水号
    appno: "0703500136320170000648"     //投保单号
}
ResponseBody:
{
    statusCode: "000000",           //成功返回 6个0
    error: "",                      //错误信息
    result: "ok"                    //返回ok
}
5. 北京车辆保险验证验证码
融石——>保险代理
https://www.insurance.com/verificationvode
RequestBody:
{
    globalno: "S2IDH2017032800001",     //全局流水号
    appno: "0703500136320170000648"     //投保单号
    issuecode:”123456”                  //验证码
}
ResponseBody:
{
    statusCode: "000000",           //成功返回 6个0
    error: "",                      //错误信息
    result: "ok"                    //返回ok
}

支付校验流程接口

6. 支付校验
融石——>保险代理
https://www.insurance.com/checkorderpayablestatus
RequestBody:
{
    globalno: "S2IDH2017032800001",     //全局流水号
}
ResponseBody:
{
    statusCode: "000000",           //成功返回 6个0
    error: "",                      //错误信息
    result: "ok"                    //返回ok
}

支付流程接口

7. 接收购买请求
融石——>保险代理
https://www.insurance.com/recivepayrequest
RequestBody:
{
    globalno: "S2IDH2017032800001",     //全局流水号
    appno: "0703500136320170000648"     //投保单号
}
ResponseBody:
{
    statusCode: "000000",           //成功返回 6个0
    error: "",                      //错误信息
    result: "ok"                    //返回ok
}

转账确认流程接口

8. 发送转账结果
保险代理——>融石
https://www.rongstone.com/recivepayresult
RequestBody:
{
    globalno: "S2IDH2017032800001", //全局流水号
    payno:"XXXXXXXXXXXXXXXXX",      //交易流水号,当返回支付结果时,此项为和第三方支付的交易流水号
    result:"success",               //success 为扣款成功,为fault 为扣款失败
    reason:""                          //扣款成功的时候 此项为空,扣款失败的时候 此项为失败原因
}
ResponseBody:
{
    statusCode: "000000",           //成功返回 6个0
    error: "",                      //错误信息
    result: "ok"                    //返回ok
}

承保流程接口

9. 发送承保结果
天安——>融石
https://www.rongstone.com/reciveacceptanceresult
RequestBody:
{
    globalno: "S2IDH2017032800001", //全局流水号
    polno:"6703530136320170000695", //保单号 (承保失败  此项为空)
    result:"success",               //success 为承保成功,为fault 为承保失败
    reason:""                       //承保成功的时候 此项为空,payresult 承保失败的时候 此项为失败原因
}
ResponseBody:
{
    statusCode: "000000",           //成功返回 6个0
    error: "",                      //错误信息
    result: "ok"                    //返回ok
}

如果承保失败,提供失败原因。方便用户后续操作后,可以重新购买车险

10. 订单详情页面
融石——>保险代理
http://www.insurance.com/insureorder.html
time=1490259359789 为防止缓存
globalno=S2IDH2017032800001:全局流水号
appno=0703500136320170000648:投保单号
backurl=http://www.rongstone.com/111.html: 回调地址
backurl  需要 base64 encode  

http://www.insurance.com/insureorder.html?globalno=S2IDH2017032800001&appno=0703500136320170000648&backurl=http://www.rongstone.com/111.html&time= 1490259359789

断链重发策略

重发条件

1、当调用接口时,timeout时长为:65秒
2、返回的HTTP状态码 不是200 (此时需要记录日志)

重发策略

5秒、1分钟、5分钟,当需要重发时,将有3次重发机会,如果仍然不能正确返回(HTTP状态码为200)将进行报警处理,具体报警处理方式不做统一说明。

签名相关说明

  1. 调用端 使用对端所属的Token进行签名。
  1. 服务端 使用自己所属的Token进行验签。
    例如 融石请求支付校验到保险代理,这里融石就是调用端,所以要用保险代理的Token进行签名发送给保险代理,而保险代理这个接口是服务端,所以要用自己的Token(保险代理)进行验签。

服务器白名单

  1. 接口在做服务端时,被调用时,需要用对端的服务器白名单进行服务器验证,这里的白名单可以是列表,只有在列表中的服务器访问才能通过白名单验证。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容