【问题标题】:This merchant is not enabled for Google Pay on Test environment此商家未启用 Google Pay on Test 环境
【发布时间】:2019-12-03 10:50:27
【问题描述】:

我正在尝试在 Android 上为自定义商家实现原生的 google pay 付款请求,但收到此错误:

This merchant is not enabled for 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"
   }
}

问题是我使用的是 TEST 环境,所以我根本不明白为什么应该显示此消息。

【问题讨论】:

  • 此消息是否以红色显示,并带有手机中的 gmail id?如果是,则您已将真实卡添加到您的 gmail 并重试付款。
  • 不,不是......
  • 您是否尝试将真实卡添加到 gmail 帐户?
  • 我已将真实卡添加到 gmail 帐户。与客户端无关。
  • @ErnestZamelczyk 尝试删除日志中的过滤器并找到与钱包相关的内容,我的 tokenizationSpecification 错误

标签: android google-pay


【解决方案1】:

我认为您可能需要与 Google 达成协议才能启用。 我的猜测是,如果您不同意继续进行测试,您可能也无法进行测试(这可能会释放测试机会)。

从逻辑上讲,他们没有您的测试组织/PSP 提供商的条目,因此他们不知道如何处理给定的数据。出于这个原因,谷歌已经准备好测试 PSP。

如果你想被谷歌确认为 PSP,我敢打赌你必须向他们注册,然后你可能会获得在谷歌和你的组织之间实施服​​务所需的所有信息。

尝试点击以下链接: https://developers.google.com/pay/api#participating-processors

在 PSP 部分找到“参与的处理器”段落并选择“填写入职请求”。

完成整个过程后,您可能会获得更多关于必须做什么的线索。

【讨论】:

  • 测试集成不需要这个。
  • 我认为确实需要合法的商人。因为那些商家提供了自己的测试环境。并且基于谷歌示例,它必须是列表中的一个。即使在测试环境中,谷歌支付 API 在生成令牌之前也会连接到商家。所以它必须是合法的,否则谷歌即使是为了测试也不知道如何处理数据。当我在测试环境中时,我会在它返回令牌之前看到谷歌的请求。
  • 不,商家可以是 Google Pay 测试环境中的任何东西。看看演示:developers.google.com/pay/api/web/guides/resources/…。与{ merchantName: 'Example Merchant' } 一起使用。 Google Pay 在测试时不提供模拟响应。
  • 那么它必须有特定的 json 参数:type: 'PAYMENT_GATEWAY', parameters: { 'gateway': 'example', 'gatewayMerchantId': 'exampleGatewayMerchantId' }
猜你喜欢
  • 2019-03-13
  • 2020-03-09
  • 2020-07-14
  • 2020-01-03
  • 1970-01-01
  • 1970-01-01
  • 2017-01-25
  • 1970-01-01
  • 2012-11-29
相关资源
最近更新 更多