微信和支付宝授权与支付实战

391 阅读1分钟

使用场景

网站/app登陆/支付会用到微信授权和支付宝授权

微信授权

  1. 有一个微信小程序
  2. 请求用户授权

微信snsapi_base静默授权 移动应用微信登录是基于OAuth2.0标准协议构建的微信OAuth2.0授权登录系统。 在进行微信OAuth2.0授权登录接入之前,需要完成一下工作才可以开始介接入:

微信OAuth2.0授权登录目前支持authorization_code模式,适用于拥有server端的应用授权。该模式整体流程为:

  1. 第三方发起微信授权请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数;

  2. 通过code参数加上AppID和AppSecret等,通过API换取access_token;

  3. 通过access_token进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。

1、获取当前服务供应商

uniapp官方授权文档

// 获取服务供应商
uni.getProvider({
  service: 'oauth',
  success: function (res) {
    // 获取用户登陆凭证code
    console.log(res.provider)
  }
});

2、 通过服务供应商获取用户登录凭证code

uniapp code授权文档

// 获取用户登录凭证code
uni.login({
  provider: res.provider,
  success: function (loginRes) {
    console.log('uniapp登录凭证',loginRes);
  }
});

3、通过服务供应商获取用户基础信息 微信为示例

uniapp 获取用户信息官方文档

uni.login({
  provider: 'weixin',
  success: function (loginRes) {
    console.log(loginRes.authResult);
    // 获取用户信息
    uni.getUserInfo({
      provider: 'weixin',
      success: function (infoRes) {
        console.log('用户昵称为:' + infoRes.userInfo.nickName);
      }
    });
  }
});

微信支付

  1. 发起支付流程
  2. 支付回调

支付宝授权

  1. 有一个微信小程序
  2. 请求用户授权

支付宝支付

  1. 发起支付流程
  2. 支付回调