/api/v1/order/create 请求鉴权
请求必须包含 X-Bolt-Key、X-Bolt-Timestamp 和 X-Bolt-Signature。请使用当前毫秒时间戳,并对时间戳与请求体原文生成签名。
精确金额匹配
为什么接口返回的支付金额可能会多一点
入门方案
3 位固定
专业方案
2-6 位可调
系统会按金额识别精度向上取整;同一网络、币种和收款钱包下,如有待支付订单使用相同金额,会再增加小额差值以区分订单。返回的应付金额不会低于提交的原始金额。免费版固定使用 3 位识别精度,会员可选择 2–6 位。请以接口返回的 payment.amount 为准。
匹配流程
创建订单
1amount
后端提交原始结算金额,BoltUtil 返回链上应付金额。
展示收银台
2payment.amount
前端展示返回的精确金额、网络和收款地址。
链上对账
3Webhook
监听器按网络、地址、Token、金额和状态完成通知。
接入注意事项
请展示创建订单响应中的 payment.amount,而不是请求中的 amount 或原始商品价格。
不要四舍五入、截断或移除这部分很小的小数偏移。
修改偏移位只影响新创建订单,不会重算已有待支付订单。
收到 Webhook 后,先验证签名并处理重复通知,再根据 externalOrderId 和已确认的付款状态完成交付;待确认付款不代表支付成功。
01. 请求参数
JSON Payload商品或业务订单的原始金额,单位为 currency 指定的币种。建议以字符串传入,避免浮点精度损失。付款方应支付响应中的 payment.amount,而非直接使用此值。
您的业务系统订单 ID,用于关联 BoltUtil 订单。订单查询使用 externalOrderId;创建响应以 merchantExternalId 返回,Webhook 以 externalOrderId 返回。
选择付款网络,传入下方可选值之一,使用大写代码。例如 Base 传 BASE,Ethereum 传 ERC20。
填写示例
"network": "BASE"选择收款币种,只传 USDT 或 USDC。网络由 network 单独指定。
填写示例
"currency": "USDC"可选的订单商品或业务摘要,供订单记录使用。当前收银台不展示此字段。
该订单的 Webhook 接收地址。传入时使用此地址,否则使用商户后台已启用的默认地址。
支付完成或用户主动返回时,收银台会将浏览器跳转至此 URL。该地址仅用于页面跳转,不代表支付结果。
订单从创建起保持可支付状态的分钟数。免费版固定为 30 分钟,专业版会员可在 15-60 分钟范围内设置。
商户自定义的 JSON 数据。BoltUtil 不修改其内容,并会在创建订单响应、订单查询结果及 Webhook 回调中原样返回。
02. 响应字段
application/jsondata.payment { ... }
data.time { ... }
常见错误
以下为常见情况,实际以 HTTP 状态码和响应中的 code、message 为准。错误响应不是付款结果;请求失败时请先定位原因。
- 401:检查 API Key、原始正文签名以及当前毫秒时间戳;与服务器时间差不能超过 5 分钟。
- 400:externalOrderId 已存在。请查询原订单状态,避免把同一业务重复创建为新订单。
- 400:检查必填参数、网络与币种是否可用、收款钱包以及已启用的 Webhook 配置。
- 429:请求触发频率限制,或当前免费套餐的每日订单创建额度已用尽。请结合业务错误码与 message 判断。