"""USDT (TRC20) 渠道:唯一金额生成。 USDT 无支付平台回调,到账由服务端每 15s 轮询 TronGrid 完成 (settle_service.poll_usdt_deposits,随 main.py lifespan 启动): 匹配条件 = 收款地址一致 + 金额(含尾差)精确相等 + 转账时间在订单有效期内 + 交易已固化(≥19 确认); 匹配成功即入账(tx_hash 写入 third_trade_no,唯一索引保证幂等)。 后台另有"人工补单"入口兜底(链上查询异常时手动核实入账)。 """ import random from decimal import ROUND_HALF_UP, Decimal def gen_usdt_amount(amount_yuan: int, rate: Decimal) -> Decimal: """base(元/汇率) + 随机尾差(0.001~0.999),保留 3 位小数;有效期内金额唯一用于订单匹配""" base = (Decimal(amount_yuan) / rate).quantize(Decimal("0.001"), rounding=ROUND_HALF_UP) tail = Decimal(random.randint(1, 999)) / Decimal(1000) return base + tail