文档中心 > K12一脸通行方案

K12一脸通行方案——一脸通行小程序调用及用户签约接入指引

更新时间:2020/05/29 访问次数:2410

1.小程序开发

学生刷脸认证,亲子账户绑定由支付宝提供刷脸认证小程序组件实现,用户签约由isv签约小程序实现。前端与isv之间通过小程序互相跳转。

1).开发小程序授权,小程序开发:详见小程序开发文档 

2.一脸通行平台集成

1)联调准备

          准备: 联调用户数据。(学校入驻信息、用户信息)

          i).用户支付宝账户准备

           -  大于18岁的学生或教职工已注册支付宝实名认证账户

           -  家长为孩子代开时,家长已注册支付宝实名认证账户

         ii).数据准备,其中学校入驻信息

           -  学校维度入驻的数据:学校名称、支付宝账户、学校统一社会信用代码、学校唯一标识、

           -  人员维度的数据:姓名、身份证、身份(学生、教职工、访客等)、照片、支付宝UID、代扣协议信息、学生监护人手机号等

           -  注意:以上数据必须以“学校”为主体来提供,ISV与学校须有合作协议明确相关数据使用范围及隐私条款

         iii).ISV认证网关、授权地址、门店准备

      2)集成联调

  • 个采:学生/教工/家长可即刻可采集孩子人脸。使用对象学生/教工/家长。

1).流程:学生/教工/家长登陆支付宝账户访问ISV小程序,跳转到支付宝刷脸认证小程序,对学生身份进行确认,通过认证机构进行刷脸认证,认证通过,用本人支付宝账户签约免密支付,如果学生没有支付宝账户,由当前账户代学生创建支付宝账户,并与当前支付宝账户进行绑定,开通免密支付。

2). 前端小程序:

 i.当前用户uid的获取:isv开发人脸小程序。用户进入小程序后通过用户授权获取uid,并保存uid。小程序授权接入

 ii.获取学生uid:isv调用支付宝的刷脸认证小程序组件,然后跳转到isv的免密支付签约小程序。前端会透传token参数,isv需要获取token参数,通过服务端接口获取到学生的uid并保存学生信息。参见页面参数传递接口

iii.isv免密支付签约小程序,签约账户为当前登录的支付宝账户,签约完成后返回的也是当前登录的uid,并保存uid。参见个采小程序开发指南小程序方式请求(说明:支付宝认证组件不包含商户代扣协议签约,因此ISV需要自己开发。)

个采小程序集成代码:

       第一步.通过个采小程序调用支付宝认证组件,小程序调用方法,具体参见小程序接口文档 前端页面跳转地址:

   
      my.navigateToMiniProgram({

      appId: '77700194',

      path: '/pages/payment-open-landing/index',

      success: (res) => {

      console.log(JSON.stringify(res))

      },

      fail: (res) => {

      console.log(JSON.stringify(res))

      }

    });

      第二步. 开通成功之后返回ISV小程序签署代扣协议 ISV需要在自己的小程序中,开发页面 pages/withholding-sign/index,在这个页的js文件中,Page的onLoad事件,可以取到参数query, query.token就是token值

    Page({
    onLoad(query) { //onLoad都可以取到query参数
    console.log(query.token); // token字符串
    }
    }) 

3)学生身份核验及与家长账号关联逻辑说明:(ISV对接时要关注此处校验流程)

  •  当前用户在访问ISV小程序的时候,获取当前登录用户的uid;如果当前用户为家长,支付宝小程序跳转ISV小程序时,通过客户端透传的token,查询获取到学生的身份证号、UID等其他信息,ISV需要在系统中通过学生的身份证号匹配到学生的姓名,然后,保存相关返回信息。此环节"可以将学生身份信息和当前用户的uid关联到一起,如果当前用户为学生/教工本人则获取到的uid及身份证号应该一致,说明是本人,不一样说明家长账户绑定。
  • 在线下支付的时候,每次刷脸结束后,身份核验标识。机具端刷脸SDK刷脸用户唯一标识变更:
    - 当前大家使用的是“FaceVerifyResult”中的“uid”来关联系统中的学生用户;
  • 每个学生的外部签约号要保持唯一。

        4). 服务端接口调用:

         i.学生认证:服务商需按照团餐刷脸付接口文档中身份认证接口规约实现学生认证服务接口

         ii.学生信息获取:依赖支付宝小程序跳转到ISV小程序透传的token。参加页面参数传递接口

         iii.获取学校人脸库ID:学生采脸后,ISV调用查询人脸库key接口获取学校人脸库。线下支付的时候,需要传给机具端人脸SDK。参见接口文档

  • 集采:即远程开户,孩子刷脸认证完成后,支付宝push开通刷脸支付消息,  然后,开通刷脸支付并完成签约。使用对象:ISV工作人员。

