Google React 中的支付集成中未显示确认页面

Confirmation page is not showing in Google pay integration in React

我正在使用 @google-pay/button-react 这个包实现 Google 支付按钮,但是当我点击“继续”按钮时弹出窗口关闭。我需要用电子邮件等显示价格确认页面。这是我的代码,请告诉我我做错了什么这是我的代码:

<GooglePayButton
    environment="TEST"
    paymentRequest={{
        apiVersion: 2,
        apiVersionMinor: 0,
        allowedPaymentMethods: [
            {
                type: 'CARD',
                parameters: {
                    allowedAuthMethods: ['PAN_ONLY', 'CRYPTOGRAM_3DS'],
                    allowedCardNetworks: ['MASTERCARD', 'VISA'],
                },
                tokenizationSpecification: {
                    type: 'PAYMENT_GATEWAY',
                    parameters: {
                        gateway: "moneris",
                        gatewayMerchantId: "monca05217"
                    },
                },
            },
        ],
        merchantInfo: {
            merchantId: '12345678901234567890',
            merchantName: 'Demo Merchant',
        },
        transactionInfo: {
            totalPriceStatus: 'FINAL',
            totalPriceLabel: 'Total',
            totalPrice: '50.00',
            currencyCode: 'USD',
            countryCode: 'US',
        },
    }}
    onLoadPaymentData={paymentRequest => {
        console.log('load payment data', paymentRequest);
        props.cardDetail(paymentRequest,endDate);                                        
    }}                                    
    />

我不确定我是否理解您的意图,但预期的行为是付款 sheet 在您点击继续后关闭。

如果你想Google支付显示总价,一种方法是处理支付授权回调:

  1. callbackIntents: ['PAYMENT_AUTHORIZATION'] 添加到 paymentRequest,
  2. 实现onPaymentAuthorized回调。

如果您想要用户的电子邮件,请将 emailRequired: true 添加到 paymentRequest

示例 (https://jsfiddle.net/h1w5c0vk/):

<GooglePayButton
    paymentRequest={{
        // ...
        callbackIntents: ['PAYMENT_AUTHORIZATION'],
        emailRequired: true,
    }}
    onPaymentAuthorized={() => ({ transactionState: 'SUCCESS' })}
    />