主题
支付模板预设变量说明
本节详细介绍支付模板中可用的预设变量,包括其类型、用途及典型示例,帮助开发者高效、安全地进行模板开发。
变量语法规范
模板变量统一采用 ${.变量名}
语法,其中:
${
}
:变量包裹符号,固定格式。.
:变量作用域起始标识。变量名
:具体变量名称。
1. 资源与路径相关变量
变量名 | 类型 | 说明 | 示例值 |
---|---|---|---|
templateAssets | string | 当前主题静态资源目录 | /templates/pay/default/assets |
templateRoot | string | 当前主题根目录 | /templates/pay/default |
domain | string | 当前访问域名 | pay.xarr.cn |
baseUrl | string | 请求基础网址(含协议) | https://pay.xarr.cn |
2. 订单信息对象:orderInfo
orderInfo
为订单核心信息对象,字段如下:
字段 | 类型 | 说明 | 示例值 |
---|---|---|---|
order_id | string | 订单唯一 ID | 202406010001 |
uid | int | 用户 ID | 10001 |
status | int | 订单状态码(见下表) | 2 |
status_text | string | 订单状态文本 | 支付完成 |
trade_amount | int | 交易金额(分)——用户需支付金额 | 1000 |
trade_amount_text | string | 交易金额(元) | 10.00 |
actual_amount | int | 实际支付金额(分) | 1000 |
actual_account | string | 外部收款账号 | alipay@xxx |
actual_account_type | string | 外部收款账号类型 | 支付宝 |
amount | int | 订单金额(分) | 1000 |
itime | int | 创建时间戳(秒) | 1717219200 |
utime | int | 更新时间戳(秒) | 1717219300 |
pay_time | int | 支付时间戳(秒) | 1717219400 |
expire_time | int | 过期时间戳(秒) | 1717220000 |
pay_type | string | 支付方式标识 | alipay |
pay_type_info | object | 支付方式详细信息(见下表) | |
subject | string | 订单标题 | 商品购买 |
out_order_id | string | 外部订单号 | EXT20240601 |
account_id | int | 账户 ID | 20001 |
channel_code | string | 通道代码 | ALI_QR |
api_type | string | API 类型 | native |
third_open_id | string | 第三方 OpenID | openid_xxx |
return_uri | string | 支付完成后返回 URI 请不要在页面直接展示,否则可能会出现盗刷问题 | /order/return |
plugin_name | string | 支付插件名称 | alipay_plugin |
2.1 支付方式信息对象:pay_type_info
字段 | 类型 | 说明 | 示例值 |
---|---|---|---|
logo | string | 支付方式 logo | /assets/alipay.png |
label | string | 支付方式标签 | 支付宝 |
value | string | 支付方式值 | alipay |
3. 订单状态码说明(orderStatus)
状态码 | 说明 |
---|---|
1 | 待支付 |
2 | 支付完成 |
3 | 关闭 |
4 | 超时 |
5 | 创建失败 |
4. 通道账号信息对象:channelAccountInfo
字段 | 类型 | 说明 | 示例值 |
---|---|---|---|
name | string | 通道账号名称 | 商户A |
status | int | 状态(1 启用/2 禁用) | 1 |
remark | string | 备注 | 主账号 |
bind_client_name | string | 绑定客户端名称 | 客户端X |
5. 其他常用变量
变量名 | 类型 | 说明 | 示例值 |
---|---|---|---|
contact | string | 联系方式(如 QQ) | 123456 |
server_time | int | 服务器时间戳(秒) | 1717219500 |
6. 变量使用示例
html
<!-- 引用静态资源 -->
<script src="${.templateAssets}/js/main.js"></script>
<!-- 显示订单金额(元) -->
<span>应付金额:${.orderInfo.trade_amount_text} 元</span>
<!-- 显示支付方式logo -->
<img src="${.orderInfo.pay_type_info.logo}" alt="支付方式" />
<!-- 显示服务器时间 -->
<span>当前时间:${.server_time}</span>
7. 变量扩展与安全建议
- 所有变量均由后端统一注入,模板中无需自行声明。
- 建议优先使用
trade_amount_text
(元)进行金额展示,避免分/元混淆。 - 变量如为对象,访问其属性请用点号(如
${.orderInfo.status_text}
)。 - 若需扩展变量,请联系后端开发团队,避免直接在模板中硬编码。