鸿蒙开发学习:【华为支付服务客户端案例】

简介

华为应用内支付服务(HUAWEI In-App Purchases)支持3种商品,包括消耗型商品、非消耗型商品和订阅型商品。

  • 消耗商品:仅能使用一次,消耗使用后即刻失效,需再次购买。
  • 非消耗商品:一次性购买,永久拥有,无需消耗。
  • 订阅型商品:用户购买后在一段时间内允许访问增值功能或内容,周期结束后自动续期购买下一期的服务。

本Demo将基于这3种商品来演示华为应用内支付服务的接入过程和功能。

本demo仅演示商品购买过程,并未实际使用购买的商品。

该示例也可以通过HMS Toolkit快速启动运行,且支持各Kit一站式集成,并提供远程真机免费调测等功能。

开发准备

  1. 检查Android Studio开发环境是否准备就绪。如果是,则使用Android Studio打开示例代码工程路径下的build.gradle文件。

  2. 在AppGallery Connect中创建应用并配置应用信息。target=https%3A%2F%2Fdeveloper.huawei.com%2Fconsumer%2Fcn%2Fdoc%2Fdevelopment%2FHMSCore-Guides%2Fconfig-agc-0000001050033072)。

  3. 在AppGallery Connect中添加商品信息。

  4. 在Android Studio中导入demo,再进行构建。

  5. 配置示例代码:

    • 在AppGallery Connect中下载应用的agconnect-services.json文件,把该文件添加至本demo的应用根目录(\app)中。
    • 添加证书文件,在应用级build.gradle文件中添加配置。
    • 修改示例工程中应用级build.gradle文件中的applicationId为您自己的应用包名。
    • 将CipherUtil类中的PUBLIC_KEY替换为创建应用的公钥。获取公钥详情,参考查询支付服务信息。
    • 将本demo中的商品替换为你的商品。
  6. 在Android设备或模拟机上运行该示例代码。

环境要求

  • JDK 1.8及以上版本
  • 安装Android Studio 3.6.1及以上版本

运行结果

Demo运行后,会出现如下页面。

demo home page

购买消耗型商品

以游戏中的gem,演示消耗型商品购买。

  1. 点击Consumable products,可以看到购买消耗型商品的主页。调用obtainProductInfo接口,获取此类商品的详细信息。

    consumable demo page

  2. 点击5 gems,Demo会调用createPurchaseIntent接口,跳转至华为应用内支付收银台。

    consumable payment selection

  3. 付款成功后,Demo会增加用户的钻石数量,然后调用consumeOwnedPurchase接口,通知华为应用内支付服务端用户已完成消耗。

    gem purchase result

    注意:如果付款成功后出现异常(如网络错误或流程终止),Demo将在您重新进入页面时尝试更新钻石数量。(调用obtainOwnedPurchases接口,获取已购消耗型商品的购买数据。调用consumeOwnedPurchase接口,消耗该商品。)

  4. 点击History,Demo会调用obtainOwnedPurchaseRecord接口,获取购买历史。

    consumable purchase history

购买非消耗型商品

Demo以hidden level商品为例,演示非消耗型商品购买。

  1. 点击Non-consumable product,可以看到购买非消耗型商品的主页。调用obtainOwnedPurchases接口,获取非消耗型商品。

  2. 如果你还没购买hidden level,可以看到如下图所示页面。点hidden level,开始购买,步骤和购买消耗型商品一致。

    hidden level not purchased

  3. 购买成功后(或之前已购买hidden level商品),Demo将显示hidden level已经购买。

    hidden level have been purchased

鸿蒙开发知识更新在gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md前往参考。

OpenHarmony高级技能.png

购买订阅型商品

Demo以Service-OneService-Two为订阅群组进行演示,每个订阅组包含2个订阅选项。

  1. 点击Auto-renewable subscription,可以看到订阅型商品的主页。调用obtainOwnedPurchase接口,获取购买的订阅商品信息。用户已订阅的商品将显示为ACTIVE。

    subscription homepage with active subscription

  2. 点击其中一个BUY按钮,Demo将调用createPurchaseIntent接口,开始购买。

    subscription payment selection

    注意:目前订阅商品付款方式仅支持支付宝。

  3. 系统将提示您授权自动扣费协议。购买成功后,华为应用内支付服务将显示购买结果。

    subscription payment selection

  4. 点击Manage Subscription,演示应用将跳转至订阅管理页面。该页面显示所有订阅商品,包括已过期的商品。

    subscription manage

  5. 在订阅管理页面点击Happy Subscribe,可以编辑订阅商品,选择同一订阅组中的其他订阅商品,或点击UNSUBSCRIBE,取消订阅该商品。订阅商品在到期前一直有效。

    edit subscription

鸿蒙开发知识持续更新中,关注我~不迷路

相关推荐

  1. 游戏客户开发

    2024-03-25 00:22:04       24 阅读
  2. Python---案例-多任务版TCP服务程序开发

    2024-03-25 00:22:04       38 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-25 00:22:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-25 00:22:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-25 00:22:04       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-25 00:22:04       20 阅读

热门阅读

  1. 记录一次流相关故障

    2024-03-25 00:22:04       20 阅读
  2. python 画出函数图像

    2024-03-25 00:22:04       19 阅读
  3. 深度学习_相关报错解决方案

    2024-03-25 00:22:04       19 阅读
  4. a为何值是下面代码输出“成立“

    2024-03-25 00:22:04       17 阅读