无法通过另一个 phone 的 NFC reader 读取 Google Pay Pass 活动卡片

Can't read Google Pay Pass event card through another phone's NFC reader

我需要制作一个能够通过 NFC 读取 Google Pay Pass 活动门票的应用程序。但是我找不到任何方法来处理它。我在 Google Play 中看到了一些顶级应用程序,如 PassWallet 和 Passes,它们适用于此类活动门票。

但他们都只能通过扫描条形码添加新票,不能通过 NFC 触摸。我尝试在 Google 支付应用程序中打开一张票,并通过另一个 phone 的 NFC reader 读取它,但没有收到任何关于票的信息,我总是收到我的默认信用卡即使我打开所需的卡也是如此。

所以我的问题是,是否可以通过另一个phone的NFC读取Google Pay Pass活动门票,如下图所示?

如果是,您能否与我分享一些有关如何操作的示例代码?

是的,这是可能的。

对于 Google 支付通行证,通行证必须保存到 google pay on the mobile device and that passes class must be set to enable smart tap and the pass itself must have the smartTapRedemptionValue field 设置如下:

{
 ...
 "smartTapRedemptionValue": "Value to Transmit",
 ...
}

充当终端的设备(读取通行证)必须实现 Smart Tap Protocol 并向移动设备提供收集器 ID 和签名的有效负载以验证终端并发送它可以兑换的通行证。

通行证class还有fieldredemptionIssuers可以指定哪个终端的收款人id可以兑换。

为了实施 Smart Tap Protocol,您可以通过 表单 请求访问受 NDA 保护的文档,其中详细说明了如何配置设备作为终端读取通行证。

还有已经过认证的受支持终端 providers 可用。