Apple Pay canMakePayments() 方法的 google pay 等效项是什么?

问题描述 投票:0回答:2

我想看看是否有一种方法可以在 chrome 上的移动网络上快速检查用户是否启用了 Google Pay。在 IOS 上,我可以在 safari 开发工具上调用

window.ApplePaySession.can make payments()
方法来立即知道用户是否启用了 apple pay。

我可以在 Chrome 开发工具上调用等效的代码片段来确定用户是否启用了 Google Pay?我不需要能够进行交易或任何复杂的事情,我只需要知道用户是否启用了该功能。

据我的研究,我发现

window.PaymentRequest(methodData).canMakePayments()
应该可以解决问题,但该路线的问题是 methodData 需要诸如商家 ID 和商家名称之类的信息,而我没有这些信息。在苹果方面,我确实需要这些信息来进行交易,但我不需要它来简单地检查苹果支付是否可行。有没有一种方法(可能类似于我之前分享的代码片段)询问浏览器是否启用了 Google Pay,而无需提供商家 ID 等额外信息?

reactjs payment applepay google-pay payment-request-api
2个回答
0
投票

Google Pay 具有与 Apple Pay 类似的功能来确定支付方式的准备情况。虽然这并不像在 Apple Pay 中查找那么简单,但您必须设置一些数据来确定链接中给出的准备情况 - https://developers.google.com/pay/api/web/guides/tutorial#isreadytopay

但是,您不需要在此处明确要求商户 ID 来实现此

isReadyToPay
API。


0
投票

canMakePayment()
也可用于Google Pay。以下是如何在无需指定商家 ID 的情况下实现此目的的示例:

new PaymentRequest(
[{
    'supportedMethods': ['https://google.com/pay'],
    'data': {
        'apiVersion': 2,
        'apiVersionMinor': 0,
        'allowedPaymentMethods': [{
            'type': 'CARD',
            'parameters': {
                'allowedAuthMethods': ['PAN_ONLY', 'CRYPTOGRAM_3DS'],
                'allowedCardNetworks': ['VISA', 'MASTERCARD'],
            },
        }],
    }
}],
{
    'total': {
        'label': 'Estimated Total Price',
        'amount': { 'currency': 'USD', 'value': '10' }
    }
}).canMakePayment().then((result) => console.log(result)).catch(function (err) {
    console.log(err);
});

示例
PaymentRequest
包含
tokenizationSpecification
(包括gatewayMerchantId)对象的原因是为
canMakePayment()
show()
重用相同的负载。

© www.soinside.com 2019 - 2024. All rights reserved.