Braintree Google Pay沙盒打开实时域

问题描述

我正在尝试在我的页面上集成Google Pay,正如预期的那样,首先在SandBox环境中进行此操作,但是遇到一个问题,当我单击Google Pay按钮时,它会打开实时域并要求我输入真实的卡,尽管我设置了所有与沙盒环境有关的内容

这是BT documentation之后的代码

  var createGooglePaymentComponent = function(clientInstance){
    var button = document.querySelector('#google-pay-button');
    var paymentsClient = new google.payments.api.PaymentsClient({
      environment: 'TEST' // Or 'PRODUCTION'
    });

    braintree.googlePayment.create({
      client: clientInstance,googlePayVersion: 2,},function (googlePaymentErr,googlePaymentInstance) {
      paymentsClient.isReadyToPay({
        apiVersion: 2,apiVersionMinor: 0,allowedPaymentMethods: googlePaymentInstance.createPaymentDataRequest().allowedPaymentMethods,}).then(function(response) {
        if (response.result) {
          button.addEventListener('click',function (event) {
            event.preventDefault();

            var paymentDataRequest = googlePaymentInstance.createPaymentDataRequest({
              transactionInfo: {
                currencyCode: 'USD',totalPriceStatus: 'FINAL',totalPrice: '100.00',}
            });
            var cardPaymentMethod = paymentDataRequest.allowedPaymentMethods[0];
            cardPaymentMethod.parameters.billingAddressrequired = true;

            paymentsClient.loadPaymentData(paymentDataRequest).then(function(paymentData) {
              googlePaymentInstance.parseResponse(paymentData,function (err,result) {
                if (err) {
                  // Handle parsing error
                }
                // Send result.nonce to your server
              });
            }).catch(function (err) {
            });
          });
        }
      }).catch(function (err) {
      });
    });
  };

这是我得到的屏幕截图:

Google Pay button overlay

知道为什么会这样吗?

解决方法

在TEST环境中使用Google Pay将返回TEST付款凭证,该凭证实际上不会收取您提供的付款方式的费用。可以理解,您不想使用 real 付款明细。

如果您希望能够从预定义的测试卡列表中进行选择,请按照此处的说明进行操作:https://developers.google.com/pay/api/web/guides/resources/test-card-suite

简而言之,您需要加入googlepay-test-mode-stub-data Google Group并在与该用户访问Google Pay付款表时显示测试帐户列表。