Google Pay - 错误:请求失败 - 意外的开发者错误,请稍后重试

Owp*_*pur 2 javascript react-native-android payment-request-api google-pay

当我尝试在真实设备上使用 Google Pay 付款(在 TEST 环境中)时,我收到标题中的错误消息。

我曾尝试将“网关”更改为像 google docs 显示的字符串,但到目前为止什么都没有。

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));
    });
});
};
Run Code Online (Sandbox Code Playgroud)

预期的结果将是付款。

小智 6

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

1- 确保您的计算机上安装了 Android 调试桥 (adb)。确保在您的设备上启用了 USB 调试。有关更多信息,请参阅调试您的应用程序。

2- 使用 USB 数据线将手机连接到计算机。

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

adb -d logcat -s WalletMerchantError
Run Code Online (Sandbox Code Playgroud)