1. 需求背景

联华诉求接入云闪付小程序。从业务模型上,云闪付类似于微信的存在。因此我们以一个端的方式进行定义云闪付小程序。

端id:待定

2. 方案设计

2.1. 云闪付接入

  1. 根据小程序云闪付小程序前端 API 的使用步骤,并页 面引用 upsdk.js 和适应前端框架的授权组件;

  2. 需要用户授权页面引用授权组件,用户点击授权组件 唤起用户授权;

  3. 接入方通过组件回调获取授权 code 后,传递至后台系 统,获取 accessToken 及授权用户的 openId;

  4. 接入方后台系统通过 accessToken 和 openId 访问相应 后台接口获取用户信息,参考 3.4.4.1.2“获取用户信 息令牌 accessToken 和 openId”

  5. 根据 accessToken 和 openId 调用获取用户信息接口获 取用户相应的信息。

diag b2e50bfde9cb0ca2d7a1eb1a12831dab

3. 涉及云闪付接口

  • 获取开放接口访问令牌 backendToken

请求

参数

是否必填

说明

appId

接入方的唯一标识

nonceStr

生成签名的随机串

timestamp

生成签名的时间戳

signature

签名值,签名因子包括(appId, nonceStr, secret, timestamp)

响应

参数

说明

backendToken

调用后台接口的基础访问令牌

expiresIn

frontToken 接口调用凭证超时时间,单位秒

注意

(1)基础访问令牌为系统全局变量,与用户行为无关。请 保证在有效期内,不会多次请求获取相关基础访问令牌,频繁请 求的服务器将可能会被云闪付列入黑名单
  • 获取用户信息令牌 accessToken 和 openId

请求

参数

是否必填

说明

appId

接入方的唯一标识

backendToken

调用后台接口的基础访问令牌

code

用户授权码

grantType

常量字符串 authorization_code

响应

参数

说明

accessToken

授权获取用户信息接口调用凭证

expiresIn

frontToken 接口调用凭证超时时间,单位秒

refreshToken

用户刷新 accessToken(已废弃)

openId

用户唯一标识

scope

用户授权的作用域

unionId

统一用户标识(所有接入方下用户标识唯一)

注意

(1)accessToken 有效期 expiresIn 为后台接口返回控制,现阶段设置为 3600 秒。当 accessToken 超时后,如需获取用户信息需要用户重新授权。

(2)如果接入方权限为基础授权(upapi_base),在获取 openId 后,后续步骤则可不再执行。 接入方权限为基础授权以上权限级别,可通过 openId, 再去获取授权的其他资源信息。

(3)如果仅仅做用户联登的话,无需关心 accessToken 有效期,开发者拿到 accessToken 以后,可直接执行获取用户信息。

(4)scope授权取值
    scope.mobile(手机号授权)、
    scope.auth(实名授权)、
    scope.bank(银行卡授权,仅限金 融小程序申请使用)、
    scope.token(银行卡 token 授权,仅 限金融小程序申请使用)
  • 获取用户信息 API

请求

参数

是否必填

说明

appId

接入方的唯一标识

accessToken

授权获取用户信息的调用令牌

openId

第三方用户唯一凭证

backendToken

基础服务令牌

响应

参数

说明

mobile

登录手机号

cntryPhoneCd

国际区号