── 前置:读第一轮的补录句柄 ── 补录乐收赢订单号 = 200001070J1226092816241610001 真实被扫失败单 = 200001070X3126092816241710003 ============================================================================== 【0】先钉一件事:queryorder 的 FAIL 应答 sign 覆盖哪几个字段 ============================================================================== 非 null 字段 = ['return_code', 'return_msg'] 重算 == 上游 : True ⇒ 这两条 FAIL 的 sign 是**常量**(换单号、换 query_trace_no 都不变) ============================================================================== 【1】假设 R1:换 channel_type 补录(各一条),再试退款 ============================================================================== POST /v3/createSupply -> 59 B rc=500 ec={} 无sign键 msg = 商户未配置该通道 POST /v3/createSupply -> 59 B rc=500 ec={} 无sign键 msg = 商户未配置该通道 POST /v3/createSupply -> 168 B rc=None ec=None 无sign键 msg = None POST /v3/createSupply -> 76 B rc=200 ec=200001070J1226092816253210006 无sign键 msg = 操作成功 ch=50(平安) 订单号 = 200001070J1226092816253210006 POST /v3/createSupply -> 59 B rc=500 ec={} 无sign键 msg = 商户未配置该通道 ============================================================================== 【2】每笔补录用 queryorder 复核(必须 PAY_SUCCESS 才值得往下退) ============================================================================== !! 未完成 q-supply-ch50: TimeoutError('The read operation timed out') 查到 PAY_SUCCESS 的:[] ============================================================================== 【3】假设 R1:同一套寻址键(pay_trace_no+pay_trace_time),只换渠道 ============================================================================== ── ch=50(平安) ── !! 未完成 refund-ch50-bytrace: TimeoutError('The read operation timed out') ============================================================================== 【4】假设 R2:换寻址键为 trade_no(含第一轮那笔建行补录) ============================================================================== ── trade_no = 200001070J1226092816241610001 ch=37(一轮建行) ── POST /v3/refundorder -> 462 B rc=SUCCESS ec=PAY_FAIL 验签OK(11) msg = 退款失败:没有查询到符合条件的记录。 ============================================================================== 【5】/v3/queryrefund 两条寻址路(第一轮 bytrace 挂在我把 refund_time 填错) ============================================================================== 第一轮那条退款:refund_no=092816242010004 refund_trace_no=rf162420b076a3 它回显的 pay_time(=发起退款的时间)= 20260928162420 ← 这才是 refund_time 该填的值 POST /v3/queryrefund -> 649 B rc=SUCCESS ec=PAY_IN_PROCESS 验签OK(14) msg = 查询失败:商户号[105000851370940]已注销或待审核 POST /v3/queryrefund -> 649 B rc=SUCCESS ec=PAY_IN_PROCESS 验签OK(14) msg = 查询失败:商户号[105000851370940]已注销或待审核 ============================================================================== 【6】/v3/cancelorder —— 拿一笔**真实的被扫 PAY_FAIL 单**(文档:支付失败会关单) ============================================================================== POST /v3/cancelorder -> 214 B rc=FAIL ec=None 验签OK(2) msg = 暂不支持撤销! POST /v3/queryorder -> 618 B rc=SUCCESS ec=PAY_FAIL 验签OK(16) msg = 支付失败 ============================================================================== 【7】对**已关单**的 H5 单退款(第一轮 closeorder 已把它关了) ============================================================================== H5 单 trade_no = 200001070X4326092816241610002(已被 /v3/closeorder 关闭) POST /v3/refundorder -> 306 B rc=FAIL ec=None sign=null msg = 订单信息不存在! ============================================================================== 【8】/v3/createSupply function_flag=2(补录退款订单)—— 直接造一条退款记录 ============================================================================== POST /v3/createSupply -> 76 B rc=200 ec=200001070J1226092816263510009 无sign键 msg = 操作成功 ============================================================================== 汇总(14 条) ============================================================================== tag path rc/ec note supply-ch6 /v3/createSupply 500/{} 商户未配置该通道; 无sign键 supply-ch1 /v3/createSupply 500/{} 商户未配置该通道; 无sign键 supply-ch2 /v3/createSupply None/None None; 无sign键 supply-ch50 /v3/createSupply 200/200001070J1226092816253210006 操作成功; 无sign键 supply-ch4 /v3/createSupply 500/{} 商户未配置该通道; 无sign键 q-supply-ch50 /v3/queryorder TRANSPORT_ERR TimeoutError('The read operation timed out') refund-ch50-bytrace /v3/refundorder TRANSPORT_ERR TimeoutError('The read operation timed out') refund-tradeno-610001 /v3/refundorder SUCCESS/PAY_FAIL 退款失败:没有查询到符合条件的记录。; 验签OK(11) qrefund-bytrace-fixed /v3/queryrefund SUCCESS/PAY_IN_PROCESS 查询失败:商户号[105000851370940]已注销或待审核; 验签OK(14) qrefund-byno-again /v3/queryrefund SUCCESS/PAY_IN_PROCESS 查询失败:商户号[105000851370940]已注销或待审核; 验签OK(14) cancel-barcode-bytradeno /v3/cancelorder FAIL/None 暂不支持撤销!; 验签OK(2) q-barcode-aftercancel /v3/queryorder SUCCESS/PAY_FAIL 支付失败; 验签OK(16) refund-closed-h5 /v3/refundorder FAIL/None 订单信息不存在!; sign=null supply-flag2 /v3/createSupply 200/200001070J1226092816263510009 操作成功; 无sign键