问题描述
有一个名为 Engaging Networks 的系统,该系统提供 Apple Pay 或 Google Pay 等支付方式。我想显示/隐藏相关的付款按钮,无论付款类型是否可用。
我知道我可以简单地使用 window.ApplePaySession
查看 Apple Pay,但我看不到如何查看 Google Pay 的可用性。
我可以看到请求已发送到 https://pay.google.com/gp/p/ui/pay,但基本上就是这样。
有什么办法可以检查这个吗?
解决方法
正如@esqew 所说,以下是如何调用 isReadyToPay
的示例:
function onGooglePayLoaded() {
const client = new google.payments.api.PaymentsClient({
environment: 'TEST',merchantInfo: {
merchantId: '12345678901234567890',merchantName: 'Demo Merchant',},});
const readyToPayOptions = {
apiVersion: 2,apiVersionMinor: 0,allowedPaymentMethods: [
{
type: 'CARD',parameters: {
allowedAuthMethods: ['PAN_ONLY','CRYPTOGRAM_3DS'],allowedCardNetworks: ['MASTERCARD','VISA'],tokenizationSpecification: {
type: 'PAYMENT_GATEWAY',parameters: {
gateway: 'example',],};
client.isReadyToPay(readyToPayOptions).then(result => console.log('Is ready to pay: ',result));
}
<script
async
src="https://pay.google.com/gp/p/js/pay.js"
onload="onGooglePayLoaded()">
</script>