1).流程:家长收到学校短信通知孩子采脸,ISV现场工作人员登录到远程开户小程序,选择姓名、采脸,进入支付宝刷脸认证小程序,学生进行采脸。采脸完成后,支付宝push开通刷脸支付消息给家长,点击立即开通,进入到确认信息页面,确认学生身份,确认通过,进入ISV签约小程序,开通刷脸支付。如果信息错误,家长授权拒绝,支付宝通知ISV授权状态。

2).前端小程序:小程序互相跳转实现代码参见远程开户接入指南

    1)、isv获取token,跳转支付宝远程开户小程序.参见小程序文档

            小程序api调用:

    my.navigateToMiniProgram({
    appId: '77700194',
    path: 'pages/remote-open/remote-open',
    extraData:{
    "token": "这里用token替换",
    "data": "字符串类型,原样返回",
    "appId": "需要跳回的appId,也就是业务方自己的appId,必传",
    "page": "需要跳回的页面地址,必传"
   }
   });

     2)、学生开户邀请流程走完后跳回ISV小程序

   Page({
   onLoad(query) {
   console.log(query.data); // 跳转时传入的data字符串
   console.log(query.success); // 认证是否成功,字符串类型'false' / 'true'
   }
   })

3).服务端:

  • ISV小程序进入到支付宝小程序对每个学生生成一个远程开户token,用于核验学生身份。参见教育场景token生成处理器(版本1.0)文档

  • 从支付宝小程序进入到ISV签约小程序的时候,依据token查询学生或教职工的信息,确认学生/教工身份。调用alipay.commerce.educate.sign.token.query接口。参见团餐刷脸付接口文档页面参数传递接口
  • 学生认证:服务商需按照团餐刷脸付接口文档中身份认证接口规约实现学生认证服务接口
  • 获取学校人脸库ID:如果已经接入个采,集采的时候不需要调用此步骤。人脸库ID在学校信息每一变更的情况下,获取一次即可。机具端人脸库,人脸SDK已包含人脸库刷新机制。无需ISV单独处理。如果没有接入个采,则学生采脸后,ISV调用查询人脸库key接口获取学校人脸库。线下支付的时候,需要传给机具端人脸SDK。参见接口文档
  • 【注意】当学生信息有误的时候,会出现报错页面,家长远程开户拒绝授权。通过远程开户的‘家长授权拒绝’接口通知ISV。(支付宝通知ISV)参见团餐刷脸付接口文档,对应的交互流程如下‘学生信息错误上报’。见截图。

  • 关闭业务服务

开通一脸通行服务后,学生存在转学、毕业、家长换绑等其他需要解绑情况下,可以对进行一脸通行服务关闭。服务端调用K12业务关闭接口(alipay.commerce.educate.scene.kids.close)

  • 消息通知服务

       一脸通行方案中,在多个情况下,家长或者孩子账户余额或状态发生变化的时候,学校,家长都希望能够及时通知到家长,因此,可以接入消息通知接口,服务端调用场景 (如消费/核身)消息上报接口(alipay.commerce.kids.msg.scene.send)

      -模板消息类型需要集成支持的同学配置模板消息类型同步给ISV开发同学。

      -针对不同的消息类型,模板消息不同。

FAQ

关于此文档暂时还没有FAQ
返回
顶部