开发文档
开放接口文档
收银台下单、API 下单、订单查询、退款、通知、签名和 WordPress 插件
内容与商户控制台保持同步。所有接口和签名都必须由商户服务端调用,不要在浏览器暴露商户 KEY。
notifyUrl 非必填;未配置回调时,商户必须通过查询订单接口主动确认支付结果。
当前支持:扫码支付、JSAPI 支付和支付宝 H5 支付;支付宝 H5 支付支持全部主体,暂不支持微信外浏览器 H5 支付。
主网关https://jpay.hzjianban.com
备用网关(支持 IPv6)https://api.jian-pay.com
关闭订单 / 支付截止时间
关闭未付款订单;已支付订单应使用退款接口。
商户关单接口
POST /open/payment/pay/close| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| 商户号 clientNo | string | 是 | 当前订单所属商户号。 |
| orderId | string | 二选一 | 简付平台订单号,即下单接口返回的 orderId。 |
| merchantOrderNo | string | 二选一 | 商户下单时传入的 orderNo;与 orderId 至少填写一个。 |
| timestamp | string | 否 | 请求时间戳,建议传。 |
| sign | string | 是 | MD5 签名结果,小写。 |
| sign_type | string | 是 | 固定传 MD5。 |
服务端签名请求
响应参数(其余字段同查询订单)
| 字段 | 类型 | 必返 | 说明 |
|---|---|---|---|
| code | number | 是 | 1000 表示请求处理成功,关单结果以订单状态为准。 |
| message | string | 是 | 返回消息。 |
| data.orderId | string | 是 | 简付平台订单号。 |
| data.merchantOrderNo | string | 是 | 商户下单时传入的 orderNo。 |
| data.clientNo | string | 是 | 订单所属商户号。 |
| data.amount | number | 是 | 订单金额,单位分。 |
| data.status | number | 是 | 订单状态:0-待发起,1-处理中,2-支付成功,3-支付失败,4-已关闭。 |
| data.statusText | string | 是 | 订单状态说明。 |
| data.serverTime | number | 是 | 服务端当前 Unix 秒级时间戳;倒计时应以此校时,不依赖浏览器时区或设备时钟。 |
| data.payExpireAt | number/null | 是 | 保存的支付截止时间(Unix 秒);历史订单无可靠截止时间时返回 null。到期不等于关单已经确认。 |
| data.closeStatus | string | 是 | NONE 未申请关单;PROCESSING 关单处理中;CLOSED 平台已关闭或关单已确认,结合 localClosed、closeConfirmed 区分;PAID 订单已付款。 |
| data.closeConfirmed | boolean | 是 | 是否已获得安全关单确认,需同时检查 status=4。汇付仅本地关闭时为 false,不能据此保证上游已关闭。 |
| data.localClosed | boolean | 是 | 是否为汇付平台本地关闭;true 时不再发起汇付关单,但后续真实支付成功仍会更新订单并通知商户。 |
| data.errorMessage | string | 否 | 支付失败或订单关闭的原因,无内容时为空字符串。 |
关闭成功示例
汇付本地关闭示例
区分平台关闭与渠道确认
- code=1000 仅表示请求处理成功。status=4 且 closeConfirmed=true 表示已获得安全关单确认。
- 汇付订单采用平台本地关闭,不再调用汇付关单接口。status=4、localClosed=true 表示平台已停止该订单支付入口,closeConfirmed=false,不代表上游交易已经关闭。
- 本地关闭后仍会接收真实支付结果;如随后付款成功,订单会更新为支付成功并通知商户。库存处理需覆盖迟到付款,按业务决定履约或退款。
- closeStatus=PROCESSING 时仍可能付款成功,不要释放库存;稍后通过 /open/payment/pay/info 查询。
- status=2 或 closeStatus=PAID 表示订单已付款,不能再取消支付,应按需走退款。
- 关单不发送支付成功回调;重复关单安全,原订单号不可重新用于下单。
支付截止时间
- 下单时可传 payExpireAt(Unix 秒级时间戳),范围为未来 1 分钟至 24 小时;不传默认 15 分钟,重试不能延长。
- 5 分钟有效期:在服务端计算 Math.floor(Date.now() / 1000) + 300,并参与签名。
- 倒计时使用 payExpireAt 和 serverTime,不需要按时区加减时间;到期后仍需查询并确认关单结果。
