微信医保支付能力
1.能力背景
传统就医流程中,涉及“三长一短”的难题。与就医不相关的缴费环节,也是造成三长一短的原因。因此根据国家政策及互联网的引导支持,微信推出了“智慧医院”方案,从挂号、缴费、报告等环节,解决线下排队、必须线下办理的问题。
随着微信智慧医院方案覆盖的医院越来越多,根据调研、观察及数据发现,在缴费支付环节,依然有较多用户存在排队等待。
智慧医院线上流程:
[图片]
三长一短及对应的全流程解决方案:
[图片]
从解决方案中退出,医保支付结算的通路,也需要打通,才能更便捷的为用户提供服务。因此:
腾讯与人社部门联合开展了“基于微信,进行医保移动支付结算”的能力。用户在微信上绑定社保卡之后,无需在医院窗口排队,即可通过微信缴纳医保挂号或医保门诊费用,优化了传统的就医流程。为用户提供便捷的医保结算就医方式。
传统的医保就医流程,与微信医保支付优化后的就医流程对比如下:
[图片]
从一定程度上,缓解了医保挂号、医保门诊缴费的排队问题。
2.能力架构
微信医保支付的业务的整体架构,可以类比微信支付,涉及的最基本的模块有三方:社保卡绑卡类比银行卡绑卡,人社局类比银行,医院类比商户。对应的类比架构如下:
[图片]
在这个类比中,微信医保支付也类似微信支付一样,建立起了开放合作的基础架构。
在人社部门&主管部门的指导、监管下,将医保移动支付结算的接口,封装为相对标准的微信医保支付开放接口,提供给符合监管要求的医疗医药机构。用户在微信中绑定社保卡后在医院/药小程序中,挂号或者门诊缴费时,使用微信医保支付。
对于用户而言:在指定入口绑定社保卡,后续在支持医保支付的医院挂号付费,或前往医疗机构就诊付费,可以通过微信医保支付,在线完成医保结算(医药机构类似),缩短就医路径,减少排队等待的时间。
对于医疗医药机构而言:可以通过微信医保标准的接入接口,申请成为微信医保支付的“商户”,然后在小程序为用户提供便捷的微信医保支付结算。
3.能力覆盖
目前微信医保支付的覆盖城市范围,包括如下城市:
深圳、成都、汕头、郑州、铜川、厦门、广西、嘉兴、宁波,开封,武汉,延安,攀枝花、白城、长沙、哈尔滨、沈阳、潍坊、葫芦岛、西安、宝鸡、咸阳、榆林、渭南、安康、商洛,南京,甘肃全省,合肥,青岛,广州,邯郸,台州,通化、石家庄,长春等省市(持续更新中)
如有开发者或运营者的小程序在以上覆盖城市,则可以沟通对接微信医保支付接口能力。
4.接口权限申请
微信医保支付接口权限,包含但不限于以下3部分内容:
(一)征得当地主管单位的同意,且确保对应医疗机构或医药机构是合规的定点机构;
(二)对应医疗机构或医药机构已开通微信支付权限;
(三)按照以下方式申请接口权限:
1、登录微信公众平台:使用医疗机构公众号登录微信公众平台(备注:申请开通微信医保支付权限,均需由医疗机构对应公众号提交,如果还没有公众号,请先完成公众号注册及认证。)
2、找到【城市服务】插件:在公众平台左边栏【功能栏】下方,找到【城市服务】插件。未能找到请点击【添加功能插件】。从插件库中选择添加城市服务插件,填写相应信息即可开通。
如果通过以上方式,还未找到城市服务插件,可以通过以下方式申请开通(仅支持公立医院开通):
[图片]
5.接口能力说明
5.1支付场景介绍
微信医保支付除支持小程序外,还支持公众号、扫码付、刷码付等多个支付场景。针对小程序场景,说明如下:
1、医院小程序下单后获得pay_appid与pay_url后,使用这两个参数跳转到医保支付小程序。 跳转的小程序接口点击查看
2、参考示例:
[图片]
3、用户在医保支付小程序完成支付后,会返回调用方的小程序,可在小程序的onShow方法通过scene 等于1038(从另一个小程序返回)时,拿到小程序本身存储的上下文,获得相关订单号,然后先查询医院订单是否已接收到成功通知,如果还没有,则向微信医保支付后台查询支付结果。
5.2接入模式说明
微信医保支付接入,分为两种模式:服务商模式,独立模式。
1、服务商模式
目前接入的大部分都属于服务商模式,即由第三方平台公众号代理医院公众号接入医保支付系统,第三方平台无需代理医院的公众号secret即可进行操作。
医保支付的服务商模式与微信支付的父子商户不相关也不冲突,即不管原来是不是子商户,都可以用服务商模式。
如医院公众号A,第三方平台公众号X,调用API的参数规则如下:
[图片]
2、独立模式
医院公众号自行接入医保支付系统。如医院公众号为A,其为自行开发的公众号,且自行接入医保支付,调用API的参数规则如下:
[图片]
5.3业务流程举例说明
1、微信医保支付总业务流程图
[图片]
2、挂号支付流程图
[图片]
3、诊间支付流程图
[图片]
4、订单状态更新流程说明
设定公众号本身有订单信息存储称为本地DB,当公众号收到来自医保支付的后台通知时(即通过notify_url进行通知的支付结果),公众号查询其本地DB,根据通知的数据更新订单的状态。
当未收到通知时,可能通知失败,或者订单支付失败,不管支付成功或失败,用户都会从支付页面跳转到公众号提供的return_url,此时公众号可以在用户跳转的return_url 中,首先查询本地DB看状态是否为成功,不成功则调用医保支付查询API进行查询,获得支付状态并更新公众号本地DB的订单状态。
5.4接口规则
商户接入医保支付,调用API必须遵循以下规则:
传输方式: 为保证交易安全性,采用HTTPS传输
提交方式:采用POST方法提交
数据格式:提交和返回数据都为XML格式,根节点名为xml
字符编码:统一采用UTF-8字符编码
签名算法:MD5
签名要求:请求和接收数据均需要校验签名,详细方法请参考,安全规范-签名算法,key说明见后续文档
服务器IP要求:调用申请退款接口需要先提供服务器IP列表
判断逻辑:先判断协议字段返回,再判断业务返回,最后判断交易状态
5.5获取access_token
1、服务商模式获取方式:
点击查看
请求参数:
[图片]
如服务商appid为A,医院appid为B,服务商appsecret为C,那么请求为:点击查看
返回参数:
[图片]
以下字段在return_code为SUCCESS的时候有返回:
[图片]
err_code与err_code_des点击查看
以下字段在return_code 和result_code都为SUCCESS的时候有返回:
[图片]
2、独立模式获取方式:
与开放平台获取access_token方式相同参考说明
6.接口文档
详细接口文档,可以点击此处查阅。
7.相关文档
另,除以上主接口文档外,还提供了“选用接口”,以实现查询用户社保卡信息、动态获取社保卡绑卡链接等功能。详见7.3文档。
7.1微信医保支付接口文档之《对接移动医疗平台(医院)接口文档》(更新于2018.10.15)
7.2微信医保支付接口文档之《接入指引文档》(更新于2017.9.15)
7.3微信医保支付接口文档之《选用接口文档》(更新于2018.7.12)