ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Cal.diy 怎么配置 Stripe 集成启用付费事件:API Key、重定向地址与 Webhook

Cal.diy 怎么配置 Stripe 集成启用付费事件:API Key、重定向地址与 Webhook Cal.diy 怎么配置 Stripe 集成启用付费事件API Key、重定向地址与 Webhook【免费下载链接】cal.diyScheduling infrastructure for absolutely everyone.项目地址: https://gitcode.com/GitHub_Trending/ca/cal.diy在 Cal.diy 的自托管部署中付费功能付费事件、应用商店支付由内置的 Stripe 支付集成提供。要启用它需要在 Stripe 仪表盘中完成三件事保存 API Key、配置 OAuth 重定向地址、添加 Webhook再把对应的值写入实例的环境变量。配置完成后Stripe 应用会进入“已安装”状态支付功能随之可用。以下步骤基于官方 Stripe 设置文档 与故障排查文档。整个配置针对一个已经部署并可访问的 Cal.diy 实例进行。准备条件一个已在运行的 Cal.diy 实例可以编辑根目录.env以及.env.appStore文件并能重启服务。一个 Stripe 账户。如果先在测试环境验证请在 Stripe 仪表盘右上角打开Test-Mode开关后续步骤使用测试密钥。实例的外部可访问 URL。下文的重定向地址与 Webhook 地址都要使用它且应与NEXT_PUBLIC_WEBAPP_URL一致末尾不带斜杠如https://cal.yourdomain.com。配置 Stripe API Key在 Stripe 仪表盘的API Keys页面获取两个 token写入环境变量文件# .env根目录 STRIPE_PRIVATE_KEYsk_test_... # .env.appStore如果只维护单个 .env也可以直接写在 .env 中 NEXT_PUBLIC_STRIPE_PUBLIC_KEYpk_test_...对应关系按 token 前缀区分pk_...公钥写入NEXT_PUBLIC_STRIPE_PUBLIC_KEYsk_...私钥写入STRIPE_PRIVATE_KEY。这些变量分布在两个文件中配置时容易遗漏STRIPE_PRIVATE_KEY、STRIPE_CLIENT_ID、STRIPE_WEBHOOK_SECRET写入根.envNEXT_PUBLIC_STRIPE_PUBLIC_KEY写入.env.appStore单文件配置时写入根.env。启用 OAuth 并添加重定向地址Stripe 集成通过 OAuth 连接你的账户需要两处配置打开 Stripe 仪表盘的Connect设置页启用OAuth for Standard Accounts。添加 OAuth 重定向 URL其中Cal.diy URL替换为你的实例外部地址Cal.diy URL/api/integrations/stripepayment/callback例如实例地址为https://cal.yourdomain.com时重定向地址就是https://cal.yourdomain.com/api/integrations/stripepayment/callback。然后复制 Connect 设置页显示的 Client ID以ca_...开头写入根.env# .env STRIPE_CLIENT_IDca_...添加 Webhook打开 Stripe 仪表盘的Webhooks页面添加以下 URL 作为已连接应用的 Webhook 地址Cal.diy URL同样替换为你的实例外部地址Cal.diy URL/api/integrations/stripepayment/webhook勾选 Webhook 需要接收的事件官方文档要求选择全部payment_intent和setup_intent事件。应用源码中的旧 READMEstripepayment/README.md只提到payment_intent按现行文档把两类事件都选中即可覆盖旧说明。复制 Webhook 编辑页显示的密钥以whsec_...开头写入根.env# .env STRIPE_WEBHOOK_SECRETwhsec_...应用配置并连接 Stripe 账户修改环境变量后需要重启服务才能生效。Docker 部署可执行以下命令会重启整个 stack 的所有容器docker compose down docker compose up -d在 Cal.diy 的应用管理入口发起与 Stripe 账户的连接。浏览器会跳转到 Stripe OAuth 授权页授权完成后由回调接口/api/integrations/stripepayment/callback处理授权码然后页面重定向回/apps/installed/payment支付应用页见 回调处理逻辑。如果 OAuth 授权失败页面 URL 会带上errorstripe_oauth_failed参数见 setup 页逻辑。验证结果文档层面有两个判断依据应用显示为已安装。Stripe 应用的安装状态由三个环境变量STRIPE_CLIENT_ID、NEXT_PUBLIC_STRIPE_PUBLIC_KEY、STRIPE_PRIVATE_KEY同时非空决定判断逻辑见 _metadata.ts。任一缺失或为空应用就会被标记为“未安装”支付功能不可用。使用支付功能时不再报错。故障排查文档描述的配置缺失症状是付费事件、应用商店支付等功能不可用或尝试使用时出现报错。此时按上一节核对三个变量是否写入了正确文件、值是否完整。注意事项与限制如果不需要支付功能这些变量可以留空应用照常运行只是 Stripe 相关功能保持禁用。Docker 部署时API v2 服务/api/v2/...还要求根.env中同时存在STRIPE_API_KEY和STRIPE_WEBHOOK_SECRET否则服务启动时报Missing environment variable并退出。STRIPE_API_KEY是 API 侧与STRIPE_PRIVATE_KEY对应的变量两个变量被不同服务消费如果 API 端不启用 Stripe可以填占位值但变量必须存在。详见故障排查文档的 “API v2 Service Not Starting” 一节。实例 URL 直接决定回调与 Webhook 地址是否可达注意两点不要带末尾斜杠Docker 部署中NEXT_PUBLIC_WEBAPP_URL是构建期变量修改后需要重新构建镜像。测试模式下使用测试密钥pk_test_.../sk_test_...即故障排查文档示例所使用的形式。【免费下载链接】cal.diyScheduling infrastructure for absolutely everyone.项目地址: https://gitcode.com/GitHub_Trending/ca/cal.diy创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表