本项目面向预约、订阅和在线服务类Web应用,主要解决第三方支付回调重复投递、签名伪造、支付状态与数据库状态不一致,以及第三方日历占位确认失败等问题。适用于Next.js应用接入Supabase数据库、Stripe支付和第三方API的后端集成、系统改造与故障修复场景。
点击空白处退出提示
语言技术
JavaScript、TypeScript、Node.js系统类型
Web行业分类
工业互联网、企业服务
本项目面向预约、订阅和在线服务类Web应用,主要解决第三方支付回调重复投递、签名伪造、支付状态与数据库状态不一致,以及第三方日历占位确认失败等问题。适用于Next.js应用接入Supabase数据库、Stripe支付和第三方API的后端集成、系统改造与故障修复场景。
系统提供Stripe Webhook原始请求体签名验证、时间戳重放防护、恒定时间签名比较、重复事件幂等处理、支付成功与失败状态转换、预约记录校验、日历占位确认与释放,以及Supabase/PostgreSQL数据库迁移和原子数据库函数。
项目同时包含自动化测试、TypeScript类型检查、构建验证和GitHub Actions持续集成,可作为现有Next.js项目接入Stripe支付、Supabase数据库及第三方预约服务时的后端实现基础。
我独立完成了需求拆分、数据模型设计、Webhook安全验证、支付状态机、Supabase/PostgreSQL迁移、第三方日历接口抽象、测试用例和持续集成配置。
项目重点处理第三方回调可能重复、乱序或部分失败时的数据一致性问题。系统使用Stripe event ID作为幂等键,通过数据库函数保证Webhook事件记录与业务状态转换原子执行,并对支付成功、支付失败、重复事件、错误签名和外部服务失败等场景进行了测试。
项目使用TypeScript开发,包含8项聚焦测试,并通过类型检查、构建和GitHub Actions验证。本项目是公开技术实现证明,不冒充已上线的商业客户案例。



评论