移动端Chrome中如何实现类似Apple Pay canMakePayments()的Google Pay启用检测?
移动端Chrome检测Google Pay是否启用的简易方法
你可以通过简化的PaymentRequest调用实现无需商户ID的Google Pay启用状态检测,具体代码片段如下:
// 构造简化的支付方法配置,无需真实商户信息 const methodData = [{ supportedMethods: 'https://google.com/pay', data: {} }]; // 创建PaymentRequest实例并调用检测方法 new PaymentRequest(methodData, { total: { label: 'Test', amount: { currency: 'USD', value: '0.01' } } }).canMakePayments() .then(result => { console.log('Google Pay是否启用:', result); // result为true表示用户已启用Google Pay,false则未启用或不支持 }) .catch(error => { console.error('检测失败:', error); // 捕获错误,比如浏览器不支持PaymentRequest API });
关键说明:
- 这里的
total参数是PaymentRequest的必填项,只需填写一个测试用的小额金额即可,不会触发实际交易 data字段留空或填写空对象即可,无需商户ID、商户名称等真实信息,仅用于检测用户端是否启用Google Pay- 该方法返回的Promise会在用户端支持Google Pay且已启用时返回
true,否则返回false或抛出错误(如浏览器不支持PaymentRequest API)
注意事项:
- 该检测需要在HTTPS环境下进行(本地开发的
localhost除外),否则PaymentRequestAPI会无法正常工作 - 如果浏览器不支持Google Pay或PaymentRequest API,
canMakePayments()会直接返回false或进入catch分支
内容的提问来源于stack exchange,提问作者A.B.
相关产品推荐
相关产品推荐

