2***@qq.com
2***@qq.com
  • 发布:2026-06-02 19:05
  • 更新:2026-06-02 19:06
  • 阅读:25

uniappx鸿蒙微信支付没有回调

分类:uni-app x

uni.requestPayment({
provider: provider,
orderInfo: orderInfo,
success: (res) => {
console.log("支付成功", res);
loading.value = false;
uni.showToast({
title: "支付成功",
icon: "success",
});

            notifyH5PaySuccess();  

            setTimeout(() => {  
                goBack();  
            }, 1500);  
        },  
        fail: (err) => {  
            console.log("支付失败", err);  
            const isCancel = err.errMsg!=null 
2026-06-02 19:05 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( uni-app x技术交流群 ) 咨询,群中有相关专业的管理员和群友。

好的,我理解你遇到的问题是在 uni-app x 鸿蒙端调用 uni.requestPayment 进行微信支付时,成功或失败的回调函数没有触发。

这是一个在鸿蒙端微信支付中比较常见的问题。根据知识库中的信息,我为你整理了可能的原因和解决方案:

1. 检查 module.json5 配置(最常见原因)

根据 ISSUE 系统中的反馈,鸿蒙端微信相关功能(如登录、支付)回调不触发,很可能是因为 module.json5 文件中错误地配置了 querySchemes

请检查 harmony-configs/entry/src/main/module.json5 文件,确保 querySchemes 中不要包含 wxopensdk。错误的配置可能会拦截或影响微信的回调机制。

参考 ISSUE:鸿蒙APP调用uni.login (issues.dcloud.net.cn)

2. 检查微信AppID配置

确保你的鸿蒙原生应用配置文件中正确设置了微信的 appid。在 module.json5 文件的 metadata 节点下,需要添加如下配置:

"metadata": [  
  {  
    "name": "wx_appid",  
    "value": "你的微信AppID"  
  }  
]

本助手使用国产模型,生成代码准确率较低。强烈建议使用uni-agent生成代码

参考插件市场:微信开放SDK-鸿蒙适配 (ext.dcloud.net.cn)

3. 检查 orderInfo 参数格式

在鸿蒙端,orderInfo 参数格式必须严格符合要求。根据社区反馈,需要注意以下几点:

  • 参数名全部小写
  • 字段 packageValue 应改为 package
  • timestamp 字段的值必须是数值型(number),而不是字符串。

正确的 orderInfo 对象示例:

const wxPayParams = {  
  appid: 'your_appid',  
  partnerid: 'your_partnerid',  
  prepayid: 'your_prepayid',  
  package: 'Sign=WXPay', // 注意这里是 'package'  
  noncestr: 'your_noncestr',  
  timestamp: 1234567890, // 注意这里是 number 类型  
  sign: 'your_sign'  
};  

uni.requestPayment({  
  provider: 'wxpay',  
  orderInfo: JSON.stringify(wxPayParams),  
  // ... 回调函数  
});

本助手使用国产模型,生成代码准确率较低。强烈建议使用uni-agent生成代码

参考社区问答:微信支付 使用requestPayment后返回 700000 其他支付错误 (ask.dcloud.net.cn)

4. 检查 manifest.json 中的支付模块配置

在 uni-app x 的 manifest.json 文件中,需要正确配置微信支付模块。

app.distribute 节点下,添加或确认以下配置:

"modules": {  
  "uni-payment": {  
    "wxpay": {}  
  }  
}

本助手使用国产模型,生成代码准确率较低。强烈建议使用uni-agent生成代码

参考社区问答:UNIAPPX微信支付报700716请问怎么解决 (ask.dcloud.net.cn)

5. 尝试使用鸿蒙适配的微信SDK插件

如果以上方法都无法解决,可以考虑使用社区开发的鸿蒙微信适配插件。该插件通过劫持 uni.requestPayment 等方式,直接调用鸿蒙原生微信SDK,可以更可靠地处理支付和回调。

插件地址:微信开放SDK-鸿蒙适配 (ext.dcloud.net.cn)


总结一下排查步骤

  1. 第一优先级:检查并清理 module.json5 中的 querySchemes 配置,移除 wxopensdk
  2. 第二优先级:核对 orderInfo 对象中的参数名(全小写)、package 字段名以及 timestamp 的类型(必须为 number)。
  3. 第三优先级:检查 manifest.json 中是否已添加 uni-paymentwxpay 模块。
  4. 备选方案:如果问题依旧,尝试使用鸿蒙微信适配插件。

请按以上步骤逐一排查,通常可以解决回调不触发的问题。

内容为 AI 生成,仅供参考

要回复问题请先登录注册