银联云闪付小程序后台frontToken、backendToken、accessToken和openid的获取

cfn
2020-12-04
1067

FrontToken的获取

通过此接口进行POST请求

https://open.95516.com/open/access/1.0/frontToken

参数 内容
appId 小程序的应用ID(接入方ID)
nonceStr 16位随机字符串
timestamp 当前时间戳
signature 签名值,签名因子包括(appId,nonceStr, secret, timestamp)

即可返回

参数 内容
frontToken 调用小程序插件 UPSDK 的基础访问令牌
expiresIn 有效期,单位秒
/** * 发送请求获取数据 * @param $params * @return bool|string */ protected function sendRequest($params) { // 设置参数 $params['timestamp'] = time(); $params['nonceStr'] = Tools::nonceStr(16); $params['signature'] = Tools::sha256(Tools::sortByASCII($params)); unset($params['secret']); return Curl::app($this->url, "POST", $params)->run(); }

获取到frontToken请注意保存,每天获取有一定限制,过期及时更新就可以了

backendToken的获取

通过此接口进行POST请求

https://open.95516.com/open/access/1.0/backendToken

参数 内容
appId 小程序的应用ID(接入方ID)
nonceStr 16位随机字符串
timestamp 当前时间戳
signature 签名值,签名因子包括(appId,nonceStr, secret, timestamp)

即可返回

参数 内容
backendToken 调用小程序插件 UPSDK 的基础访问令牌
expiresIn 有效期,单位秒
/** * 发送请求获取数据 * @param $params * @return bool|string */ protected function sendRequest($params) { // 设置参数 $params['timestamp'] = time(); $params['nonceStr'] = Tools::nonceStr(16); $params['signature'] = Tools::sha256(Tools::sortByASCII($params)); unset($params['secret']); return Curl::app($this->url, "POST", $params)->run(); }

获取到backendToken请注意保存,每天获取有一定限制,过期及时更新就可以了

AccessToken的获取

用户授权 获取code

一、H5页面跳转获取code

window.location.href = "https://open.95516.com/s/open/html/oauth.html?appId="+config.appId+"&redirectUri="+window.location.href+"&responseType=code&scope=upapi_mobile&state=01"
参数 内容
appId 小程序的应用ID(接入方ID)
redirectUri 授权回调地址
scope 有四个选项,填写申请时所申请权限
state 随意写最多128个字节

微信截图_20201204174404.png

二、通过code获取accessToken和openID

通过此接口进行POST请求

https://open.95516.com/open/access/1.0/token

参数 内容
appId 小程序的应用ID(接入方ID)
backendToken 上边返回的backendToken
code 上边返回的code
grantType 固定值:authorization_code

返回值:

参数 内容
accessToken 授权获取用户信息接口调用凭证
expiresIn 有效期,单位秒
refreshToken 用户刷新 accessToken(已废弃)
openId 用户唯一标识
scope 用户授权的作用域
/** * 发送请求获取数据 * @param $params * @return bool|string * @throws Exception * @throws GuzzleException * @throws InvalidArgumentException */ protected function sendRequest($params) { // 设置参数 $params['backendToken'] = BackendToken::instance(['appId'=>$params['appId'],'secret'=>$params['secret']])->getBackendToken(false)["backendToken"]; $params['grantType'] = "authorization_code"; unset($params['secret']); return Curl::app($this->url, "POST", $params)->run(); }

签名算法PHP版:https://blog.leapy.cn/d/10.html

评论 1