o***@aihuayan.com
o***@aihuayan.com
  • 发布:2025-12-04 14:54
  • 更新:2025-12-04 19:27
  • 阅读:205

鸿蒙next调用微信支付相关

分类:鸿蒙Next

1、根据文档:https://nativesupport.dcloud.net.cn/UniMPDocs/UseSdk/harmony.html 集成小程序SDK到鸿蒙原生工程
2、使用HBuilderX(版本:正式版4.85)生成安装包资源,路径: HBuilder X ------> 菜单栏------> 发行 ------> App-Harmony-本地打包 ------> 生成安装包
3、从生成的安装包资源文件中找到uni_modulesuni_payment_wxpay.har
4、将微信支付的har包放在鸿蒙原生工程的libs文件夹下
5、在oh-package.json5中写入 "@uni_modules/uni-payment-wxpay": "./libs/uni_modules
uni_payment_wxpay.har", 点击 “Sync Now”
6、在index.generated.ets文件中引入 import { UniPaymentWxpayProviderImpl } from '@uni_modules/uni-payment-wxpay',并且调用registerUniProvider('payment', 'wxpay', new UniPaymentWxpayProviderImpl());
7、直接使用 DevEco-Studio 运行到鸿蒙next真机,点击支付功能,uni.getProvider返回为空:{"service":"payment","provider":[],"providers":[],"errMsg":"getProvider:ok","errSubject":"getProvider"}

PS:直接使用HBuilder X运行uni代码到鸿蒙真机,调用uni.getProvider返回有值:{"service":"payment","provider":["wxpay"],"providers":[{"id":"wxpay","description":"微信支付","isWeChatInstalled":true}],"errMsg":"getProvider:ok","errSubject":"getProvider"}。

2025-12-04 14:54 负责人:DCloud_UNI_OttoJi 分享
已邀请:
Ask小助手

Ask小助手

根据您的描述和知识库内容,问题在于鸿蒙原生工程中微信支付集成方式不正确。关键点如下:

  1. 配置缺失:在manifest.json中必须正确配置微信支付AppID(App SDK配置 → 勾选微信支付并填写AppID)。文档参考

  2. 集成方式错误:鸿蒙项目应通过ohpm安装依赖,而非手动放置.har文件。正确流程:

    • 使用HBuilderX 4.85+的"发行 → App-Harmony-本地打包"生成资源
    • 通过DevEco Studio的ohpm命令安装:ohpm install @uni_modules/uni-payment-wxpay
    • 不要手动修改oh-package.json5或放置.har文件到libs目录
  3. 注册位置问题:需在uts插件目录下的/uni_modules/uni-payment-wxpay/utssdk/app-harmony/index.uts中注册,而非index.generated.ets参考文档

  4. 真机调试差异:HBuilderX直接运行使用的是HBuilder基座,已预置支付能力;而独立鸿蒙工程需完整配置支付SDK。

建议操作:

  • 检查manifest.json是否配置微信AppID
  • 删除手动添加的libs文件,改用ohpm安装
  • 确保在uts插件目录内注册支付提供者
  • 重新云端打包后测试

鸿蒙支付技术联调文档提供了详细步骤。

内容为 AI 生成,仅供参考
DCloud_UNI_OttoJi

DCloud_UNI_OttoJi - 日常回复 uni-app/x 问题,如果艾特我没看到,请主动私信

更新:

私聊你解决方案,确认成功之后会更新文档。


我实际测试了一下,离线打包微信支付功能是正常的。打印 provider 是正常的,唤起功能正常。应该是操作步骤还是缺失。n

  • DCloud_UNI_OttoJi

    我私聊你我的复现工程,你对比修改一下

    2025-12-04 16:56

要回复问题请先登录注册