WooshPay 网络钩子 #
WooshPay 使用网络钩子在您的账户发生事件时通知您的应用程序。网络钩子对异步事件特别有用,例如当客户的银行确认付款、客户对收费提出异议或收取订阅付款时。您可以通过 API 配置网络钩子端点,以获得事件通知。
创建和接收 Webhooks 的步骤 #
您可以使用本节中的步骤开始在应用程序中接收事件通知:
- 确定要监控的事件和 活动 要解析的有效载荷。
- 在本地服务器上创建一个 Webhook 端点,作为 HTTP 端点(URL)。
- 处理来自 WooshPay 的请求,解析每个事件对象并返回
2xx
响应状态代码。 - 部署 webhook 端点,使其成为可公开访问的 HTTPS URL。
- 通过 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,还会告诉您我们何时停止交付网络钩子,以及您联系我们的最佳方式。