首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google支付错误:请求失败-开发人员意外错误,请稍后再试。

Google支付错误:请求失败-开发人员意外错误,请稍后再试。
EN

Stack Overflow用户
提问于 2018-12-28 05:05:32
回答 4查看 8.7K关注 0票数 4

当我尝试在一个真正的设备上使用Google支付(在测试环境上)时,我会得到标题中的错误。

我试着把“网关”转换成一个字符串,就像google文档显示的那样,但到目前为止还没有。

代码语言:javascript
复制
const DETAILS = {
id: 'COMPANY',
displayItems: [
  {
    label: 'Phone Bill',
    amount: { currency: 'USD', value: compTotal }
  }
],
total: {
  label: 'COMPANY',
  amount: { currency: 'USD', value: compTotal }
}
};

// GOOGLE PAY
const METHOD_DATA = [{
  supportedMethods: ['android-pay'],
  data: {
    supportedNetworks: ['visa', 'mastercard', 'amex'],
    currencyCode: 'USD',
    environment: 'TEST', // defaults to production
    paymentMethodTokenizationParameters: {
      tokenizationType: 'GATEWAY_TOKEN',
      parameters: {
        gateway: 'braintree',
        'braintree:tokenizationKey': 'sandbox_XXXXXXXXXXX'
      }
    }
  }
}];

const paymentRequest = new PaymentRequest(METHOD_DATA, DETAILS);

paymentRequest.show()
.then(paymentResponse => {
  const { getPaymentToken } = paymentResponse.details;

  return getPaymentToken()
    .then(paymentToken => {
      const { ephemeralPublicKey, encryptedMessage, tag } = paymentToken.details;

      return fetch('...', {
        method: 'POST',
        body: {
          ephemeralPublicKey,
          encryptedMessage,
          tag
        }
      })
      .then(res => res.json())
      .then(paymentResponse.complete('success'), handleConfirm())
      .catch(paymentResponse.complete('fail'), alert(1));
    });
});
};

预期的结果将是通过支付。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-01-02 21:53:26

原来我无法用React来做这件事,因为“”并不完全支持Google Pay,而Google Pay又没有完全支持Braintree &根本不支持Payeezy。

我不得不求助于本机代码(Java),然后链接React-原生模块。很简单。

我用演示来引导我通过它。我使用Braintree作为支付处理器,但看起来我将切换到Payeezy。

我得到了标题中的错误,因为就像我说的,谷歌支付没有得到“反应-本地支付”的充分支持,这反过来又不支持Braintree,而当错误加剧时,因为我只提供了这个信息-

代码语言:javascript
复制
parameters: {
  gateway: 'braintree',
  'braintree:tokenizationKey': 'sandbox_TOKEN-HERE'
}

但是看起来我需要使用这个(在Java模块中)-

代码语言:javascript
复制
.put("gateway", "braintree")
.put("braintree:apiVersion", "v1")
.put("braintree:sdkVersion", "BETA")
.put("braintree:clientKey", "sandbox_TOKEN-HERE")
.put("braintree:merchantId", "TOKEN-HERE"));

票数 4
EN

Stack Overflow用户

发布于 2020-04-01 11:52:20

要了解有关此错误的更多信息,请执行以下步骤:

确保你的电脑上安装了Android调试桥(亚行)。确保在设备上启用了USB调试。有关更多信息,请参见调试应用程序。

用USB电缆把你的手机连接到电脑上。

3-在计算机上的终端或命令提示符中运行以下命令:

代码语言:javascript
复制
adb -d logcat -s WalletMerchantError
票数 8
EN

Stack Overflow用户

发布于 2019-10-21 11:40:02

我有一些错误,因为错配类型的价格对象。我将float值放在totalPrice中。更新后的

代码语言:javascript
复制
data class TransactionInfo(
        @SerializedName("totalPrice") val price: String,
        @SerializedName("totalPriceStatus") val priceStatus: String,
        @SerializedName("currencyCode") val currency: String
)

这在ENVIRONMENT_TEST的情况下很好。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53953888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档