前置
申请支付宝相关准备内容:小程序 - 微信支付接入指引 - 微信支付商户平台
先看文档
小程序登录流程:小程序登录 | 微信开放文档
登录流程图
这个说明一定要好好看清楚!!!
说明
- 调用 wx.login(Object object) | 微信开放文档 获取 临时登录凭证code ,并回传到开发者服务器。
- 调用 auth.code2Session | 微信开放文档 接口,换取 用户唯一标识 OpenID 、 用户在微信开放平台帐号下的唯一标识UnionID(若当前小程序已绑定到微信开放平台帐号) 和 会话密钥 session_key。
之后开发者服务器可以根据用户标识来生成自定义登录态,用于后续业务逻辑中前后端交互时识别用户身份。
小程序调起支付API
微信支付商户平台
整套支付流程至此结束,不过还没完结……下面继续
微信支付弹框无法唤起?但是debug模式下又是可以唤起…… 重点在上述说明的2点,你可能是这样想的:
- 前端调用wx.login()获取临时登录凭证code,然后再传回服务端
- 紧接着前端再调用auth.code2Session接口,换取用户唯一标识OpenID这就完事了,但这实际不算完事,这个过程前端传给服务端的openid其实服务端获取不到,为啥获取不到(目前没得说明)- - 那咋办?
- 再回去看说明里的第1点的最后一句话,这最后一句话需要和第2点的第一句话整合起来理解:并传回到开发者服务端,必须由服务端调用auth.code2Session接口,然后服务端把openid返回给前端,然后前端再把服务端返回的openid当作入参再给服务端,最后才是唤起支付
- 整个过程需要服务端起到一个承接作用然后这才算是完事了