欢迎使用涨米从第一个项目开始
项目代表你正在开发的一款产品。创建后,再连接鸿蒙应用并从华为导入商品。
- 1
创建项目并连接鸿蒙应用沿用项目名称,只需填写华为应用编号
- 2
选择订单验证密钥选择已有配置,或为其他开发者账号添加新配置
- 3
配置事件通知把保存后生成的地址填写到华为后台
- 4
导入并设置商品填写 API 客户端 ID 与密钥
快速开始从零接入华为内购
按照后台实际顺序,依次完成项目与应用、订单验证、事件通知、商品导入和权益设置。完成当前步骤后再进入下一步。
开始前需要准备
涨米不会要求你一次填写所有密钥。准备好下面三项,就可以从第一步开始。
- 已完成认证的华为开发者账号数字商品需要先开通商户服务,并签署华为数字商品及联运服务协议。
- 一个已创建的 HarmonyOS 应用在 AppGallery Connect 中确认要接入的项目和应用。
- 能够管理 Connect API 和内购的权限权限不足时可能看不到 API 客户端、服务端密钥或事件通知设置。
全程需要的 4 项信息
前两项来自华为内购服务,第三项来自 Connect API,第四项由涨米生成。它们的用途不同,不能混用。
华为应用编号(App ID)用于确认应用、商品和订单归属。
可复用的 IAP 密钥配置包含 Issuer ID、Key ID 与私钥文件;同一华为开发者账号只需添加一次。
API 客户端连接包含客户端 ID 与密钥两个字符串,只用于读取商品目录。
涨米通知地址保存应用后自动生成,再复制到华为后台。
当前不需要 Service Account涨米现有功能不会要求上传 Service Account 的 private.json。商品导入必须使用 API 客户端,订单验证必须使用 IAP 服务端密钥。
第 1 步,共 5 步 · 约 6 分钟找到 App ID 并填写应用身份
先在华为确认应用内购买服务,再从“项目设置”的应用信息中复制 App ID。请不要使用包名或 OAuth 2.0 客户端 ID 代替。
1. 在华为确认应用内购买服务
开发与服务选择项目和应用盈利应用内购买服务
- 1
选择将要接入涨米的 HarmonyOS 应用同一开发者账号下可能有多个项目和应用,先核对应用名称与包名,避免复制到其他应用的 App ID。
- 2
开通应用内购买服务只做测试可按华为页面提示开通沙盒调测;正式销售数字商品还需要开通商户服务并完成相关协议。
华为后台实图 · 应用和账号信息已模糊处理查看华为官方说明
2. 在华为找到并复制 App ID
开发与服务选择项目项目设置常规应用
- 1
进入应用所在的项目从“开发与服务”的项目列表进入项目,先核对项目名称和目标 HarmonyOS 应用,避免读取到同一账号下的其他应用。
- 2
打开“项目设置 → 常规”在页面的“应用”区域找到目标应用;如果项目下有多个应用,请再次核对应用名称和包名。
- 3
复制标号 1 所在行的“APP ID”点击 APP ID 右侧的复制图标并完整复制。不要复制上方的“包名”,也不要复制标号 2 的“OAuth 2.0 客户端 ID(凭据)”。
华为后台实图 · 只复制红色标号 1 的 APP ID查看华为官方说明
3. 在涨米创建项目并粘贴 App ID
- 1
点击项目切换器中的“创建新项目”项目名称使用产品名称即可。一个项目代表一款产品,用户、权益、商品组合和分析都按项目隔离。
- 2
确认应用名称与项目名称一致应用名称由涨米自动使用项目名称,不需要再次填写。“鸿蒙”会作为独立的平台标识显示在名称下方和应用选择器中。
- 3
把刚复制的 APP ID 粘贴到“华为应用编号(App ID)”粘贴后检查首尾没有空格。该值负责把华为商品、订单和通知归到当前涨米应用。
- 4
先不要点击保存继续向下填写同一表单中的“服务端订单验证”,第 2 步结束时再一次保存整个应用。
无需选择沙盒或生产环境涨米从华为验签后的订单与通知中识别环境,应用设置中无需手动指定订单环境。页面顶部的生产/沙盒开关仅筛选后台交易数据。
本步完成标志涨米项目已经创建;应用沿用项目名称并标记为“鸿蒙”,华为应用编号(App ID)已经填写,但应用暂未保存。
第 2 步,共 5 步 · 约 5 分钟选择或添加 IAP 密钥配置
同一华为开发者账号下的多个应用共用 IAP 密钥。先选择涨米中已有的密钥配置;只有当前项目属于另一个华为开发者账号时,才需要添加新密钥。
1. 先检查涨米中是否已有对应密钥
- 1
打开应用设置中的“服务端订单验证”展开“华为 IAP 密钥配置”,点击“选择密钥”。
- 2
核对 Issuer ID、Key ID 和配置名称如果已有当前华为开发者账号的配置,直接选择它。Issuer ID 应与开发者账号一致,Key ID 必须对应已上传的私钥文件。
- 3
已有配置时直接选择并保存选择对应配置后保存应用,订单验证会自动启用,然后跳到下一步。无需再次进入华为创建或下载密钥。
不同开发者账号不会被强制共用列表只是当前涨米工作区内的备选项。项目属于另一个华为开发者账号时,请添加新的密钥配置。
2. 没有对应配置时,再到华为准备密钥
开发与服务选择同一应用盈利应用内购买服务服务端密钥管理
- 1
向下滚动到“服务端密钥管理”先复制密钥列表上方的 Issuer ID。它属于当前华为开发者账号,同一账号下的不同应用共用;它不是 App ID,也不是 API 客户端 ID。
- 2
确认是否仍保留现有密钥文件如果本地安全存储中保留了列表内某个密钥的文件,可以直接使用该行的 Key ID;没有文件时再点击“创建密钥”。
- 3
需要新建时点击右侧“创建密钥”密钥名称只能使用字母、数字和下划线,最长 50 个字符,例如 zhangmi_server,然后点击“生成”。
- 4
复制新密钥所在行的“密钥 ID”这个值对应涨米的“密钥编号”。请从同一行复制,避免与已有密钥混淆。
- 5
点击该行“下载密钥”确认弹窗后立即下载并安全保存。华为私钥只允许下载一次;如果遗失,需要创建新密钥。
华为后台实图 · Issuer ID 在列表上方,Key ID 在“密钥 ID”列查看密钥官方说明
华为后台实图 · 输入密钥名称后点击“生成”查看创建密钥说明
华为后台实图 · 私钥只能下载一次查看下载密钥说明
3. 回到涨米添加密钥配置
- 选择密钥
- 如果列表中已有当前华为开发者账号的密钥,直接选择;Issuer ID、Key ID 和私钥会由这个账号下的不同应用共用。
- 添加新的密钥配置
- 只有列表中没有对应开发者账号时才选择此项,并填写一个容易识别的配置名称。
- 填写并上传
- 填写账号级 Issuer ID、Key ID,再选择或拖入华为下载的私钥文件,无需打开文件。
- 保存并自动启用
- 点击页面底部的“保存应用”,涨米会自动启用服务端订单验证;密钥未选择完整时不能保存。
订单验证密钥与商品导入凭据不能混用IAP 服务端私钥负责查询、确认与验证真实订单;第 4 步的 API 客户端 ID 与密钥只负责读取商品目录。
本步完成标志保存成功后当前应用显示“应用已连接”;重新打开时会显示所选密钥配置名称,不会回显私钥原文。同一账号的新项目可以直接选择它。
第 3 步,共 5 步 · 约 3 分钟配置订单和订阅事件通知
应用保存后,涨米会生成一条带随机唯一标识的 HTTPS 地址。把它填到华为生产环境服务器地址,涨米即可接收两种环境的通知并按验签结果区分。
1. 在涨米复制通知地址
- 1
打开“应用”,进入刚保存的鸿蒙应用向下找到“事件通知”。如果仍显示“保存应用后自动生成”,说明上一步尚未保存成功。
- 2
点击“复制地址”不要手工拼接或修改地址末尾的随机标识;项目和应用改名不会改变这条地址。
2. 在华为打开关键事件通知
开发与服务选择同一应用盈利应用内购买服务事件通知配置
- 1
打开“订单/订阅关键事件通知”开关华为会在购买、续订、关闭自动续订、到期、退款或撤销等关键状态变化时发送通知。
- 2
把涨米地址粘贴到“生产环境服务器地址”并保存“沙盒环境服务器地址”可以留空。华为官方说明:只配置生产地址时,生产与沙盒通知都会发送到该地址。
- 3
发送测试通知并检查涨米记录回到涨米“通知记录”,确认测试通知已出现且状态为“已处理”。如果没有出现,先检查地址是否完整、是否为 HTTPS。
华为后台实图 · 图中未包含真实通知地址查看华为官方说明
不需要在涨米选择环境华为通知与订单包含可验证的环境信息,涨米在验签后自动区分沙盒和生产数据。
本步完成标志华为事件通知开关已开启,生产环境服务器地址已保存,测试通知能在涨米“通知记录”中看到。
第 4 步,共 5 步 · 约 5 分钟创建 API 客户端并导入商品
商品导入需要 API 客户端 ID 和与它配套的密钥。两项内容都在 API 客户端创建完成后由华为直接显示。
1. 在华为找到 API 客户端入口
用户与访问API 密钥Connect APIAPI 客户端创建
华为后台实图 · 选择“API 客户端”页签后点击“创建”查看 PMS 官方说明
2. 按最小权限创建 API 客户端
- 1
名称填写便于识别的名称,例如 zhangmi_catalog。
- 2
“项目”选择当前应用所属的华为项目不要保留为 N/A。API 客户端需要绑定实际项目,否则调用 PMS 接口时可能返回权限错误。
- 3
角色只选择“运营”PMS v2 商品查询接口允许运营角色调用,这是当前可用角色中权限较小的一项;不要额外添加 APP 管理员、管理员、开发、财务、客服或法务角色。
- 4
创建后立即复制客户端 ID 与密钥华为会直接显示这两个字符串,不会为 Connect API 的 API 客户端下载密钥文件。请分别复制到安全位置。
华为后台实图 · 图中的 N/A 是未选择状态,实际使用时需选择当前应用所属项目查看 PMS v2 商品查询接口
这里不能改用 Service Account华为的通用 Connect API 鉴权指南推荐 Service Account,但 HarmonyOS 5.0 及以上 PMS v2 商品查询接口目前只列出 API Client 与 OAuth Client。涨米使用无需用户交互的 API Client;Service Account 的 private.json 不能用于本步商品导入。
客户端 ID 与密钥必须来自同一个 API 客户端不要填写项目设置中的 OAuth 2.0 客户端凭据,也不要使用 Server SDK 的 agc-apiclient JSON 配置文件。
权限由华为角色控制,实际调用仍保持只读即使华为内置角色包含更多商品权限,涨米服务端也只实现商品列表查询接口,不包含商品创建、修改、上下架或促销写入能力。
3. 在应用设置中选择或添加商品导入连接
其他项目已保存过连接时,可直接在“选择商品导入连接”中选用,无需再次填写密钥。请确认该客户端有权读取当前华为应用;保存后各应用可独立修改。没有可用连接时,按以下步骤添加。
- 1
打开“项目设置 → 应用”并进入刚才的鸿蒙应用在“商品导入连接”中确认平台和华为 App ID,再配置当前应用的目录连接。
- 2
先填写 API 客户端 ID把华为后台显示的客户端 ID 完整粘贴到第一个输入框,不要填写 App ID、Issuer ID 或 Key ID。
- 3
再填写同一 API 客户端的密钥把华为创建完成页面显示的密钥完整粘贴到下方密码输入框,不要填写 Service Account 私钥或 IAP 服务端私钥。
- 4
点击“保存导入配置”保存成功后密钥会加密存储且不再回显;以后不更换 API 客户端时,密钥输入框留空即可。
- 5
回到“商品”页面并点击“立即导入”商品编号、名称、类型、价格和币种从华为同步。重复导入会更新现有记录,不会制造重复商品。
API 客户端密钥不能用于订单验证它只负责读取商品目录;订单验证仍使用第 2 步配置的 Issuer ID、Key ID 和 IAP 服务端私钥。
本步完成标志应用设置显示“只读商品目录已连接”;回到商品页点击导入后,表格中出现华为商品。
第 5 步,共 5 步 · 约 6 分钟设置商品、权益和商品组合
目录结构为“商品(Products)→ 权益(Entitlements)→ 商品组合(Offerings)与套餐项(Packages)”。商品来自商店,权益负责授权,商品组合决定前端展示。
1. 先在华为确认要导入的商品
APP 与元服务选择应用运营产品运营商品管理商品列表
- 1
确认页面顶部显示的是目标应用商品列表按华为应用区分。如果应用选错,涨米使用当前 App ID 导入时将得不到这张列表中的商品。
- 2
核对商品 ID、类型、价格和状态这些字段将从华为读取。发现错误时请在华为后台修改,再回涨米重新导入;涨米不允许手工创建华为商品。
- 3
确认需要销售的商品已经生效草稿、未提交或未满足华为发布条件的商品,可能不会出现在可读取的目录中。
华为后台实图 · 商品来源位于“运营 → 产品运营 → 商品管理”查看商品管理说明
2. 回到涨米检查导入商品
- 1
核对华为同步字段商品编号、名称、类型、价格和币种只读,以华为商品详情为准。下图展示了华为这些字段所在的位置。
- 2
为非续期订阅设置权益周期点击该商品右侧“设置周期”,选择 1 周、1/2/3/6 个月、1/2 年或永久。华为目录目前不返回涨米需要的权益时长,因此必须在涨米补充。
- 3
理解商品状态商品是否上架由华为商店状态决定,涨米不再设置第二个启用开关。商品下架后,涨米仍会保留映射并正确校验历史订单、续订和退款。
华为后台实图 · 涨米读取商品 ID、类型、名称、销售范围和价格查看字段说明
华为后台实图 · 自动续期商品还会显示续期周期和订阅组查看订阅商品说明
推介促销不在涨米重复创建鸿蒙 SDK 向华为实时查询当前账号的资格与价格;涨米在订单验证后记录实际支付金额和优惠类型。
3. 创建稳定权益(Entitlements)并关联商品
- 1
打开“权益”,点击“创建权益”权益标识用于客户端判断访问权限,例如 premium;确定后应保持稳定,不要把具体商品编号当作权益标识。
- 2
按平台选择可以解锁权益的商品商品会按“鸿蒙、苹果”等平台分组,并显示各自的商品 ID。同一权益可以同时关联多个平台的月度、年度或永久商品。
4. 配置前端展示的商品组合(Offerings)
- 1
打开“商品组合”,点击“创建商品组合”创建一个默认组合并设为“当前商品组合”,客户端会优先获取当前组合。
- 2
添加套餐项(Packages)一个套餐项代表前端中的一个售卖位置,例如 monthly 或 annual。同一个套餐项可以分别关联鸿蒙和苹果的对应商品;SDK 只返回当前平台对应的商品。
- 3
只勾选希望前端展示的商品商品存在于 Products 并不代表必须展示。前端读取当前 Offering 后,只展示其中 Packages 关联的商品;修改组合无需重新发布客户端。
本步完成标志非续期商品已设置周期;至少一个权益已关联商品;至少一个商品组合已设为“当前”,并包含前端需要展示的套餐项。
最终检查
应用显示“应用已连接”,华为测试通知已处理,非续期商品周期完整,商品已关联权益和当前商品组合。全部满足后,服务器端接入配置完成。
正在查看沙盒交易和测试金额,不计入生产收入。用户身份在两种环境间共用。
经营概况最近 28 天 · 当前交易环境
收入—正在读取交易数据有效订阅—当前仍在有效期内交易笔数—所选环境的购买订单退款笔数—退款或撤销的订单
项目资源生产与沙盒共用
完成应用配置后即可导入商品先在项目设置的应用中连接华为商品目录,再到商品页执行导入。
| 订单 / 客户 | 商品 / 应用 | 实付金额 | 交易状态 | 自动续订 | 购买时间 | 到期时间 |
|---|
暂无交易记录可切换环境或调整搜索条件。
华为商店涨米 · 验证与更新你的业务服务器自动发送 · 失败重试 · 签名验证
连接你的业务服务器收到购买、续费、到期和退款通知,自动更新自己的业务。
暂无投递记录保存接收地址后,可以发送测试事件验证连接。
接收端先验签、按事件 ID 去重并持久保存,再返回 HTTP 200。失败会在 5、10、20、40、80 分钟后重试;可在记录中手动重试。查看接入说明 ↗
收入
—所选时间范围
估算 MRR
—当前有效自动续期
交易
0购买订单
有效订阅
0截至今天
购买用户
0所选时间范围
退款
0关闭自动续订 0
还没有可分析的数据完成首笔购买验证后,趋势会显示在这里。
| 用户 | 最近交易 / 续费 | 累计支付 | 交易 / 续费 | 最近商品与优惠 | 购买时间 | 到期时间 | 退款 / 撤销 | 详情 |
|---|
没有符合条件的用户可切换交易环境或调整搜索条件。
华为 AppGallery Connect尚未连接商品目录
还没有导入商品先在应用设置中连接商品目录,再回到这里点击“立即导入”。
还没有商品组合创建当前商品组合并添加套餐项,前端 SDK 才会获得要展示的商品。
还没有应用先添加一个鸿蒙应用,之后可以在同一项目继续添加其他商店应用。
已为多商店预留结构应用设置管理商店身份、订单验证、通知和商品导入连接;商品页只管理导入动作与商品内容。
鸿蒙自动识别订单环境
项目名称
管理商店应用身份、订单验证、事件通知和商品目录连接。
不知道这些信息在哪里?接入指南会按华为后台路径逐步说明,并提供已打码的示意图。
打开接入指南
当前平台还没有通知在对应商店后台填写通知地址后,续订和退款等事件会显示在这里。
项目信息
项目是产品的顶层容器,可包含多个商店应用;用户、权益和分析数据在项目内统一管理。
项目名称—
项目 ID—
初始化鸿蒙 SDK 时使用,由涨米自动生成。