gpt4 book ai didi

android - 通过 Google Play 服务 API 将成员(member)卡添加到 Google Pay

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:40:24 25 4
gpt4 key购买 nike

我在使用 google play services api 将成员(member)卡添加到 google pay 应用程序时遇到问题。我在收到谷歌支付请求后得到了帐户验证,但我收到了 400 条日志。

找不到问题所在...

下面的代码是按照本指南编写的:

https://developers.google.com/pay/passes/guides/get-started/implementing-the-api/save-to-google-pay#from-native-android-app

https://developers.google.com/pay/passes/guides/overview/basics/typical-api-flow

附上代码(看评论,很重要)

// is 9999999
val userId : String = usr.idUser.toString()
// value is "John Snow"
val fullname : String = usr.fullname
// ISSUER_ID - is numeric value from console

val wob = LoyaltyWalletObject.newBuilder()
// the class id has similar name. All characters has been replaced with 'x' character
.setClassId("$ISSUER_ID.xxxx.xxx.xxxxxxxxxxxx.xxxxxxxxxx")
// similar to comment from method setClassId
.setId("$ISSUER_ID.xxxx.xxx.xxxxxxxxxxxx.xxxxxxxxxx.$userId")
.setState(WalletObjectsConstants.State.ACTIVE)
// id of user in app
.setAccountId(userId)
// name of user in app
.setAccountName(fullname)
// from console - "Issuer" = Loyalty
.setIssuerName("Loyalty")
// from console - "Program Name" = Loyalty card
.setProgramName("Loyalty card")
// barcode type from docs
.setBarcodeType("code128")
// card 16 digits card number
.setBarcodeValue("1234567890123456")
// formatter card number
.setBarcodeAlternateText("1234 5678 9012 3456")
// url on web resources
.addLinksModuleDataUris(uris)
.build()

val request = CreateWalletObjectsRequest.newBuilder()
.setLoyaltyWalletObject(wob)
.build()

val opts = Wallet.WalletOptions.Builder()
.setTheme(WalletConstants.THEME_LIGHT)
.setEnvironment(WalletConstants.ENVIRONMENT_PRODUCTION)
.build()

val client = Wallet.getWalletObjectsClient(activity, opts)
val task = client.createWalletObjects(request)
AutoResolveHelper.resolveTask(task,activity,UIRequestCode.RC_GPAY)

日志:

E: [13290] BasicNetwork.performRequest: Unexpected response code 400 for https://wallet.google.com/payments/apis/instantbuy/android/v1/createWalletObjects
E: Exception sending Volley request
java.util.concurrent.ExecutionException: com.android.volley.ClientError
at com.android.volley.toolbox.RequestFuture.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):4)
at com.android.volley.toolbox.RequestFuture.get(:com.google.android.gms@14574021@14.5.74 (040408-219897028):1)
at atew.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):29)
at atew.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):25)
at atyd.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):8)
at atxx.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):16)
at atof.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):4)
at atxw.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):4)
at atyg.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):2)
at atxq.a(Unknown Source:2)
at atxu.a(Unknown Source:19)
at xrb.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):3)
at cpb.onTransact(:com.google.android.gms@14574021@14.5.74 (040408-219897028):4)
at atxq.onTransact(:com.google.android.gms@14574021@14.5.74 (040408-219897028):1)
at android.os.Binder.transact(Binder.java:627)
at dry.onTransact(:com.google.android.gms@14574021@14.5.74 (040408-219897028):3)
at android.os.Binder.execTransact(Binder.java:697)
Caused by: com.android.volley.ClientError
at com.android.volley.toolbox.BasicNetwork.performRequest(:com.google.android.gms@14574021@14.5.74 (040408-219897028):49)
at qni.performRequest(:com.google.android.gms@14574021@14.5.74 (040408-219897028):13)
at com.android.volley.NetworkDispatcher.a(:com.google.android.gms@14574021@14.5.74 (040408-219897028):6)
at com.android.volley.NetworkDispatcher.run(:com.google.android.gms@14574021@14.5.74 (040408-219897028):2)
E: Unknown ServerResponse type=1

Github 问题:https://github.com/google-pay/s2gp-quickstart-android/issues/4(示例代码,Google passes API 团队尚未更新的 passes API 开发人员指南)

最佳答案

Your app needs to be whitelisted by the Google Pay team. Yes, is very important, but...

我向 Google Pay 团队发送了我发布的 SHA1 指纹 (https://developers.google.com/pay/passes/guides/get-started/basic-setup/native-android-sdk)。之后,当直接从 apk 文件安装应用程序时,一切都开始正常工作(当点击“添加到 GPay”-> 成员(member)卡添加到 Google Pay 时)!

但是上传到Play Market时还是不行(

经过艰苦的研究...)

解决方法:SHA1 指纹需要从“Google Play Console > Release Management > App Signing > App signing certificate”获取

关于android - 通过 Google Play 服务 API 将成员(member)卡添加到 Google Pay,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53320259/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com