Stripe 取消对 Rails 应用的 webhook 授权

Stripe deauthorize webhook to Rails app

问题是这样的:

我已经通过我的 Rails 应用程序将一个用户连接到 Stripe,并且该用户是通过 API 键连接的。

在 Stripe 中,有一个 deauthorize API 键的选项。一旦用户 deauthorizes 我的 API 密钥,我想在我的应用程序中得到通知。我知道这是可能的,或者应该是可能的。

我知道我必须在我的应用程序中管理 webhook,但我想知道在哪里设置当用户 deauthorizes 我的 API 键时,我的应用程序 Stripe 将调用哪个 URL,哪些数据将发送到我的应用程序?

Webhooks 被 Stripe 用来通知您的服务器事件。您可以设置两种类型的 Webhook 端点:

  • "Account" 端点将接收发生在您自己帐户上的事件

  • "Connect" 端点将接收发生在通过 Stripe Connect

  • 连接到您的帐户上的事件

简而言之,您将在您的 Stripe webhook settings. Whenever an event happens, Stripe will send an event object 中将 URL 配置到您自己的服务器("endpoint")到那个 URL。

对于 Connect 端点,对象还将具有一个 account 属性,其中包含发出事件的帐户的 ID。

要收到取消授权通知,您需要设置连接端点并捕获 account.application.deauthorized 事件。您将收到的数据如下所示:

{
  "created": 1326853478,
  "livemode": false,
  "id": "evt_00000000000000",
  "type": "account.application.deauthorized",
  "object": "event",
  "request": null,
  "pending_webhooks": 1,
  "api_version": "2016-03-07",
  "data": {
    "object": {
      "id": "ca_00000000000000",
      "object": "application",
      "name": "Your Application"
    }
  },
  "account": "acct_00000000000000"
}