网络钩子

WooshPay 网络钩子 #

WooshPay 使用网络钩子在您的账户发生事件时通知您的应用程序。网络钩子对异步事件特别有用,例如当客户的银行确认付款、客户对收费提出异议或收取订阅付款时。您可以通过 API 配置网络钩子端点,以获得事件通知。

创建和接收 Webhooks 的步骤 #

您可以使用本节中的步骤开始在应用程序中接收事件通知:

  1. 确定要监控的事件和 活动 要解析的有效载荷。
  2. 在本地服务器上创建一个 Webhook 端点,作为 HTTP 端点(URL)。
  3. 处理来自 WooshPay 的请求,解析每个事件对象并返回 2xx 响应状态代码。
  4. 部署 webhook 端点,使其成为可公开访问的 HTTPS URL。
  5. 通过 webhook 对象注册可公开访问的 HTTPS URL。

如何创建网络钩子端点 #

创建 Webhook 端点与创建网站上的任何其他页面并无不同。它是服务器上带有 URL 的 HTTP 或 HTTPS 端点。如果你仍在本地机器上开发端点,它可以是 HTTP 端点。在公开访问后,它必须是 HTTPS 端点。

步骤 1.确定要监控的事件 #

使用 API 参考指南来确定 Webhook 端点需要解析的 Wooshpay 事件及其事件对象。

步骤 2: 创建网络钩子 #

在本地计算机上设置一个 HTTP 端点,该端点可接受以 POST 方法发出的未经身份验证的网络钩子请求。

要求

{
    "url":"https://apitest.wooshpay.com/v1/receives"、
    "description"(描述):"我是描述"、
    "enabled_events":[
        "payment_intent.created"、
        "payment_intent.payment_failed"、
        "payment_intent.requires_action"、
        "payment_intent.succeeded"、
        "payment_intent.canceled"(取消付款)、
        "收费.退款.更新
    ],
    "api_version":"1.0.1"
}

回应

{
    "id":"we_1600745739909070848",
    "对象":"webhook_endpoint"、
    "创建":1670482499000,
    "description":"我是描述"、
    "元数据":空
    "secret": "c2tfdGVzdF9kR1Z6ZERwMFpYTjBNVEl6TkRVMjo="、
    状态"enabled"、
    "url":"https://apitest.wooshpay.com/v1/receives"、
    "livemode": false、
    "api_version":"1.0.1",
    "enabled_events":[
        "payment_intent.created"、
        "payment_intent.payment_failed"、
        "payment_intent.requires_action"、
        "payment_intent.succeeded"、
        "payment_intent.canceled"(取消付款)、
        "charge.refund.updated
    ]
}

步骤 3:处理来自 WooshPay 的请求 #

您的端点必须配置为读取您希望接收的事件通知类型的事件对象。WooshPay 将事件作为带有 JSON 有效载荷的 POST 请求的一部分发送到 webhook 端点。

返回 2xx 响应
在进行任何可能导致超时的复杂逻辑之前,您的端点必须快速返回成功状态代码 (2xx)。

交付尝试和重试 #

了解如何查看交付尝试、事件日志以及 webhook 事件未被确认时的重试逻辑。

重试逻辑
在实时和测试模式下,WooshPay 会尝试交付您的网络钩子长达 3 天,并以指数方式进行后退,这意味着我们将在 72 小时内总共交付 18 次。

待处理的 Webhook 逻辑
在实时和测试模式下,如果端点未响应 2xx HTTP 状态代码,WooshPay 将尝试通过电子邮件通知您任何不成功的网络钩子。电子邮件不仅会告诉您无法交付的 URL,还会告诉您我们何时停止交付网络钩子,以及您联系我们的最佳方式。

What are your feelings
Updated on 8月 9, 2023