1***@qq.com
1***@qq.com
  • 发布:2019-06-04 15:34
  • 更新:2019-06-04 15:34
  • 阅读:8242

uniapp app 端调微信支付接口

分类:uni-app

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 了
    在这里插入图片描述

0 关注 分享

要回复文章请先登录注册