用帆船在2分钟内处理条纹事件
#javascript #serverless #api

制造产品很难,甚至在您触摸业务方面并开始付款。

当您需要开始处理付款时,每个产品周期都有一个点。简单,对吗?除了通常发生的事情外,您最终得到了一个半完成的实现,这几乎可以让您专注于运输人们支付的产品功能。

在这里,帆船使事情变得非常容易。让我们潜入使用Sailhouse以像您的产品一样缩放的方式无缝,毫不费力地处理条纹事件。

条纹整合

Sailhouse是一个基于务实决策的平台,并具有有用的功能。作为我们的Beta产品的一部分,我们正在建立一个完整的条纹集成,以使您更容易获取产品和付款。

We see someone selecting the Stripe integration on the dashboard, choosing a topic for the events to be sent to, and then enabling it

构建一个以接收条纹事件本身的网络钩本身非常简单,但是在维持验证的同时,适当的分布是事件平台的工作。帆船进来的地方。

启用集成

登录您的帆屋帐户,然后转到仪表板。

  • 创建一个主题以接收您的活动,例如stripe-events
  • 通过导航到应用程序> your-app>集成,启用条纹集成,然后选择您的新stripe-events主题
  • 复制提供的端点,导航到条纹并创建一个新的Webhook,选择所有可用事件
  • 从条纹中获取秘密,并将其保存在帆室集成设置中以激活端点

There is a split browser screen, of the Sailhouse and Stripe dashboards. The user takes the dedicated webhook endpoint for the just-enabled Stripe integration, and configures the webhook on Stripe. The user selects all available events, then copies the webhook signature from Stripe into the integration configuration on Sailhouse, which finalises the setup.

现在,条纹上的每个事件都发送到Sailhouse上并处理。

等一下,那肯定是嘈杂的?

啊哈!您陷入了我们的定价陷阱。 (只是开个玩笑,目前可以根据我们的合理使用策略ð免费使用Beta。)

但是,如果您想减少收到的事件的数量或钻入最重要的事件,那么Sailhouse会让您覆盖Subscription Filters

Subscription filter for stripe events

,您可以在条纹事件上添加订阅过滤器,而不是构建自定义逻辑来处理条纹事件,验证Webhooks并在代码中分发该信息。

例如,您可以创建一个invoice-paid订阅,该订阅在invoice.paid上过滤了条纹事件type。您还可以通过Sailhouse Slack集成设置任何invoice.payment_failed事件的松弛通知!

Slack recieving a Stripe Event

处理条纹事件

您可以像其他任何活动一样在Sailhouse中处理条纹活动。这是一些示例。

您可以配置推送订阅:

subscriptions:
  - slug: invoice-paid
    topic: stripe-events
    type: push
    endpoint: https://acme-inc.com/api/invoice-paid
    filter:
      path: type
      value: invoice.paid

或在您的代码中处理事件。

const {events} = await client.getEvents("stripe-events", "customer.created");

for (const event of events) {
    // Do useful thing

    await event.ack();
}

让我们知道您建立了什么!

这只是整个令人敬畏的集成套件的开始,我们迫不及待地想看看您对它们的创造。

来炫耀您正在构建的in the official Sailhouse Discordtag us on Twitter

快乐的航行!