Skip to Content

支付宝支付

Zion 支持支付宝电脑网站支付,包括单次支付、周期支付和退款。开始前,请先阅读支付功能概述,准备订单表并了解支付回调的处理方式。

配置支付宝

准备支付宝应用

按照支付宝接入准备注册商户并创建网页应用。接口加签方式选择密钥,算法使用 RSA2。

在支付宝开放平台配置网页应用

通过支付宝开放平台密钥工具生成应用私钥,并在应用的开发设置中获取支付宝公钥。不要把应用公钥误填为支付宝公钥。

在支付宝开放平台查看应用基本信息和密钥配置

Zion 会管理支付结果的通知地址,无需在支付配置中填写应用网关或 Webhook 地址。

激活支付宝

打开 行为 → 支付 → 支付宝(Web),点击 激活。如果这是项目中第一个支付渠道,请选择订单表。

填写商户信息

配置项必填说明
APPID支付宝开放平台应用的 APPID
应用私钥与应用公钥配对的 RSA2 私钥
支付宝公钥支付宝开放平台提供的支付宝公钥,不是应用公钥

保存后,支付配置中的 关联行为流 会显示支付和退款处理、周期支付处理及周期支付扣款处理等系统流程。

发布并测试

发布支付配置、系统表、行为流和页面修改。先使用支付宝沙盒或受控金额测试,再切换到正式业务。

单次支付

创建订单并添加行为

先在已绑定的订单表中创建订单,再从组件触发器的 支付 菜单添加 支付宝支付 → 单次支付

参数类型必填说明
订单表 id长整数已绑定订单表中的订单记录 id
商品名称文本支付宝收银台显示的交易标题
金额小数单位为元,不能小于 0.01,小数点后最多两位

支付行为的 成功时 用于处理前端调用结果,不能配置修改数据的行为。最终支付状态由支付宝回调确认。

处理支付回调

支付宝的支付和退款共用系统生成的 支付和退款处理行为流。支付分支会更新支付表,并提供:

结果类型说明
orderId长整数本次支付关联的订单 id
paymentFound布尔值是否找到对应的支付记录
paymentStatus文本SUCCESSFULFAILED
alreadyProcessed布尔值当前状态是否已处理过

仅当 paymentFoundtruealreadyProcessedfalse 时,根据 paymentStatus 处理订单。支付成功前应核对订单和支付记录中的金额。

退款

配置权限并添加行为

退款行为默认不向普通用户开放。在 设置 → 权限 → 支付 中,只为可信任的管理员角色开启支付宝退款权限。

支付 菜单添加 支付宝支付 → 退款

参数类型必填说明
支付表 id长整数需要退款的支付记录 id,不是订单 id
退款金额小数单位为元;多次退款的总额不能超过原支付金额

处理退款结果

支付和退款处理行为流的退款分支会更新退款表,并提供 orderIdrefundFoundpaymentStatusalreadyProcessedpaymentStatusREFUNDEDFAILED

⚠️

支付宝全额退款不会触发支付和退款处理行为流。不能只依赖该行为流处理全额退款后的订单或权益变更;需要在发起退款的受信任业务流程中同时处理相应业务状态。

周期支付

周期支付包含发起订阅、取消订阅和后续自动扣款。

发起周期支付

支付 菜单添加 支付宝支付 → 周期支付 → 发起

参数类型必填说明
订单表 id长整数首次订阅对应的订单记录 id
价格小数单位为元,有效范围为 0.01100
商品名称文本订阅商品名称
扣款间隔整数与周期单位组合使用;间隔不能少于 7 天
周期单位枚举天或月
场景文本支付宝规定的签约场景值

同一用户不能用相同场景重复创建周期支付。不同订阅业务应使用符合支付宝规范的不同场景值。

取消周期支付

添加 支付宝支付 → 周期支付 → 取消,并绑定需要取消的 周期支付表 id

处理订阅状态

系统生成的周期支付处理行为流负责同步订阅状态。根据业务需要,在其预留分支中启用或停用订阅权益。

配置周期扣款订单

支付宝周期支付扣款由系统生成的定时行为流执行。每次扣款都需要一条新的业务订单,因此需要在行为流预留位置:

  1. 根据周期支付记录创建新的订单。
  2. 将新订单的 id 绑定到后续扣款节点的 orderId 入参。
  3. 在支付回调确认成功后,再更新订单和发放本期权益。

常见问题

  1. 提示商户协议状态不正常:检查同一账户是否使用同一场景重复订阅,并确认支付宝签约能力已经开通。
  2. 支付拉起失败:检查 APPID、应用私钥和支付宝公钥是否来自同一个应用,并确认使用 RSA2。
  3. 前端显示成功但订单未更新:检查支付和退款处理行为流是否已发布,以及支付成功分支中的业务逻辑。
  4. 退款后没有进入行为流:如果是全额退款,这是支付宝当前的处理限制;按退款章节中的方案同步业务状态。
Last updated on