我正在尝试在 Android 上为自定义商家实现原生的 google Pay 付款请求,但我收到此错误:
此商家未启用 Google Pay
。
当我试图解决抛出的异常时,我发现了这个:
com.google.android.gms.common.api.ResolvableApiException: 6: BuyFlow UI needs to be shown.
at com.google.android.gms.common.internal.ApiExceptionUtil.fromStatus(Unknown Source:3)
at com.google.android.gms.wallet.AutoResolveHelper.zza(com.google.android.gms:play-services-wallet@@18.0.0:18)
at com.google.android.gms.internal.wallet.zzy.zza(com.google.android.gms:play-services-wallet@@18.0.0:4)
at com.google.android.gms.internal.wallet.zzt.dispatchTransaction(com.google.android.gms:play-services-wallet@@18.0.0:63)
at com.google.android.gms.internal.wallet.zza.onTransact(com.google.android.gms:play-services-wallet@@18.0.0:13)
at android.os.Binder.execTransact(Binder.java:731)
我的请求是这样的:
{
"apiVersion":2,
"apiVersionMinor":0,
"allowedPaymentMethods":[
{
"type":"CARD",
"parameters":{
"allowedAuthMethods":[
"PAN_ONLY",
"CRYPTOGRAM_3DS"
],
"allowedCardNetworks":[
"AMEX",
"MASTERCARD",
"VISA"
]
},
"tokenizationSpecification":{
"type":"PAYMENT_GATEWAY",
"parameters":{
"gateway":"gateway",
"gatewayMerchantId":"124185"
}
}
}
],
"transactionInfo":{
"currencyCode":"PLN",
"totalPriceStatus":"FINAL",
"totalPrice":"2.00"
},
"merchantInfo":{
"merchantId":"9876143410",
"merchantName":"Test Merchant",
"merchantOrigin":"localhost"
}
}
问题是我使用的是测试环境,所以我根本不明白为什么要显示此消息。
最佳答案
我认为您可能需要与 Google 达成协议(protocol)才能启用。 我的猜测是,如果您不同意进行(这可能会释放测试机会),您可能也不会在测试方面取得进展。
从逻辑上讲,他们没有您的测试组织/PSP 提供商的条目,因此他们不知道如何处理给定的数据。为此,谷歌已准备好测试 PSP。
如果你想被谷歌确认为 PSP,我敢打赌你必须在他们那里注册,然后你可能会获得在谷歌和你的组织之间实现服务所需的所有信息。
尝试访问以下链接: https://developers.google.com/pay/api#participating-processors
找到“Participating processors”段落并在 PSP 部分选择“fill out an onboarding request”。
完成该过程后,您可能会获得更多有关必须完成的工作的线索。
关于android - 此商家未在测试环境中启用 Google Pay,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59155390/