Files
2026-10-16 13:51:00 +08:00

17 lines
862 B
Python

"""USDT (TRC20) 渠道:唯一金额生成。
USDT 无支付平台回调,到账依赖服务端轮询 TronGrid(每 15s):
匹配条件 = 收款地址一致 + 金额(含尾差)精确相等 + 转账时间在订单有效期内 + 确认数 >= 19;
匹配成功即入账(tx_hash 写入 third_trade_no,唯一索引保证幂等)。
当前以 Celery worker 部署后实现轮询任务;开发期可用后台"人工补单"入账。
"""
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