支付宝支付
注册商户号
参照【支付宝文档中心-接入准备】注册支付宝Web端商户号即可
Zion 中的支付宝支付设置
⚠️ 您需要先购买 Zion 专业版之后方可在项目中配置并效用支付宝支付,支付宝支付仅支持在Web中配置,点击参考项目链接进入Web端查看配置
在 Web 项目的 设置 - 支付设置中设置 Appid、用户私钥、支付宝公钥以及回调地址
获取 Appid
在支付宝上户中心获取
获取用户私钥/支付宝公钥
用户私钥/支付宝公钥: 可以通过下载支付宝开放平台开发助手生成,目前 Zion 仅支持 RSA2 加密协议的公私钥
获取回调地址,并设置支付宝支付行为流
回调地址:在 Zion 中自行创建名为【支付宝支付成功】的行为流,并完成如下配置获得
添加行为流
创建行为流,设置入参: out_trade_no(文本类型),如果您对支付宝返回的参数有更多的需求,可以参考【支付宝参数说明】进行更多入参的配置以及在下方代码块中处理
添加代码块
添加代码块操作,配置代码块入参、代码块、出参,完成该操作之后点击【保存】按钮保存行为流
- 入参:out_trade_no = 行为流数据/行为流变量/out_trade_no
- 代码块内容:parseInt 函数解释支付宝支付回调代码 ```javascript const out_trade_no = context.getArg('out_trade_no'); // 获取支付宝订单 id 字符串
const order_id = parseInt(out_trade_no, 10);// 将订单 id 字符串转成整数
context.setReturn('order_id',order_id); // 设置订单 id 的出参 ```
- 出参:order_id (整数类型)
添加回调并复制回调地址
保存了支付宝支付成功的行为流之后,在其【触发器】中添加【支付宝回调】,回调类型选择「支付宝回调」,行为流入参数选择绑定 callback-request-body/out_trade_no 即可,复制回调地址至支付宝设置中
调用支付宝支付行为
在交互行为中找到 支付 - 支付宝 行为,通常在添加「待支付」状态的订单数据成功时调用支付宝支付行为,你的订单表中需要有订单状态、订单描述、订单金额等订单相关的字段 订单编号: 一般为「待支付」状态的订单的ID,即结果数据中的ID 订单标题: 一般为「待支付」状态的订单的订单描述信息,即结果数据中的描述信息 总价: 一般为「待支付」状态的订单的金额,即结果数据中的金额
img | img |
---|---|
![]() |
![]() |
支付宝支付成功时更新订单数据
为了保证支付以及订单数据的安全性,不允许在调用支付宝成功时执行修改表数据行为,即不能在支付宝行为的成功时更新订单数据,所以只能在支付宝支付成功的回调行为流中进行订单数据的更新
在支付宝支付成功的行为流中,添加【更新数据】的操作,更新订单表中的状态以及其他您需要更新的数据,过滤条件即为订单表中的 ID 等于 支付行为流代码块中出参 ID 即可