能否通过设置定期付款按钮关联Coinbase Commerce地址实现订阅支付?
Coinbase Commerce 订阅功能与Webhooks实现指南
Great question! Let’s walk through exactly how you can set up recurring payments (subscriptions) with Coinbase Commerce and configure webhooks to get payment notifications.
1. 实现定期付款(订阅)功能
Coinbase Commerce 原生支持订阅功能,不用手动拼凑按钮关联地址——当然你也可以按需自定义流程。具体操作如下:
- 推荐使用官方订阅工具
- 登录你的Coinbase Commerce后台,进入「Subscriptions」标签页,创建新的订阅计划。你可以设置金额、计费周期(周/月/年)、支持的货币以及试用周期等细节。
- 计划保存后,Coinbase会生成可嵌入的按钮代码。直接复制这段代码粘贴到你的网站即可——这个按钮会自动关联你的Commerce地址,用户点击后就能完成订阅流程,后续的定期扣款、订阅管理全由Coinbase处理。
- 自定义按钮方案(适用于进阶场景)
如果需要完全控制按钮样式或流程,可以通过Coinbase Commerce API创建订阅会话。向/subscriptions端点发送POST请求生成付款链接,再将自定义按钮的点击事件指向该链接。不过这种方式需要编写更多代码来处理会话创建和用户状态,不如官方按钮省心。
2. 设置Webhooks接收付款通知
完全可以实现!通过Webhooks你能实时获取所有订阅相关的事件通知,设置步骤如下:
- 配置Webhook端点
- 在Coinbase Commerce后台进入「Settings > Webhooks」,点击「Add an endpoint」。输入你的服务器端点公网URL(确保能接收POST请求且公网可访问)。
- 选择需要监听的事件类型,订阅场景下关键的事件包括:
subscription:created:用户成功订阅时触发charge:confirmed:定期付款成功到账时触发subscription:renewed:订阅进入下一个计费周期时触发subscription:cancelled:订阅被取消时触发
- 验证Webhook真实性
别忘了启用Webhook签名!Coinbase会为你的端点提供一个密钥——用这个密钥对请求体生成HMAC-SHA256哈希值,再和请求头里的X-Cc-Webhook-Signature对比,匹配后再处理通知,这样能确保通知确实来自Coinbase,避免伪造请求。
小提示
- 上线前用Coinbase的「Test Mode」模拟订阅和付款,这样可以在不产生真实交易的情况下测试Webhook端点和订阅流程。
- 确保你的Webhook端点支持重试逻辑:如果Coinbase没收到200 OK响应,会重试发送通知,所以端点要能处理重复事件。
- 用户可以通过Coinbase托管的门户管理自己的订阅(比如取消、更新支付方式),你不用自行开发这部分功能。
内容的提问来源于stack exchange,提问作者Positonic




