网络钩子

接收有关您的 LicenseChain 帐户中的事件的实时通知。自动化工作流程并使您的应用程序保持同步。

LicenseChain 使用单独的签名通道 核心 API 网络钩子, 支付商家 webhook, 和镜像重定向 HMAC(请参阅 镜像SDK).

为什么使用 Webhook?

Webhook 的好处

实时更新

  • 事件发生时即时通知
  • 无需重复轮询我们的 API
  • 减少 API 使用和成本
  • 即时更新带来更好的用户体验

自动化

  • 在您的应用程序中触发自定义操作
  • 跨不同系统同步数据
  • 自动化客户沟通(例如到期提醒)
  • 与第三方服务集成

可用的活动

授权活动

  • `license.created` - 生成新许可证
  • `license.updated` - 许可证的属性已更改
  • `license.expired` - 许可证已到期
  • `license.revoked` - 许可证被手动撤销
  • `license.deleted` - 许可证被永久删除
  • `license.transferred` - 许可证被移动到另一个用户/应用程序

付款事件

  • ` payment.succeeded` - 付款已成功处理
  • ` payment.failed` - 付款尝试失败
  • `subscription.created` - 开始一个新的订阅
  • `subscription.updated` - 订阅的详细信息已更改
  • `subscription.canceled` - 订阅被取消(支付 webhook;通过取消 POST /v1/subscriptions/:id/cancel 当部署API路由时)
  • `invoice.paid` - 发票被标记为已付款

实施步骤

1.配置Webhook端点

在您的 LicenseChain 仪表板中或通过将发送事件的 API 设置 URL。

// Via Dashboard
1. Go to Settings > Webhooks
2. Click "Add Endpoint"
3. Enter your URL (e.g., https://your-app.com/webhooks/licensechain)
4. Select the events you want to receive (e.g., license.created, license.updated)
5. Save configuration

// Via API
// Create webhook with URL and events
// Set webhook endpoint
// Select events to receive

2. 实现 Webhook 处理程序

在应用程序中创建一个端点来处理传入的 Webhook 事件。

// Express.js example
// Handle webhook endpoint
// Get signature from headers
// Verify webhook signature
// Process different event types
// Return success response

3. 验证Webhook签名

始终验证 Webhook 签名以确保请求来自 LicenseChain。

// Import crypto module
// Create webhook signature verification function
// Generate expected signature using HMAC
// Compare signatures securely
// Return verification result

最佳实践

  • 异步处理 - 立即响应 Webhook(3 秒内)并在后台作业中异步处理事件。
  • 幂等性 - 将事件处理程序设计为幂等的,以安全地处理重复事件。
  • 错误处理和重试 - 实施强大的错误处理并利用 LicenseChain 的自动重试机制来处理失败的交付。
  • 安全 - 始终验证 Webhook 签名以防止欺骗攻击。对您的端点使用 HTTPS。
  • 监控 - 监控您的 webhook 端点是否有错误和传送失败。