接入文档

微信小程序接入

最近更新时间:2020-04-17 09:19:58

小程序在微信使用场景中越来越广泛,腾讯云人脸核身针对小程序提供嵌入式 SDK,开发人员可以将相应的 SDK 添加到小程序开发工具中,从而直接调用小程序 SDK 中提供的 OCR 识别、活体检测和 1:1人脸比对服务。

微信小程序提供两种活体模式(读数字、光线),都是基于微信原生的体验,要求符合以下行业要求且具备相关资质的客户才能申请,接入前请确认公众号的主体和类目是否符合以下范围,并准备好对应的资质文件,资质审核需要5 - 7个工作日,请预留好上线时间。查看 资质文件列表

  • 政务:政府机构或事业单位
  • 金融:银行、保险、信托、基金、证券/期货、持牌消费金融
  • 医疗:公立医疗机构、互联网医院
  • 运营商:基础电信运营商、增值电信运营商
  • 教育:学历教育(初等/中等/高等)、公立教育机构、私立/民办教育机构
  • 出行与交通:网约车(快车/出租车/专车/其他网约车)、航空、地铁、水运、城市交通卡、城市共享交通、火车、公交、长途客运、租车
  • 生活服务:生活缴费
  • 旅游:酒店
  • 商业服务:公证
  • 社交:直播
  • 快递与邮政:快递、邮政、寄件/收件
说明:

本模式需要先扫码授权:打开二维码 ,公众号管理员扫码后,单击自定义权限,只勾选人脸核身权限和素材管理权限,将该权限授权给慧眼第三方平台。

授权指引:

接入流程

  1. 登录 人脸核身控制台 下载小程序 SDK,并在小程序代码中引入,调用 init 方法进行初始化。
  2. 接入方服务端调用实名核身鉴权 DetectAuth 接口,传入核身所需信息与业务回跳地址 RedirectUrl,获取到核身流程标识(BizToken)。
  3. 客户后端将 BizToken 返回给客户小程序端,然后小程序调用核身方法 startVerify 进入核身流程。
  4. 用户完成人脸核身后,会以回调函数形式返回 BizToken ,接入方小程序将 BizToken 传给接入方服务端,接入方服务端即可凭借 BizToken 参数调用获取实名核身结果信息 GetDetectInfo 接口去获取本次核身的详细信息,最后将核身结果返回给接入方小程序。

SDK 接入

开发准备

下载 SDK

登录 人脸核身控制台 下载小程序 SDK,并在小程序代码中引入,调用 init 方法进行初始化。

安装 SDK

将小程序 SDK 文件夹放在小程序根目录下,使用 require 函数引入。

const Verify = require('/verify_mpsdk/main');

卸载 SDK

卸载时删除verify_mpsdk文件夹,移除相应 require 代码即可。

快速入门

  1. 将 verify_mpsdk 文件夹放到小程序项目根目录。
  2. 初始化慧眼实名核身 SDK。
    在 App.js 的 onLaunch() 中加入相应代码,在 App.json 文件里添加活体验证页面verify_mpsdk/index/index
    //app.js
    App({
     onLaunch: function () {
         // 初始化慧眼实名核身组件
         const Verify = require('/verify_mpsdk/main');
         Verify.init();
     }
    }) 
    // app.json
    {
     "pages":[
         "verify_mpsdk/index/index"
     ]
    }
  3. 调用 SDK 功能函数 wx.startVerify()。
    在需要实名认证的地方调用 wx.startVerify() 进入实名认证页面,认证完成会触发对应的回调函数。
    // 单击某个按钮时,触发该函数
    gotoVerify: function () {
     let BizToken = getBizToken();// 去客户后端调用DetectAuth接口获取BizToken
     // 调用实名核身功能
     wx.startVerify({
         data: {
             token: BizToken // BizToken
         },
         success: (res) => { // 验证成功后触发
             // res 包含验证成功的token, 这里需要加500ms延时,防止iOS下不执行后面的逻辑
             setTimeout(() => {
                 // 验证成功后,拿到token后的逻辑处理,具体以客户自身逻辑为准
             }, 500);
         },
         fail: (err) => {  // 验证失败时触发
             // err 包含错误码,错误信息,弹窗提示错误
             setTimeout(() => {
                 wx.showModal({
                     title: "提示",
                     content: err.ErrorMsg,
                     showCancel: false
                 })
             }, 500);
         }
     });
    }
  4. 添加域名服务器白名单。
    小程序前端接口请求有域名白名单限制,未添加白名单的域名只能在调试模式下运行。您需要在小程序上线前需要将以下两个域名添加至白名单:
    // request 合法域名、uploadFile 合法域名、downloadFile 合法域名这三种都要添加
    faceid.qq.com、btrace.qq.com

基本 API 描述

  • Verify.init(options):初始化插件。
    • options:Object required 初始化的参数。
    • options.env:String required 接口环境。正式环境为 release,开发环境为 dev。
  • wx.startVerify(options):进入实名认证页面。
    • options:Object required 初始化的参数。
    • options.data.token:String required 客户后端调用 DetectAuth 接口获取的 BizToken。
    • options.success:Function(res) required 验证成功的回调。res 包含验证成功的 token。
    • options.fail:Function(err) required 验证失败的回调。err 包含错误码、错误信息。
目录