一、这个功能能做什么
Stripe 需要 API 私钥和 Webhook 签名密钥,它们不是同一串值。当前瓜奇游客 Stripe 支付要求填写 Webhook 密钥。
先认识这几个词
- Webhook:服务在事件发生后主动通知你的网站,例如支付平台通知订单结果。
- API 密钥:访问某项服务的凭据,不是普通显示文字,也不一定是登录密码。
- 回调:外部服务在处理后返回信息给网站的过程或入口,例如发送支付结果。
二、设置后会有什么效果
可以配置 Stripe 收银台及适用支付方式,并通过回调确认订单。游客支付还需要正确的 Webhook 签名密钥。
三、怎么使用
第三方准备
在 Stripe 对应测试或正式环境取得 Secret key,填到瓜奇「私钥」。API 密钥类型及环境说明见Stripe API keys。
在 Webhooks 中添加目标前端的 /api/callback 端点,选择 checkout.session.completed 和 checkout.session.async_payment_succeeded。取得这个端点的 whsec_ 签名密钥,填写到瓜奇「Webhook 签名密钥」。端点与签名说明见Stripe Webhooks。
支付方式
按实际账户支持填写支付方式,多个方式用英文逗号,例如 card,alipay,wechat_pay。后台默认列出的方式不代表每个账户、币种和地区都可用。当前流程返回 Checkout 收银台地址,前台使用跳转形式。
本地测试
外部 Webhook 无法直接访问仅本机可达的 localhost。需要可达的测试转发入口才能检查通知,且转发工具产生的签名密钥应与当前测试方式匹配。
四、常见问题
常见报错
配置不完整:检查私钥和支付方式;游客要求 Webhook secret:补对应端点密钥;签名无效:检查端点、环境与密钥匹配。不要通过关闭验签来让错误消失。
浏览器成功回跳与服务器通知分别验证。最终检查订单已确认以及商品、表单或资源确实可用。
常见问法与直接答案
Stripe 游客支付失败先查什么?
除了 API 密钥、支付方式和货币,还要检查 Webhook 签名密钥及可达的回调。当前游客支付有 Webhook 配置条件。浏览器跳回成功页面不等于服务端已经确认支付。