HarmonyOS开发,接入消耗型/非消耗型商品购买的完整必要流程是什么?

HarmonyOS开发,接入消耗型/非消耗型商品购买的完整必要流程是什么?

阅读 189
avatarAI BotBETA

HarmonyOS开发中,接入消耗型/非消耗型商品购买的完整必要流程如下:

一、准备阶段

  1. 配置商品信息

    • 在AppGallery Connect上配置好要出售的商品信息,包括商品ID、商品名称、价格、类型(消耗型或非消耗型)等。
  2. 检查用户环境

    • 应用客户端需要向IAP Kit发送queryEnvironmentStatus请求,判断用户当前登录的华为账号所在的服务地是否在IAP Kit支持结算的国家/地区中(当前仅支持中国大陆)。
    • 如果请求失败,则隐藏相关的IAP功能入口。

二、展示商品阶段

  1. 获取商品信息

    • 应用客户端通过queryProducts接口向IAP Kit发起请求,获取在AppGallery Connect上配置的商品信息。
    • 发起请求时,需在请求参数中携带相关的商品ID,并根据实际配置指定商品类型。
  2. 展示商品列表

    • 应用客户端根据返回的商品信息,向用户展示可供购买的商品列表,包含商品名称、价格等信息。

三、购买流程阶段

  1. 发起购买请求

    • 用户选择商品并发起购买后,应用客户端向IAP Kit发起createPurchase购买请求,请求中携带商品ID、商品类型等信息。
  2. 展示收银台

    • IAP Kit接收到购买请求后,创建订单并展示收银台,收银台展示商品名称、商品价格等信息。
  3. 用户支付

    • 用户在收银台完成支付操作。

四、购买结果确认及权益发放阶段

  1. 接收购买结果

    • 购买成功后,可以通过应用客户端或应用服务器接收购买结果。建议通过应用服务器接收购买结果以提高安全性。
    • 方式一:通过客户端接收购买结果。用户购买成功时,IAP Kit返回包含订单信息的PurchaseData数据。应用客户端向应用服务器上报PurchaseData数据。
    • 方式二:通过服务器接收购买结果。开发者可以接入服务端关键事件通知,在用户购买成功时,IAP服务器将发送订单关键事件通知。应用服务器可以通过服务端订单状态查询接口向IAP服务器查询最新的订单信息,进一步确认订单的准确性。
  2. 解码验签

    • 应用服务器需对接收到的PurchaseData.jwsPurchaseOrder进行解码验签,成功后可得到PurchaseOrderPayload的JSON字符串。
  3. 权益发放

    • 确认购买成功后,应用服务器检查当前PurchaseOrderPayload是否已发放权益,未发放则发放相关权益,并记录对应的订单信息(PurchaseOrderPayload),用于后续检查权益发放状态。
  4. 确认发货

    • 发货成功后,应用客户端(或应用服务器)向IAP Kit发送finishPurchase请求,以此通知IAP服务器更新商品的发货状态,完成购买流程。
    • 对于消耗型商品,IAP服务器会将相应商品重新设置为可购买状态;对于非消耗型商品,用户购买后永久拥有,无法再次购买该商品。

五、异常处理

  • 在实际应用场景中,若出现异常(如网络错误、进程被中止等),可能导致应用无法知道用户实际是否支付成功,从而无法及时发放权益,即出现掉单情况。
  • 为了确保权益发放,应用需要在特定场景(如应用启动时、购买请求返回特定错误码时)检查用户是否存在已购未发货的商品,并进行补发货处理。

以上就是HarmonyOS开发中接入消耗型/非消耗型商品购买的完整必要流程。

1 个回答

在HarmonyOS开发中,接入消耗型商品(如游戏内货币、道具等)和非消耗型商品(如游戏关卡、永久性道具等)的购买流程主要包括以下几个步骤:

  1. 开发者注册及资质审核
    在华为开发者联盟注册账号,并通过实名认证。
    完成开发者资质审核,确保有权利销售商品。
  2. 创建应用并上架
    在华为开发者联盟创建应用,并完成应用的初步开发。
    上传应用并按照要求填写相关信息,通过华为审核后上架。
  3. 配置支付服务
    在华为开发者联盟中配置支付服务,包括设置支付渠道、接入支付SDK等。
  4. 设置商品信息
    在华为开发者联盟中设置商品信息,包括商品类型(消耗型或非消耗型)、价格、描述等。
  5. 接入IAP SDK
    在应用中集成华为IAP(In-App Purchase)SDK。
    根据华为提供的文档和示例代码,实现商品查询、购买、发货等功能的代码。
  6. 实现购买流程
    以下为应用内购买的主要步骤:
  • 商品展示
    在应用内展示商品列表,允许用户选择要购买的商品。
  • 商品查询
    使用IAP SDK提供的API查询商品信息,如价格、描述等。
  • 发起购买请求
    用户选择商品后,应用通过IAP SDK发起购买请求。
  • 用户确认购买
    用户在华为支付界面确认购买,完成支付。
  • 接收购买结果
    应用通过IAP SDK接收购买结果,包括成功、失败或取消等状态。
  • 发货(消耗型商品)
    对于消耗型商品,应用在收到购买成功通知后,通过IAP SDK调用发货接口,将商品发放给用户。
  • 保存购买记录(非消耗型商品)
    对于非消耗型商品,应用不需要发货,但需要保存购买记录,以便用户可以在不同设备间同步商品状态。
  • 测试
    在华为开发者联盟中创建测试账号,进行支付测试。
    确保所有购买流程都能正常工作。
  • 上线及审核
    提交包含支付功能的新版本应用进行审核。
    审核通过后,应用更新上线。
  • 维护与优化
    监控支付流程,确保稳定可靠。
    根据用户反馈和数据分析,优化商品设置和购买体验。
    在整个流程中,开发者需要严格遵守华为的开发者政策和法律法规,确保支付流程的合法性和用户权益的保护。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
logo
HarmonyOS
子站问答
访问
宣传栏