圣灯在线

服务 03 / Stripe 支付

能收钱只是开始,
对得上账才算完

收款链路最容易出问题的不是接 Checkout,

是 webhook 重复触发导致重复发货、网络抖动导致丢单、

月底对账发现金额和订单对不上。

适合谁

你可能是这么想的

「有人付了钱但没收到东西」

「同一个订单发了两封交付邮件」

「订阅用户取消后还在扣费」

「月底对账,Stripe 流水和系统订单对不上,查不出差在哪」

交付什么

01收款链路审计:下单 → 支付 → webhook → 交付 → 退款,逐环节检查
02Checkout 或 Payment Element 接入,含成功/取消页面与状态回写
03Webhook 幂等处理:事件 ID 去重 + 状态机保护,同一事件处理多次结果不变
04Webhook 签名验证与重放保护,拒绝伪造请求
05订单状态机梳理:pending / paid / fulfilled / refunded 四态流转,非法转换直接拒绝
06对账脚本:拉 Stripe 流水与数据库订单做 diff,输出差异清单
07失败场景处理文档:支付成功但 webhook 丢失怎么补、退款怎么触发交付回滚

不做什么

写清楚边界,比写清楚能力更省双方时间。

不做支付牌照相关业务

只做技术集成。资金清算、分账、跨境合规这些需要持牌机构,我的角色是把接口接对。

不接管你的 Stripe 账户

密钥由你自己保管,我给你操作步骤或者用测试模式演示。需要我直接操作时你开临时权限,做完就撤。

不承诺零故障

Stripe 侧也可能出问题。能做的是让本地逻辑在收到重复、延迟、乱序的事件时不产生错误数据。

不接非 Stripe 的支付渠道

微信支付、支付宝的接入逻辑不同,不在这个服务范围内。

周期与价格

一次性收款¥5,000Checkout + webhook 幂等 + 状态机 + 对账脚本3–7 个工作日
含订阅计费¥12,000上行全部 + Subscription + 试用期 + 取消与升降级7–10 个工作日

固定报价,不按小时计费。¥15,000 以下 50% 预付 + 50% 验收后;以上分三期。第三方费用(服务器、API、域名)不包含在内。

凭什么信

常见问题

webhook 幂等到底是什么意思?

同一个事件 Stripe 可能发多次(重试、网络抖动),处理逻辑必须保证「处理一次」和「处理五次」结果相同。常见做法是用事件 ID 做唯一键落库,已存在就跳过。

支付成功但 webhook 没收到怎么办?

要有兜底:用户回到成功页时主动查一次 Stripe 会话状态并回写,不能只依赖 webhook。两条路都走,单点失效不会导致订单卡住。

订阅计费的 proration 怎么处理?

Stripe 会按剩余天数自动计算差价,但你的系统要能接收并展示这些事件。我会把 proration 事件接入提示逻辑,不让用户看到金额莫名其妙变化。

可以在测试环境先跑一遍吗?

必须。Stripe 有完整的测试卡号和测试时钟,我会在 test mode 下把所有失败场景跑一遍(卡被拒、3D Secure、退款、订阅取消),再切生产。

先说说现在卡在哪

是收不了钱、重复发货,还是对不上账?不同问题修法完全不同。描述清楚现状,我判断是几小时能修还是要重做链路。

写信说明情况

其他服务

价格公开,边界写明,做不了会说做不了。这比任何承诺都省时间。