微信小程序获取用户openId、手机号

微信小程序获取用户openId、手机号,第1张

对于第一次实现小程序获取用户手机号、用户信息功能的程序猿来说,有一个着手的思路可以事耐竖半功倍。本文可纯滑以给你提供这个思路,助你快速准确完成需求。

调用wx.login,在成功回调中,拿自己小程序的appId、secret请求接口 url: ' https://api.weixin.qq.com/sns/jscode2session?appid=' + appId + '&secret=' + secret + '&js_code=' +code + '&grant_type=authorization_code',请求成功即可拿到openid和session-key

小程序的appId必须昌裤大要在微信公众平台完成微信认证(里面需要上传一些企业的一些证件和信息)才能有获取用户手机号的权限

最后拿用户的获取到的e.detail.iv、和e.detail.encryptedData(加密的手机号)和前面拿到过的session-key传给后台,交给后台解密即可

具体解密规则参考官方文档:( https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNumber.html )

2019年12月26日

文档:

https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_7

一.一般要开发的两个接口大蚂

1.统一下单

https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_1

2.申请退款

https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_4

3.签名规则

https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=4_3

二.小程序支付时序图

关键就是wx.requestPayment(object)

2.ps商户系统和微信支付系统主要交互:

1、小程序内调用登录接口,获取到用户的openid,api参见公共api【 小程序登录API 】

2、商户server调用支付统一下单,api参见公液颂共api【 统一下单API 】

3、商户server调用再次签名,api参见公共api【 再次签名 】

4、商户server接收支付通滚埋埋知,api参见公共api【 支付结果通知API 】

5、商户server查询支付结果,api参见公共api【 查询订单API 】

三.微信小程序支付实现步骤

1.获取登录凭证code 并传给后端服务器

2.后端服务器请求微信服务器获取openid和session_key,并将openid返回给小程序

3.小程序客服端发起支付请求给后端服务器 (带上openid参数)

4.后端服务器接收到openId后,调用微信支付统一下单接口(后端调用的,用来给小程序获取支付参数)

5.拿到后端服务器返回的5个参数后,调用最终支付接口wx.requestPayment

6.微信服务器进行支付成功后,通知后端服务器。

我遇到的情况是:{ errMsg: "cloud.callFunction:ok", result: null }

方法一:先检查是否在开发前安装好nods.js和npm;

在cmd输入:

node -v

npm -v

可以看到安装好的对应版本;

函数中使用 wx-server-sdk 需在对应云函数目录下安装 wx-server-sdk 依赖,可通过:模茄

npm install --save wx-server-sdk@latest安装;

最后会提示:+wx-server-sdk@版本号。

成功安装依赖后,相应的云函数文件夹将生成一个package-lock.json文件。

再次上传并部署云函数:所有文件。孙吵

方法二:

在云端和本地上都要删除函数,再重新创建和上传,也许问题就会解决了!

方法三:

在云端上删除已经部署过的login函数:再次上传的时候可能会出现:

"Code": "ResourceNotFound.Function", "Message": "未找到函数版本则码侍,请创建后再...

然后此时在云端上新建函数,如下图:

再次上传并部署云函数,此时提醒函数已存在,不能重复上传,此时编译一下。

发现原本获取openid值为null的,现在能够成功获取到了用户的openid。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12548729.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存