Files

33 lines
1.5 KiB
Python

"""YYB 下单和付款失败响应的统一归类。"""
from __future__ import annotations
def describe_payment_failure(provider: str, phase: str, response: object) -> str:
"""根据已保存的响应内容返回不会诱导连续重试的失败说明。"""
text = str(response)
is_qq = provider.lower() in {"qq", "qc"}
if "1099-1007-0" in text or "ret=1099" in text:
if is_qq:
return (
"QQ 支付请求被风控/限流暂时拦截(1099-1007-0),未生成微信付款码;"
"请停止连续重试,等待 30-60 分钟后再使用新订单尝试。"
)
return "微信支付请求被服务端拒绝(1099-1007-0),未生成微信付款码;请查看本次请求证据。"
if "10007" in text:
if is_qq:
return (
"QQ 商城下单被支付侧暂时拒绝(10007 系统繁忙),未创建可付款订单;"
"请停止连续重试,等待 30-60 分钟后再尝试。"
)
return "商城下单被暂时拒绝(10007 系统繁忙),未创建可付款订单;请稍后重试。"
if "10014" in text or "gamerole err" in text:
return "角色或区服校验失败(10014),未创建可付款订单;请重新选择角色和区服。"
if phase == "order":
return "商城订单创建失败,未创建可付款订单;请查看任务日志中的业务码。"
return "微信付款码生成失败;请查看任务日志中的业务码。"