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

Stripe与Firebase/Firestore Webhook配置报错:Google\ApiCore\Serializer类未找到

问题:Stripe Webhook连接Firestore时出现类缺失错误

报错信息:webhook.php - Uncaught Error: Class "Google\ApiCore\Serializer" not found in C:\Users\charl\Dropbox\Website backup\Empty-Legs-App\backend\vendor\google\cloud-core\src\GrpcRequestWrapper.php:93

Webhook文件核心代码片段

<?php
// webhook.php

require 'vendor/autoload.php'; 

use Google\Cloud\Firestore\FirestoreClient;
use Stripe\StripeClient;
use Stripe\Webhook;

try {
$firestore = new FirestoreClient([
    'projectId' => 'corpjet2',
    'keyFilePath' => 'service-account-file.json'
]);
} catch (Exception $e) {
echo 'Error initializing FirestoreClient: ' . $e->getMessage();
exit();
}

已尝试但未解决问题的操作

  • 删除vendor文件夹
  • 更新项目
  • 清除缓存
  • 更新依赖
  • 执行npm install @grpc/grpc-js

可行解决方案

  1. 重新安装Composer依赖
    执行以下命令,确保所有Google Cloud相关依赖包被完整拉取:

    composer clear-cache && composer install --no-dev --optimize-autoloader
    
  2. 锁定兼容的依赖版本
    在composer.json中指定google/cloud-firestore和google/api-core的兼容版本,避免版本冲突:

    {
        "require": {
            "google/cloud-firestore": "^1.29",
            "google/api-core": "^1.34",
            "stripe/stripe-php": "^12.0"
        }
    }
    

    保存后执行composer update更新依赖。

  3. 强制Firestore使用REST传输模式
    初始化FirestoreClient时添加transport参数,绕开gRPC相关依赖问题:

    $firestore = new FirestoreClient([
        'projectId' => 'corpjet2',
        'keyFilePath' => 'service-account-file.json',
        'transport' => 'rest'
    ]);
    
  4. 验证密钥文件路径
    确保service-account-file.json的路径是绝对路径,或者相对于webhook.php文件的正确相对路径,路径错误可能间接导致依赖加载异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 07:23:13