java - 无法通过其他手机的 NFC 读卡器读取 Google Pay Pass Activity 卡

标签 java android kotlin nfc google-pay

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

但他们都只能通过扫描条形码添加新票,而不能通过 NFC 触摸。我尝试在 Google Pay 应用中打开票证并通过另一部手机的 NFC 读卡器读取它,但没有收到有关票证的任何信息,即使我打开所需的卡,我也总是收到默认信用卡信息。

所以我的问题是,是否可以通过另一部手机的 NFC 读取 Google Pay Pass Activity 门票,如下图所示?

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

最佳答案

是的,这是可能的。

对于 Google Pay 发行的通行证,该通行证必须保存到 google pay在移动设备上并且通过类的必须设置为 enable smart tap并且通行证本身必须具有 smartTapRedemptionValue field设置如下:

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

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

passs 类还有 field redemptionIssuers 可以指定哪个终端的collector id可以兑换。

为了落实Smart Tap Protocol您可以通过 form 请求访问受 NDA 保护的文档其中详细介绍了如何配置充当终端的设备来读取通行证。

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

关于java - 无法通过其他手机的 NFC 读卡器读取 Google Pay Pass Activity 卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61997792/

相关文章:

java - 将 Android 输入移植到 Java 桌面应用程序

java - 如何从异步任务中的 JSON 查询返回多个字符串?

android - 模拟方法不从测试局部变量返回值

spring-boot - 协程解决之前的响应,kotlin

android - java.security.NoSuchAlgorithmException : no such algorithm: ECDSA for provider BC

java - 作为批量依赖的 Maven 聚合模块

java - tomcat的ThreadLocalLeakPreventionListener到底是做什么的?

android - "the item you were attempting to purchase could not be found"按照说明操作后

java - 如何在类里面成功回调时调用 toast 消息

java - 如果多次检查正确的单选按钮,则停止分数增加