重复请求与结果确认
| 情况 | 结果与建议做法 |
|---|---|
| 使用已用过的商户单号再次建单 | 返回 merchant_order_no_duplicate,无论原订单状态如何,也不比对内容(金额不同也一样)。不会生成第二笔订单。响应不附带原订单数据,请用商户单号查单。 |
建单请求超时、连接中断,或收到 internal_error | 不要直接视为失败。用同一个商户单号查单:查得到则以查单结果为准(待付款且尚未到失效时间的订单,查单会附上付款网址或收款账号,可以继续让付款人支付该订单,见查单);返回 order_not_found 表示 ST Pay 没有创建该订单,可以用同一个商户单号重新建单。 |
| 订单被拒绝后要重新发起 | 必须使用新的商户单号。 |
| 商户单号的唯一性范围 | 同一商户内,代收单与代付单各自不能重复;订单超过 6 个月被删除后,该单号可以再次使用。 |
| 重复调用查单 | 只读,每次返回当前状态,不会产生任何变更。 |
| 几乎同时提交多个相同商户单号的建单请求 | 依次处理,只有第一个成功,其余返回 merchant_order_no_duplicate。 |
| 同一笔订单收到多次 Callback | 以 order_no 加 status 判断是否已处理过,重复的直接返回 ok。 |