You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Android Pay创建LoyaltyWalletObject所需的各类ID参数?

如何获取Android Pay会员卡LoyaltyWalletObject所需的ISSUER_ID、LOYALTY_CLASS_ID和LOYALTY_OBJECT_ID?

我希望将应用中已有的会员卡保存至Android Pay。在创建LoyaltyWalletObject时,代码如下:

LoyaltyWalletObject wob = LoyaltyWalletObject.newBuilder()
    .setClassId(ISSUER_ID +"." + LOYALTY_CLASS_ID)
    .setId(ISSUER_ID +"." + LOYALTY_OBJECT_ID)
    .setState(WalletObjectsConstants.State.ACTIVE)
    .setAccountId(userPreferences.getAccountId())
    .setIssuerName("Baconrista")
    .setProgramName("Baconrista Rewards")
    .build();

我需要传入ISSUER_ID、LOYALTY_CLASS_ID和LOYALTY_OBJECT_ID这三个参数,请问该从何处获取这些值?我已查阅Android Pay文档,但觉得难以理解。我仅需实现会员卡保存功能,无需处理支付交易。感谢解答。

别担心,这几个ID其实都需要在Google Pay & Wallet Console(原Wallet Merchant Center)里配置或生成,我给你逐个拆解清楚:

1. ISSUER_ID(发行方ID)

这是Google给你的商家账号分配的唯一身份标识,相当于你在Google Pay体系里的"入场凭证"。获取步骤很简单:

  • 登录Google Pay & Wallet Console,注册成为卡片发行方(注意:你只需要开通Wallet Objects相关权限,不需要申请支付交易权限)
  • 完成账号注册和身份验证后,在控制台的「Settings」或「Issuer Info」页面就能找到你的ISSUER_ID,它是一串纯数字。

2. LOYALTY_CLASS_ID(会员卡类别ID)

这个ID用来定义同一种会员卡的模板——比如你所有的「Baconrista Rewards」会员卡都属于同一个类别。创建和获取方式:

  • 在控制台里找到「Loyalty Classes」(会员卡类别)选项
  • 新建一个类别,填写商家名称、会员卡名称(对应你代码里的"Baconrista Rewards")、积分规则等基础信息
  • 创建完成后,你可以自定义LOYALTY_CLASS_ID(比如用baconrista_rewards这种好记的字符串),也可以用系统自动生成的ID。注意Class ID的完整格式是ISSUER_ID.自定义ID,不过你代码里已经用ISSUER_ID做拼接了,所以这里只需要填自定义的部分就行。

3. LOYALTY_OBJECT_ID(会员卡实例ID)

这个是每张用户会员卡的唯一标识——因为每个用户的会员卡都是独立的(对应不同的accountId)。这个ID完全由你自己定义,只要满足两个要求:

  • 完整格式是ISSUER_ID.自定义唯一字符串
  • 自定义部分要保证每个用户的卡片不重复,比如可以直接用用户的账号ID(就是你代码里的userPreferences.getAccountId()),或者拼接UUID、时间戳之类的唯一值。举个例子,如果用户的accountId是user_12345,那OBJECT_ID可以设为ISSUER_ID + ".user_12345",这样就能确保每张卡片都独一无二。

额外提一句:测试阶段你可以直接在控制台手动创建Class,然后在代码里生成对应的Object关联到这个Class;正式环境可能需要调用Google Wallet的API来批量创建Class和Object,但核心逻辑都是先拿到这三个ID,再确保Object ID的唯一性。

内容的提问来源于stack exchange,提问作者justmee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:15:37