6***@qq.com
6***@qq.com
  • 发布:2025-04-25 11:16
  • 更新:2025-04-25 11:16
  • 阅读:564

【报Bug】安卓离线打包微信支付问题

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 15.3.2

HBuilderX类型: 正式

HBuilderX版本号: 4.57

手机系统: Android

手机系统版本号: Android 10

手机厂商: OPPO

手机机型: OPPO R11

页面类型: vue

vue版本: vue3

打包方式: 离线

项目创建方式: HBuilderX

App下载地址或H5⽹址: https://www.pgyer.com/Ci65K3

示例代码:
async function weixinAppPay(option) {  
    loadingPay.value = true  
    let orderInfo = await getOrderInfoMini(option.entryNum)  
    if (!orderInfo) {  
        option.fail && option.fail('获取支付信息失败')  
        return  
    }  
    console.log('--------orderInfo--------')  
    console.log(orderInfo)  
    uni.requestPayment({  
        provider: 'wxpay',  
        orderInfo: {  
            "appid" : orderInfo.appid,  
            "partnerid": orderInfo.partnerid,  
            "prepayid": orderInfo.prepayid,  
            "package" : orderInfo.package,  
            "noncestr": orderInfo.noncestr,  
            "timestamp" : orderInfo.timestamp,  
            "sign": orderInfo.sign  
        },  
        success: e => {  
            option.success && option.success(e)  
        },  
        fail: res => {  
            option.fail && option.fail(res.errMsg || '支付失败!')  
        },  
        complete: () => {  
            loadingPay.value = false  
        }  
    })  
}

操作步骤:

1、如代码中,组织app支付参数,
2、调用uni.requestPayment统一支付API
3、此方法直接回调结果,success: e => {
option.success && option.success(e)
},
4、在3的步骤中我还没在手机上选择微信(因为微信有分身),便直接回调结果了

预期结果:

当我选择完具体的微信,并输入密码后才应该走成功回调

实际结果:

还没有选择微信,只是调用uni.requestPayment 此方法,成功回调已经执行

bug描述:

安卓端微信支付调用uni.requestPayment后,直接走了支付成功回调,回调结果如下:
{'channel":(id":"wxpay""description""微
信",serviceReady":true), errMsg"""requestPayment:ok"),
此时因为本身安卓机有微信分身,还没有选择具体使用哪个微信支付,也没输入支付密码,怎么就直接走支付成功回调呢?

使用环境:
离线打包,
JDK17,
compileSdk 35,
buildToolsVersion '35.0.0'

附件有视频,操作过程,没有选择微信支付,但支付统一 接口uni.requestPayment 就有成功回调。

2025-04-25 11:16 负责人:无 分享
已邀请:

要回复问题请先登录注册