Braintree Google Pay 沙盒打开实时域

Posted

技术标签:

【中文标题】Braintree Google Pay 沙盒打开实时域【英文标题】:Braintree Google Pay sandbox opens live domain 【发布时间】:2021-02-06 05:33:52 【问题描述】:

我正在尝试在我的页面上集成 Google Pay,正如预期的那样,首先在沙盒环境中这样做,但我遇到了一个问题,即当我点击 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) 
      );
    );
  ;

这是我得到的截图:

知道为什么会这样吗?

【问题讨论】:

【参考方案1】:

在 TEST 环境中使用 Google Pay 会返回一个 TEST 付款凭证,该凭证实际上不会向您提供的付款方式收费。您不想使用真实的付款详情,这是可以理解的。

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

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

【讨论】:

以上是关于Braintree Google Pay 沙盒打开实时域的主要内容,如果未能解决你的问题,请参考以下文章

Braintree - 插入式 UI - Apple Pay - Swift 3

Braintree - 为啥通过 API 或沙盒创建的 Braintree 交易需要这么长时间才能完成?

Braintree 的沙盒 PayPal 集成(使用 JS 和 PHP)

Braintree 付款 - 沙盒交易的处理器拒绝(2409)错误

Braintree Paypal 在沙盒中工作,但不是生产

Braintree沙盒账户不显示交易