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)