You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Pay弹窗点击返回键触发loadPaymentData错误的识别处理方案

Google Pay取消支付场景识别方案

实现逻辑

Google Pay JS API返回的错误对象携带标准化statusCode字段,用户主动点击返回/关闭支付弹窗的场景,该字段值固定为CANCELED,只需在catch回调中优先判断该字段即可区分正常取消和真实支付异常。

修改后的代码示例

paymentsClient.loadPaymentData(paymentDataRequest)
        .then(function (paymentData) {
            console.log("paymentData", paymentData);
            // 处理支付数据,生成后续交互需要的payload
            const payload = handlePaymentData(paymentData);
            return payload;
        }).then(function (payload) {
            console.log("payload", payload);
            // 发送支付凭证到服务端完成后续流程
        }).catch(function (err) {
            // 识别用户主动取消场景
            if (err.statusCode === 'CANCELED') {
                console.log('用户取消Google Pay支付,可引导切换其他支付方式');
                // 此处添加切换支付方式的业务逻辑即可
                return;
            }
            // 非取消场景走正常错误处理逻辑
            console.error('Google Pay支付异常:', err);
            // 可选:按错误类型做精细化处理
            switch(err.statusCode) {
                case 'DEVELOPER_ERROR':
                    console.error('支付参数配置错误,请检查Google Pay配置项');
                    break;
                case 'BUYER_ACCOUNT_ERROR':
                    console.error('用户Google账号异常,无法完成支付');
                    break;
                case 'MERCHANT_ACCOUNT_ERROR':
                    console.error('商户账户配置异常');
                    break;
                default:
                    console.error('未知支付错误');
            }
        });

注意事项

  • 原代码第一个then需要主动返回处理后的payload,否则第二个then接收的payload会为undefined
  • 该判断逻辑兼容所有主流版本的Google Pay JS API,不需要额外依赖

内容的提问来源于stack exchange,提问作者jagdipa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 01:36:04