推送配置API(TapAndPay lib)返回调用包未验证

Luk*_*lek 6 android android-tap-and-pay

我正在向 google pay 添加一张卡。我下载演示项目并安装演示应用程序。我基本上将代码从该演示复制到我的项目中,但几乎所有函数都会返回错误Calling package not verified。我找不到任何用于包验证的内容。

更新(可能的解决方案):

我在 doc 中找到了如何生成 SHA-256 密钥。

# Function to display your SHA-256
$ keytool -printcert -jarfile my-push-provisioning-app.apk | grep SHA256
Run Code Online (Sandbox Code Playgroud)

并通过文档中的表单将该命令的结果发送给谷歌...我做到了,现在我正在等待一些回复。他们可能需要两周的时间...

我只是想知道他们是否向我发送了一封接受电子邮件或者它是否刚刚开始工作......

arn*_*old 5

对于遇到此问题的人来说没问题...希望这对某人有帮助

com.google.android.gms.common.api.ApiException: 15009: Calling package not verified
Run Code Online (Sandbox Code Playgroud)

15009 是一个错误 https://developers.google.com/pay/issuers/apis/push-provisioning/android/support/troubleshooting#debugging_tapandpay_unavailable_15009_errors

基本上就像它所说的那样,您拥有的 apk 版本并未列入 Google 的推送配置白名单

您需要索取一份表格以允许将其列入白名单

您需要的是获取密钥的 SHA-256 并请求其允许,请点击以下链接了解更多信息: https ://developers.google.com/pay/issuers/apis/push-provisioning/android/allowlist# your_app 的allowlisting_internal_builds_

如果您的构建位于 Playstore 或 google console 中,则它们可以自动获取指纹,因此无需请求...但是如果您有一个从 CI Pipeline 创建的 apk 构建,该管道使用上传密钥而不是应用程序签名密钥,那么你必须使用上传密钥的 Sha-256 手动请求它

这就是为什么对于上面的评论者来说,发布构建对他们有用,因为它自动从谷歌控制台获取SHA-256(应用程序签名密钥)


Yam*_*ion 2

对我来说问题是:

com.google.android.gms.common.api.ApiException: 15009: Calling package not verified
Run Code Online (Sandbox Code Playgroud)

我意识到它只能在debug构建类型上重现。我切换到后release,问题就解决了。