Skip to Content
帮助文档行为配置操作指南配置支付支付功能概述

支付功能概述

Zion 的内置支付功能负责连接支付渠道、校验回调并维护支付记录。你需要准备自己的订单表,在前端发起支付,并在系统生成的行为流中配置订单更新、发放权益等业务逻辑。

支付功能仅对专业版及企业版项目开放。项目降级到不支持支付的版本后,线上支付会停止工作。

支持的支付渠道

支付渠道客户端单次支付周期支付退款
微信支付微信小程序
微信支付Web,仅限微信客户端内打开
支付宝Web
AirwallexWeb

微信支付在 Web 和微信小程序中使用不同的商户配置,因此分别提供配置指南。所有支付渠道共用同一张订单表。

激活支付

准备订单表

在数据中创建用于保存业务订单的表。Zion 不要求固定字段,但通常至少需要金额、订单状态和账户关联。

⚠️

首次激活支付时选择的订单表不能换绑。确认数据模型后再继续。

激活支付渠道

打开 行为 → 支付,在目标支付渠道旁点击 激活。首次激活时选择订单表;以后激活其他渠道时会继续使用同一张订单表。

激活后,Zion 会创建三张不可手动修改结构的系统表。不能在数据编辑器中手动新增这些表的记录;数据由支付行为和回调流程维护。

系统表作用
支付保存单次支付和周期扣款产生的支付记录,并关联订单表
周期性支付保存订阅关系、当前状态和下次扣款时间等信息
退款保存退款记录,并关联对应的支付记录

Zion 还会根据支付渠道生成支付、退款、订阅状态或周期扣款等行为流。可以从支付配置中的 关联行为流 直接打开它们。

填写商户信息

按照对应渠道的指南填写商户信息并保存。支付配置、系统表和行为流修改需要发布后才会在运行环境生效。

支付如何运行

一次完整的支付通常经过以下步骤:

  1. 在订单表中创建订单。
  2. 在页面或组件中调用支付行为,并绑定订单 id 和支付参数。
  3. 用户在支付渠道提供的收银台完成支付。
  4. 支付渠道向 Zion 发送 Webhook;系统生成的行为流校验回调并更新支付系统表。
  5. 在行为流预留的分支中更新订单、发放权益或发送通知。
  6. 前端查询订单表或支付系统表,显示最终结果。

前端结果与最终支付状态

支付行为提供 成功时失败时,用于处理前端请求或收银台交互结果。出于安全考虑,支付行为的 成功时 不能配置修改数据的行为。

订单是否真正支付成功,应以支付渠道的 Webhook 以及系统生成行为流中的支付状态为准。不要只根据前端分支发货、发放权益或更新订单为已支付。

处理重复回调

支付渠道可能重复发送同一条 Webhook。系统生成的处理节点会提供 alreadyProcessed

  • false:本次回调首次被处理,可以继续执行业务逻辑。
  • true:相同状态已处理,通常不再执行后续业务逻辑。

alreadyProcessed 只表示系统支付记录是否已经处理,不能自动保证后续节点幂等。发货、发放权益和扣减库存仍应使用订单状态条件、唯一约束或其他幂等措施。

校验订单金额

支付金额来自前端行为配置。执行发货或发放权益前,建议在回调行为流中根据 orderId 查询订单和支付记录,确认实际支付金额、币种和订单数据一致。该校验用于阻止异常订单进入履约流程。

查询支付结果

前端可以查询订单表,也可以按权限查询支付、周期性支付和退款系统表。需要及时刷新状态时,可以使用实时数据源或在页面重新加载时查询最新数据。

退款表默认只开放基础查询权限。如需聚合统计,应在 设置 → 权限 → 支付 和相关数据权限中按角色开放所需能力。退款行为默认不应向普通用户开放。

停用全部支付

支付配置页面提供 停用全部支付。确认弹窗中的 清空并关闭 会执行不可逆操作:

  1. 清除所有支付渠道的商户信息和密钥。
  2. 删除支付、周期性支付和退款系统表及其关联;发布后,线上历史数据也会被删除。
  3. 删除系统生成的支付行为流和回调触发器,使项目中已有的支付行为失效。
⚠️

重新激活支付会创建一套新的系统表、行为流和触发器,无法恢复或自动关联此前的数据。执行前请先确认历史数据已经妥善处理。

Last updated on