通过 Webhook 将订单发送到 Zapier、Make 等应用
添加 Webhook 后,Payly 会将每个新订单、发货、退款和订阅发送到 Zapier、Make 或任何支持 Webhook 的应用。
Webhook 会在店铺事件发生时,立即将其发送到另一个应用。添加之后,每一笔已付款订单都能传到 Zapier 或 Make,再由它们传到 Google Sheets、Slack、您的邮件列表、您的会计软件以及数千个其他应用。无需编写代码。
添加 Webhook
- 在站点后台,点击集成。
- 在自动化下,开启 Webhook。随即弹出一个窗口。

- 选择一个事件,粘贴应用提供给您的 Webhook 地址,然后点击添加 Webhook。
- 点击发送测试发送一笔示例订单,然后点击完成。

Webhook 添加后立即生效,无需发布。
连接到 Zapier
- 在 Zapier 中创建一个 Zap。触发器选择 Webhooks by Zapier,然后选择 Catch Hook。
- 复制 Zapier 显示的 Webhook URL。
- 在 Payly 中,为订单已付款添加一个 Webhook,并粘贴该 URL。
- 点击发送测试。回到 Zapier,点击 Test trigger。您会看到示例订单:John Smith 的 #9999。
- 添加您想要的操作,例如在 Google Sheets 中新增一行,并映射字段:Order Number、Order Total、Order Customer Email 等。
- 发布这个 Zap。此后每一笔已付款订单都会触发它。
Webhooks by Zapier 是 Zapier 的高级应用之一,因此需要付费的 Zapier 套餐。
连接到 Make
- 在 Make 中创建一个场景。依次添加 Webhooks 和 Custom webhook,然后点击 Add 创建新的 Webhook。
- 复制 Make 显示的地址。
- 在 Payly 中,用该地址添加一个 Webhook,然后点击发送测试。Make 会读取示例并识别其中的字段。
- 添加您需要的模块,映射字段,然后开启场景。
事件
- 订单已付款:订单完成付款时。包括订阅的首次付款、每次续订,以及您手动添加并标记为已付款的订单。
- 订单已发货:您将订单标记为已发货时。分批发货时,每一批都会发送。
- 订单已退款:款项退回时,无论您是在 Payly 中退款,还是在 Stripe 或 PayPal 中退款。每一次部分退款也会发送。
- 订阅已开始:订阅的第一笔订单。
- 订阅已续订:首次付款之后的每一笔付款。
- 订阅已结束:订阅被取消或到期时,在订阅结束当天发送。
Payly 会发送什么
每个事件都以 JSON 格式发送。每个订单事件都包含:
- 订单号(如 #1000)、订单状态和付款时间
- 小计、折扣和折扣码、运费、税费、合计和已退款金额,以及币种
- 每件商品的名称、SKU、数量、价格和行合计
- 顾客的姓名、邮箱和电话,以及收货地址
- 付款方式,如 Stripe 或 PayPal
test_mode,在测试模式中提交的订单为 true
发货事件会附加承运商和物流单号。退款事件会附加截至目前的退款总额。订阅事件会附加套餐、价格、计费频率和下一次续订日期。通过发送测试发送的示例带有 "test": true。银行卡号只保存在 Stripe 和 PayPal,因此绝不会出现在 Webhook 中。
Webhook 发送失败时
应用有 5 秒钟的时间响应。如果超时未响应,或返回错误,Payly 会在大约四个半小时内最多再重试 7 次。弹窗中会列出每个 Webhook 最近的投递记录,方便您查看发生了什么。
如果连续三个事件的每次重试都失败,该 Webhook 就会被暂停,集成页面也会显示这一状态。请检查地址,然后点击重新启用。
确认 Webhook 来自您的店铺
Zapier 和 Make 不需要这一步。如果您自行开发应用,每个请求都带有 X-Payly-Hmac-Sha256 标头:这是使用您店铺的签名密钥,以 HMAC-SHA256 对请求正文进行签名,并以 base64 表示的结果。该密钥在 Webhook 弹窗中。请根据原始正文计算出相同的签名,并将两者进行比较。
重试发送时,X-Payly-Webhook-Id 标头保持不变,因此您的应用可以跳过已经处理过的请求。