Firebase Stripe扩展:产品可同步至Firestore,客户无法同步求助
客户同步问题排查方案
1. 确认Stripe Webhook事件订阅
- 登录Stripe控制台,进入Developers > Webhooks,检查已订阅事件列表,确保
customer.created事件已被勾选。产品同步正常说明product.created事件配置没问题,大概率是客户相关事件未订阅。
2. 检查Webhook后端处理逻辑
- 对比
product.created的处理代码,确认customer.created事件的处理逻辑是否完整:- 需正确解析Stripe返回的客户对象数据
- 确保存在将数据写入Firestore对应集合的逻辑,示例代码片段:
if (event.type === 'customer.created') { const customer = event.data.object; await db.collection('customers').doc(customer.id).set({ name: customer.name, email: customer.email, phone: customer.phone }); }
- 排查是否存在字段处理错误、异步操作未正确等待等问题。
3. 查看Stripe Webhook事件日志
- 在Stripe控制台Webhook页面的Events标签下,查找
customer.created事件记录:- 若事件未出现:说明Stripe未触发该事件,重新确认事件订阅状态,或尝试在控制台重新创建客户触发事件。
- 若事件标记为失败:查看错误详情(如端点超时、权限不足),针对性修复后端服务。
4. 验证Firestore写入权限与日志
- 确认处理Webhook的服务账号拥有Firestore
customers集合的写入权限,避免集合权限配置与products集合不一致。 - 在后端代码中添加日志输出,记录待写入的客户数据及写入操作的返回结果,排查是否存在静默失败。
内容的提问来源于stack exchange,提问作者Seonaidh Morrison
相关产品推荐
相关产品推荐

