欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

uniapp app 端调微信支付接口

程序员文章站 2024-01-22 21:44:58
...

uni-app 官方文档支付接口如下:

uni.requestPayment({
    provider: provider, // wxpay、alipay
    orderInfo: 'orderInfo', //微信、支付宝订单数据
    success: function (res) {
        console.log('success:' + JSON.stringify(res));
    },
    fail: function (err) {
        console.log('fail:' + JSON.stringify(err));
    }
});

传送门:uniapp app 端调起支付宝支付接口

文档中 orderInfo 的格式没写清楚,今天刚好在研究支付,发现调起微信支付接口的 orderInfo 可以是对象,也可以是对象字符串,比如:

let obj = {
	appid: 应用ID,
	noncestr: 随机字符串,
	package: 'Sign=WXPay', // 固定值,以微信支付文档为主
	partnerid: 商户号,
	prepayid: 预支付交易会话ID,
	timestamp: 时间戳,
	sign: 签名 // 根据签名算法生成签名
}
// 第一种写法,传对象
let orderInfo = obj
// 第二种写法,传对象字符串
let orderInfo = JSON.stringify(obj)
uni.requestPayment({
    provider: 'wxpay',
    orderInfo: orderInfo, //微信、支付宝订单数据
    success: function (res) {
        console.log('success:' + JSON.stringify(res));
    },
    fail: function (err) {
        console.log('fail:' + JSON.stringify(err));
    }
});

Tips:
当时做项目所传的参数和签名都正确,结果还是返回 -1,查了半天结果用的是 deCloud 的标准定义基座,它的包名跟自己的 app 申请的包不一样,导致不能正常调起微信支付接口,但支付宝的可以。更换自定义基座,填上自己的包名,证书等,然后打包安装运行就 ok 了
uniapp app 端调微信支付接口

相关标签: uniapp 微信支付