REST API文档
通用响应结构
所有API接口返回统一的响应结构:
响应字段
code: 响应状态码
1: 成功
0: 一般错误
msg: 响应消息
data: 响应数据对象
systemTime: 服务器时间戳(毫秒)
签名计算方法
所有需要签名的请求遵循以下规则:
将所有参数按键名字母顺序排序
将参数以"键=值"格式用"&"连接
在字符串末尾附加密钥
计算最终字符串的SHA-256哈希值
示例:
部分sign计算的示例代码
1. 获取支付地址(如果不需要Payment UI,只是展示支付二维码)
接口: GET
/api/v1/address/{id}
描述: 获取指定订单的支付地址
参数:
id
: 订单ID (路径变量)
返回值:
成功: 链类型到钱包地址的映射
失败: "Not found" (未找到订单)
返回示例:
2. 创建支付订单
接口: POST
/api/v1/order
访问限制: 每分钟60次
请求体: PaymentDTO
验证:
时间戳必须在5分钟内
签名必须有效
nonce不能重复
返回值:
成功: 支付订单详情及钱包地址
失败: 错误信息及原因
返回示例:
3. 查询订单状态
接口: GET
/api/v1/order/{id}/status
描述: 获取支付订单当前状态
参数:
id
: 订单ID (路径变量)
返回值:
成功: 订单状态 (待支付、已支付、已过期等)
失败: "Order not found" (订单未找到)
返回示例:
4. 退款接口
接口: POST
/api/v1/refund
描述: 对已支付订单进行全额或部分退款
请求体: RefundDTO
字段说明:
id
: 支付系统订单ID(如提供oid则可选)oid
: 商户订单号(如提供id则可选)amount
: 退款金额(必须小于等于原支付金额)remark
: 退款原因或备注timestamp
: 当前时间戳(毫秒)nonce
: 随机字符串,防止重放攻击sign
: 请求签名
验证要求:
id
和oid
必须提供其中之一退款金额必须为正数且不超过原支付金额
订单状态必须为已支付
签名必须有效
返回示例:
错误返回示例:
以下接口为提现功能相关接口。 注意, 考虑到保存热钱包的不安全性,Beaver Payment支付系统暂时不支持向用户发送资金。以下接口仅用于集成到用户现有的资金发放系统,用于记账使用。
提现资金请使用专业的现金发放系统。
5. 提现申请
接口: POST
/api/v1/withdraw/apply
描述: 提交提现申请
请求体: WithdrawApplication
字段说明:
uid
: 用户IDamount
: 提现金额to
: 目标钱包地址chainId
: 区块链网络IDchainType
: 链类型(EVM/TRON)token
: 代币合约地址notifyUrl
: 提现状态更新回调地址timestamp
: 当前时间戳(毫秒)nonce
: 随机字符串,防止重放攻击sign
: 请求签名
验证要求:
金额必须为正数
有效的区块链地址
用户余额必须足够
签名必须有效
返回示例:
6. 确认提现
接口: POST
/api/v1/withdraw/confirm
描述: 使用交易哈希确认待处理的提现
请求体: WithdrawConfirmDTO
字段说明:
logId
: 提现记录IDtxHash
: 区块链上的交易哈希blockNumber
: 交易的区块号timestamp
: 当前时间戳(毫秒)nonce
: 随机字符串sign
: 请求签名
返回示例:
7. 拒绝提现
接口: POST
/api/v1/withdraw/reject
描述: 拒绝待处理的提现申请
请求体: WithdrawReject
字段说明:
id
: 提现记录IDtimestamp
: 当前时间戳(毫秒)nonce
: 随机字符串sign
: 请求签名
返回示例:
Last updated