主题
插件默认提供方法
调用的时候,请按照参数顺序传递即可
helper
字符串和编码
helper.base64_encode
描述:将字符串进行base64编码
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
data | string/number/table | 要编码的数据,如果是表会先转为JSON |
返回值:
返回值类型 | 描述 |
---|---|
string | base64编码后的字符串 |
helper.str_random
描述:生成指定长度的随机字符串
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
count | number | 要生成的随机字符串长度 |
返回值:
返回值类型 | 描述 |
---|---|
string | 指定长度的随机字符串 |
helper.url_encode
描述:对字符串进行URL编码
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
str | string | 需要URL编码的字符串 |
返回值:
返回值类型 | 描述 |
---|---|
string | URL编码后的字符串 |
helper.url_decode
描述:对URL编码的字符串进行解码
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
str | string | URL编码的字符串 |
返回值:
返回值类型 | 描述 |
---|---|
string | 解码后的原始字符串 |
helper.path_encode
描述:对路径进行编码
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
str | string | 需要编码的路径字符串 |
返回值:
返回值类型 | 描述 |
---|---|
string | 编码后的路径字符串 |
helper.path_decode
描述:对编码的路径进行解码
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
str | string | 编码的路径字符串 |
返回值:
返回值类型 | 描述 |
---|---|
string | 解码后的原始路径字符串 |
helper.md5
描述:计算字符串的MD5值
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
str | string | 需要计算MD5的字符串 |
返回值:
返回值类型 | 描述 |
---|---|
string | 32位MD5哈希值 |
时间处理
helper.time_now_small_time
描述:获取当前无冒号的时间
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
timestamp | int | 时间戳,不传递为当前时间 |
返回值:
返回值类型 | 描述 |
---|---|
string | 格式化的时间字符串,格式为"yyyyMMddHHmmss" 如:20091227091010 |
helper.time_now_ymd_time
描述:获取当前日期,
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
timestamp | int | 时间戳,不传递为当前时间 |
返回值:
返回值类型 | 描述 |
---|---|
string | 格式化的日期字符串,格式为"yyyyMMdd" 如: 20091227 |
helper.date
描述:根据指定格式获取时间字符串
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
format | string | 时间格式字符串,此处请注意,这里是按照golang的format格式,如:2006-01-02 15:04:05 |
timestamp | int | 时间戳 |
返回值:
返回值类型 | 描述 |
---|---|
string | 格式化后的时间字符串 |
helper.time_now_datetime
描述:获取当前时间的标准格式字符串
调用参数:无
返回值:
返回值类型 | 描述 |
---|---|
string | 格式化的日期时间字符串,格式为"2006-01-02 15:04:05" |
helper.time_now_timestamp
描述:获取当前时间戳
调用参数:无
返回值:
返回值类型 | 描述 |
---|---|
number | 当前的Unix时间戳(秒) |
helper.time_now_date
描述:获取当前日期时间
调用参数:无
返回值:
返回值类型 | 描述 |
---|---|
table | 当前日期时间对象 |
helper.datetime_to_timestamp
描述:将日期时间转换为时间戳
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
datetime | string | 日期时间字符串,格式为"yyyy-MM-dd HH:mm:ss" |
返回值:
返回值类型 | 描述 |
---|---|
number | Unix时间戳(秒) |
金额转换
helper.amount_str2int
描述:将金额字符串转换为分(整数)
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
amount | string | 金额字符串,如"12.34" |
返回值:
返回值类型 | 描述 |
---|---|
number | 金额的分值(整数),如1234 |
helper.amount_int2str
描述:将分(整数)转换为金额字符串
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
amount | number | 金额的分值(整数),如1234 |
返回值:
返回值类型 | 描述 |
---|---|
string | 金额字符串,如"12.34" |
数据格式转换
helper.xml_to_json
描述:将XML格式转换为JSON格式
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
xml | string | XML格式的字符串 |
返回值:
返回值类型 | 描述 |
---|---|
string | 转换后的JSON字符串 |
正则表达式
helper.regexp_match
描述:使用正则表达式匹配字符串
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
str | string | 要匹配的字符串 |
pattern | string | 正则表达式模式 |
返回值:
返回值类型 | 描述 |
---|---|
boolean | 是否匹配成功 |
helper.regexp_match_group
描述:使用正则表达式匹配字符串并返回分组结果
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
str | string | 要匹配的字符串 |
pattern | string | 正则表达式模式(包含分组) |
返回值:
返回值类型 | 描述 |
---|---|
boolean | 是否匹配成功 |
string | 匹配成功时返回分组结果的JSON字符串,失败返回空字符串 |
RSA加密与验签
helper.rsa_private_sign_base64
描述:使用RSA私钥对内容进行签名并返回Base64编码结果
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
content | string | 要签名的内容 |
privateKey | string | RSA私钥(不含头尾标识行) |
unused | string | 未使用的参数 |
返回值:
返回值类型 | 描述 |
---|---|
string | Base64编码的签名结果,签名失败返回空字符串 |
helper.rsa_public_verify_sign_base64
描述:使用RSA公钥验证Base64编码的签名
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
content | string | 原始内容 |
sign | string | Base64编码的签名 |
publicKey | string | RSA公钥(不含头尾标识行) |
unused | string | 未使用的参数 |
返回值:
返回值类型 | 描述 |
---|---|
boolean | 验证是否成功 |
配置管理
helper.get_plugin_option
描述:获取插件配置项
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
pluginName | string | 插件名称 |
optionName | string | 配置项名称 |
defaultValue | string | 默认值 |
返回值:
返回值类型 | 描述 |
---|---|
string | 配置项的值,如果不存在则返回默认值 |
helper.set_plugin_option
描述:设置插件配置项
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
pluginName | string | 插件名称 |
optionName | string | 配置项名称 |
value | string | 配置项的值 |
返回值:
返回值类型 | 描述 |
---|---|
boolean | 设置是否成功 |
helper.get_option
描述:获取配置项
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
key | string | 配置项的键名 |
返回值:
返回值类型 | 描述 |
---|---|
string | 配置项的值 |
helper.set_option
描述:设置配置项
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
key | string | 配置项的键名 |
value | string | 配置项的值 |
返回值:
返回值类型 | 描述 |
---|---|
boolean | 设置是否成功 |
通道账户管理
helper.channel_account_enable
描述:启用指定渠道账号
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
accountId | int | 渠道账号ID |
返回值:
返回值类型 | 描述 |
---|---|
boolean | 是否启用成功 |
helper.channel_account_disable
描述:禁用指定渠道账号
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
accountId | int | 渠道账号ID |
返回值:
返回值类型 | 描述 |
---|---|
boolean | 是否禁用成功 |
helper.channel_account_offline
描述:设置渠道账号为离线状态
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
accountId | int | 渠道账号ID |
返回值:
返回值类型 | 描述 |
---|---|
boolean | 是否设置成功 |
helper.channel_account_online
描述:设置渠道账号为在线状态
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
accountId | int | 渠道账号ID |
返回值:
返回值类型 | 描述 |
---|---|
boolean | 是否设置成功 |
helper.channel_account_set_option
描述:设置渠道账号的配置选项
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
accountId | int | 渠道账号ID |
key | string | 配置项键名 |
val | string | 配置项值 |
返回值:
返回值类型 | 描述 |
---|---|
boolean | 是否设置成功 |
helper.channel_gateway_addr
描述:获取网关地址
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
gatewayId | string | 网关ID |
返回值:
返回值类型 | 描述 |
---|---|
string | 网关地址,未找到返回空字符串 |
图像处理
helper.save_image_cache_base64
描述:保存Base64编码的图片到缓存目录
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
base64Str | string | Base64编码的图片数据 |
返回值:
返回值类型 | 描述 |
---|---|
boolean | 是否保存成功 |
string | 保存成功返回图片的访问路径,失败返回空字符串 |
helper.url_parse
描述:解析URL字符串
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
uri | string | 要解析的URL字符串 |
返回值:
返回值类型 | 描述 |
---|---|
boolean | 解析是否成功 |
table | 解析结果,包含scheme、host、path、query_str、query等字段 |
HTTP请求
helper.http_request
描述:发送HTTP请求
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
method | string | HTTP方法(GET, POST等) |
uri | string | 请求的URL地址 |
body | string | 请求体内容(GET请求可传空字符串) |
headers | table | 请求头,键值对格式(可传空表) |
返回值:
返回值类型 | 描述 |
---|---|
string | 响应内容 |
number | 错误码,0表示成功,502表示请求失败 |
日志模块(log)
描述:日志模块,用于记录不同级别的日志信息。支持多个参数传入,会自动拼接成字符串。
调用示例:
lua
log.info("a","b",1)
log.info
描述:记录信息级别的日志
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
message | any | 要记录的日志信息 |
返回值:无
log.warning
描述:记录警告级别的日志
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
message | any | 要记录的警告信息 |
返回值:无
log.debug
描述:记录调试级别的日志
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
message | any | 要记录的调试信息 |
返回值:无
log.error
描述:记录错误级别的日志
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
message | any | 要记录的错误信息 |
返回值:无
HTTP
描述:HTTP请求模块,用于发送各种HTTP请求。
http.get
描述:发送GET请求
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
url | string | 请求的URL地址 |
options | table | 请求选项,包含headers等配置 |
返回值:
返回值类型 | 描述 |
---|---|
table | 响应结果,包含body和状态码 |
http.post
描述:发送POST请求
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
url | string | 请求的URL地址 |
options | table | 请求选项,包含headers等配置 |
返回值:
返回值类型 | 描述 |
---|---|
table | 响应结果,包含body和状态码 |
http.put
描述:发送PUT请求
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
url | string | 请求的URL地址 |
options | table | 请求选项,包含headers等配置 |
返回值:
返回值类型 | 描述 |
---|---|
table | 响应结果,包含body和状态码 |
http.delete
描述:发送DELETE请求
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
url | string | 请求的URL地址 |
options | table | 请求选项,包含headers等配置 |
返回值:
返回值类型 | 描述 |
---|---|
table | 响应结果,包含body和状态码 |
http.patch
描述:发送PATCH请求
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
url | string | 请求的URL地址 |
options | table | 请求选项,包含headers等配置 |
返回值:
返回值类型 | 描述 |
---|---|
table | 响应结果,包含body和状态码 |
http.head
描述:发送HEAD请求
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
url | string | 请求的URL地址 |
options | table | 请求选项,包含headers等配置 |
返回值:
返回值类型 | 描述 |
---|---|
table | 响应结果,包含body和状态码 |
http.request
描述:发送自定义方法的HTTP请求
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
method | string | HTTP方法(GET, POST等) |
url | string | 请求的URL地址 |
options | table | 请求选项,包含headers等配置 |
返回值:
返回值类型 | 描述 |
---|---|
table | 响应结果,包含body和状态码 |
http.request_batch
描述:批量发送HTTP请求
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
requests | table | 请求数组,每个元素包含method、url和options |
返回值:
返回值类型 | 描述 |
---|---|
table | 响应结果数组,每个元素包含body和状态码 |
options参数说明:
参数名 | 参数类型 | 参数描述 |
---|---|---|
headers | table | 请求头,键值对格式 |
body | string | 请求体内容 |
query | string | URL查询参数 |
cookies | table | Cookie数据,键值对格式 |
timeout | number/string | 超时时间,支持数字(秒)或字符串格式(如"5s") |
auth | table | 基本认证信息,包含user和pass字段 |
订单助手
订单助手模块提供了订单管理和支付相关的功能函数,分为两个主要模块:orderHelper
和 orderPayHelper
。
orderHelper 模块
描述:订单基础操作助手,提供订单查询、通知处理等功能。
调用示例:
lua
local orderHelper = require("orderHelper")
local code, data = orderHelper.get_out_pay_data("ORDER123456")
orderHelper.get_out_pay_data
描述:获取订单外部支付数据
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
orderId | string | 订单ID |
返回值:
返回值 | 返回类型 | 返回描述 |
---|---|---|
code | number | 状态码(200成功,404失败) |
data | string | 订单外部数据 |
orderHelper.notify_process
描述:处理异步通知
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
notifyData | table | 通知数据 |
- out_trade_no | string | 商户订单号 |
- trade_no | string | 交易流水号 |
- amount | number | 支付金额 |
params | table | 额外参数 |
options | table | 配置选项 |
返回值:
返回值 | 返回类型 | 返回描述 |
---|---|---|
err_code | number | 状态码(200成功,404未找到订单,502处理失败) |
err_message | string | 错误信息 |
response | string | 处理状态(success/fail) |
调用案例
lua
-- 通知订单处理完成
local err_code, err_message, response = orderHelper.notify_process(json.encode({
out_trade_no = trade_no,
trade_no = out_trade_no,
amount = money,
}), pParams, pluginOptions)
orderHelper.reset_order_tmp_amount
描述:重置订单临时金额,用于需要重新设置汇率不同等情况导致的金额不一致问题
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
orderId | string | 订单ID |
start | number | 新的起始金额 |
返回值:
返回值 | 返回类型 | 返回描述 |
---|---|---|
success | boolean | 是否成功 |
amount | number | 生成的金额 |
调用案例
lua
-- 重置临时金额
local res, newAmount = orderHelper.reset_order_tmp_amount(orderInfo.order_id, amount * 100)
if res ==false then
return json.encode({
err_code = 500,
err_message = "重置临时金额失败"
})
end
orderHelper.report
描述:推送订单通知消息
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
accountInfo | table | 渠道账号信息 |
- id | int | 通道账号ID |
- uid | int | 所属用户ID |
params | table | 通知参数 |
- amount | int | 支付金额 |
- pay_type | string | 支付类型(qqpay/alipay/wxpay) |
- channel_code | string | 支付方式 |
- remark | string | 备注信息 |
- pay_time | string | 支付时间 |
- coll_user | string | 收款账号 |
- pay_user | string | 付款账号 |
- uid | string | 用户ID |
- order_id | string | 订单ID |
- out_order_id | string | 外部订单号 |
- channel_account_id | int | 渠道账号ID |
- timestamp | string | 时间戳 |
返回值:
返回值 | 返回类型 | 返回描述 |
---|---|---|
success | boolean | 是否成功 |
orderPayHelper 模块
描述:订单支付助手,提供第三方订单管理和各支付渠道接口。
调用示例:
lua
local orderPayHelper = require("orderPayHelper")
local exists = orderPayHelper.third_order_exist({third_id = "123456"})
orderPayHelper.third_order_exist
描述:检查第三方订单是否存在
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
params | table | 查询参数 |
- uid | int | 用户ID |
- account_id | int | 账号ID |
- third_order_id | string | 第三方订单ID |
- pay_type | string | 支付类型 |
- channel_code | string | 支付渠道代码 |
- third_account | string | 第三方账号 |
返回值:
返回值 | 返回类型 | 返回描述 |
---|---|---|
exists | boolean | 订单是否存在 |
orderPayHelper.third_order_insert
描述:插入第三方订单 调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
params | table | 订单数据 |
- pay_type | string | 支付类型 |
- channel_code | string | 支付渠道代码 |
- uid | int | 用户ID |
- account_id | int | 账号ID |
- third_account | string | 第三方账号 |
- buyer_id | string | 买家ID |
- buyer_name | string | 买家名称 |
- out_order_id | string | 外部订单号 |
- third_order_id | string | 第三方订单号 |
- amount | int | 支付金额 |
- remark | string | 备注信息 |
- trans_time | int | 交易时间 |
- type | string | 订单类型 |
返回值:
返回值 | 返回类型 | 返回描述 |
---|---|---|
id | number | 插入的订单ID |
orderPayHelper.third_order_report
描述:上报第三方订单
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
id | number | 订单ID |
返回值:
返回值 | 返回类型 | 返回描述 |
---|---|---|
code | number | 状态码(200成功,500失败) |
message | string | 处理结果消息 |
orderPayHelper.get_toapp_url
描述:获取toapp URL
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
orderId | string | 订单ID |
host | string | 主机地址 |
返回值:
返回值 | 返回类型 | 返回描述 |
---|---|---|
url | string | 完整的toapp URL |
orderPayHelper.jdsyt_check
描述:京东收银台订单检查
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
checkOrderInfo | string | 订单检查信息(JSON格式) |
pluginOptions | string | 插件配置选项(JSON格式) |
返回值:
返回值 | 返回类型 | 返回描述 |
---|---|---|
code | number | 状态码(200成功,500失败) |
message | string | 处理结果消息 |
说明:
- 检查订单支付状态
- 支持订单金额校验
- 支持订单支付完成处理
- 支持订单异常处理(如金额不匹配等)
orderPayHelper.alipay_bill_list
描述:获取支付宝账单列表
调用参数:根据具体实现确定
返回值:根据具体实现确定
支付宝系列接口
描述:支付宝各场景支付接口,包括wap、pc、dmf、prepay等
orderPayHelper.alipay_wap_create / orderPayHelper.alipay_pc_create / orderPayHelper.alipay_dmf_create / orderPayHelper.alipay_prepay_create
描述:创建支付宝订单(分别对应手机网页支付、电脑网页支付、当面付、预支付)
orderPayHelper.alipay_wap_notify / orderPayHelper.alipay_pc_notify / orderPayHelper.alipay_dmf_notify / orderPayHelper.alipay_prepay_notify
描述:处理支付宝订单通知(分别对应手机网页支付、电脑网页支付、当面付、预支付)
微信支付系列接口
描述:微信支付各场景接口,包括native_v3和jsapi等
orderPayHelper.wxpay_native_v3_create / orderPayHelper.wxpay_jsapi_create
描述:创建微信支付订单(分别对应原生支付V3和JSAPI支付)
orderPayHelper.wxpay_native_v3_notify / orderPayHelper.wxpay_jsapi_notify
描述:处理微信支付订单通知(分别对应原生支付V3和JSAPI支付)
URL 模块(url)
描述:URL模块,用于处理URL相关的操作,包括解析、构建URL、生成查询字符串和解析相对URL等功能。
url.parse
描述:解析URL字符串,返回包含URL各个组成部分的表
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
url | string | 要解析的URL字符串 |
返回值:
返回值类型 | 返回值描述 |
---|---|
table/nil | 包含URL各部分的表,解析失败时返回nil |
string | 解析失败时返回错误信息 |
返回的表包含以下字段:
- scheme: URL的协议(如http、https)
- username: URL中的用户名(如果有)
- password: URL中的密码(如果有)
- host: URL的主机名和端口
- path: URL的路径部分
- query: URL的查询字符串部分
- fragment: URL的片段标识符
url.build
描述:根据提供的组件构建URL字符串
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
options | table | 包含URL各个组成部分的表 |
options表可包含以下字段:
- scheme: URL的协议(如http、https)
- username: URL中的用户名
- password: URL中的密码
- host: URL的主机名和端口
- path: URL的路径部分
- query: URL的查询字符串部分
- fragment: URL的片段标识符
返回值:
返回值类型 | 返回值描述 |
---|---|
string | 构建的URL字符串 |
url.build_query_string
描述:根据提供的表构建URL查询字符串
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
options | array[key=>value] | 包含查询参数的表 |
返回值:
返回值类型 | 返回值描述 |
---|---|
string | 构建的URL查询字符串 |
url.resolve
描述:解析相对URL,将相对URL解析为绝对URL
调用参数:
参数 | 参数类型 | 参数描述 |
---|---|---|
from | string | 基础URL(绝对URL) |
to | string | 相对URL |
返回值:
返回值类型 | 返回值描述 |
---|---|
string/nil | 解析后的绝对URL,解析失败时返回nil |
string | 解析失败时返回错误信息 |