getAlipayOpenId 接口错误

来源:13-2 支付宝小程序用户授权

慕粉15201527929

2020-07-14

图片描述

写回答

4回答

慕粉15201527929

提问者

2020-07-15

还得自己起一个node服务吗

0
1
扬_灵
是的 本地启动一个node服务,在小程序中调用本地的接口,在本地的接口中获取小程序接口数据
2020-07-15
共1条回复

扬_灵

2020-07-15

同学你好,我们在开发助手上申请了私钥和公钥每个人都是不同的,你在开发者平台中使用了你自己的公钥,但是在请求接口的时候是请求线上的接口地址,使用的私钥是老师的,所以接口会报验签错误,你可以参考老师提供的接口代码在本地启动一个后端项目获取小程序接口的信息, http://www.youbaobao.xyz/mpvue-docs/guide/dev/alipay.html#%E8%8E%B7%E5%8F%96openid 你可以参考一下下面的代码

// 本地启动的项目端口是5000 使用switchHosts设置域名访问
export function getAlipayOpenId(appId, code) {
return get(`http://liumeng.xin:5000/user/zhifubao`, { appId, code })
// return get(`${API_PREFIX}/openId/get/alipay`, { appId, code })
}
// 后端代码 在这里我只是打印了小程序接口返回的信息,你可以根据需求自己进行修改
const AlipaySdk = require('alipay-sdk').default
router.get('/zhifubao',function(req,res,next){
const appId = req.query.appId
const code = req.query.code
// filename:本地存放私钥的文件
const filename = path.join(__dirname,'./siyao.txt')
if (!appId || !code) {
new Result('获取openId失败')
} else {
const alipaySdk = new AlipaySdk({
appId,
privateKey: fs.readFileSync(filename, 'ascii')
})
alipaySdk.exec('alipay.system.oauth.token', {
grantType: 'authorization_code',
code,
refreshToken: 'token'
}).then(result => {
if (result) {
console.log('alipay', result)
} else {
new Result( '获取openId失败')
}
}).catch(err => {
new Result( '获取openId失败')
})
}
})

// 返回的信息

//img1.sycdn.imooc.com/szimg/5f0ea9fa093b3a8d10000290.jpg

,如果不能解决你的问题,可以继续追问。



0
0

慕粉15201527929

提问者

2020-07-15

//img1.sycdn.imooc.com/szimg/5f0e8329097aca6512100482.jpg

//img.mukewang.com/szimg/5f0e8329097c9e6f16980702.jpg      现在又这样


0
0

扬_灵

2020-07-15

同学你好,这个报错是因为验签出错,建议检查签名字符串或签名私钥与应用公钥是否匹配。如果不能解决你的问题,可以继续追问。

0
1
慕粉15201527929
你看一下,不能发图片,我只能在添加回答里面回复你了
2020-07-15
共1条回复

零基础入门 实战mpvue2.0多端小程序框架

mpvue,一套代码搞定多个平台小程序,前端更易上手

819 学习 · 647 问题

查看课程