o***@aihuayan.com
o***@aihuayan.com
  • 发布:46 分钟前
  • 更新:45 分钟前
  • 阅读:12

鸿蒙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"}。

46 分钟前 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

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

  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 生成,仅供参考

要回复问题请先登录注册